| Overall Statistics |
|
Total Trades 48 Average Win 1.48% Average Loss -1.66% Compounding Annual Return 2.744% Drawdown 16.100% Expectancy 0.209 Net Profit 14.515% Sharpe Ratio 0.378 Probabilistic Sharpe Ratio 5.925% Loss Rate 36% Win Rate 64% Profit-Loss Ratio 0.89 Alpha 0.024 Beta 0.003 Annual Standard Deviation 0.064 Annual Variance 0.004 Information Ratio -0.702 Tracking Error 0.18 Treynor Ratio 8.136 Total Fees $0.00 Estimated Strategy Capacity $570000.00 Lowest Capacity Asset EURUSD 8G |
import math
class BootCampTask(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2016, 6, 9)
self.SetEndDate(2021, 6, 9)
self.SetCash(100000)
self.AddForex("EURUSD", Resolution.Daily)
self.ema = self.EMA("EURUSD", 20, Resolution.Daily)
self.SetWarmup(20)
def OnData(self, data):
if self.IsWarmingUp:
return
buy_price = round(self.ema.Current.Value * 0.99, 2)
sell_price = round(self.ema.Current.Value * 1.01, 2)
self.Transactions.CancelOpenOrders()
if self.Portfolio["EURUSD"].Quantity <= 0:
quantity = self.Portfolio.TotalPortfolioValue / buy_price - self.Portfolio["EURUSD"].Quantity
quantity = math.floor(quantity);
self.LimitOrder("EURUSD", quantity, buy_price);
elif self.Portfolio["EURUSD"].Quantity > 0:
quantity = -self.Portfolio.TotalPortfolioValue / sell_price - self.Portfolio["EURUSD"].Quantity
quantity = math.ceil(quantity)
self.LimitOrder("EURUSD", quantity, sell_price)