| Overall Statistics |
|
Total Trades 128 Average Win 2.83% Average Loss -3.66% Compounding Annual Return 22.557% Drawdown 43.600% Expectancy 0.243 Net Profit 176.795% Sharpe Ratio 0.908 Probabilistic Sharpe Ratio 33.001% Loss Rate 30% Win Rate 70% Profit-Loss Ratio 0.77 Alpha 0.204 Beta -0.01 Annual Standard Deviation 0.223 Annual Variance 0.05 Information Ratio 0.18 Tracking Error 0.281 Treynor Ratio -20.673 Total Fees $0.00 Estimated Strategy Capacity $660000.00 Lowest Capacity Asset EURUSD 8G |
class BootCampTask(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2016, 6, 1)
self.SetEndDate(2021, 6, 1)
self.SetCash(10000)
self.AddForex("EURUSD", Resolution.Hour)
self.stochastic = self.STO("EURUSD", 240, Resolution.Hour)
self.SetWarmup(240)
def OnData(self, data):
if self.IsWarmingUp:
return
if self.stochastic.IsReady == False:
return
if self.stochastic.Current.Value < 20:
if self.Portfolio["EURUSD"].Invested == False:
self.MarketOrder("EURUSD", 50000)
elif self.Portfolio["EURUSD"].IsShort:
self.MarketOrder("EURUSD", 100000);
elif self.stochastic.Current.Value > 80:
if self.Portfolio["EURUSD"].Invested == False:
self.MarketOrder("EURUSD", -50000)
elif self.Portfolio["EURUSD"].IsLong:
self.MarketOrder("EURUSD", -100000);
def OnOrderEvent(self, orderEvent):
if orderEvent.Status == OrderStatus.Filled:
self.Debug("Euros=" + str(self.Portfolio.CashBook["EUR"].Amount))
self.Debug("Dollars=" + str(self.Portfolio.CashBook["USD"].Amount))