Overall Statistics |
Total Trades 37 Average Win 0.01% Average Loss 0% Compounding Annual Return -0.032% Drawdown 0.300% Expectancy 0 Net Profit -0.015% Sharpe Ratio -0.057 Probabilistic Sharpe Ratio 20.852% Loss Rate 0% Win Rate 100% Profit-Loss Ratio 0 Alpha 0 Beta -0.009 Annual Standard Deviation 0.004 Annual Variance 0 Information Ratio -0.022 Tracking Error 0.018 Treynor Ratio 0.028 Total Fees $0.00 |
from Alphas.EmaCrossAlphaModel import EmaCrossAlphaModel from datetime import datetime,timedelta import numpy as np from System.Collections.Generic import List from QuantConnect.Data.UniverseSelection import* from System import * #class ResistanceMultidimensionalReplicator(QCAlgorithm): class ScheduledEventsAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2020, 1, 1) # Set Start Date self.SetEndDate(2020, 6, 22) # Set end date self.SetCash(1000000) # Set Strategy Cash self.forex = self.AddForex("USDCAD", Resolution.Minute, Market.Oanda) self.SetBrokerageModel(BrokerageName.OandaBrokerage) self.EMA8 = self.EMA("USDCAD", 8, Resolution.Minute) self.EMA55 = self.EMA("USDCAD", 55, Resolution.Minute) self.SetBenchmark("USDCAD") self.SetWarmUp(55) self.Schedule.On(self.DateRules.Every(DayOfWeek.Monday), self.TimeRules.At(0, 24), self.SpecificTime) def OnData(self, data): if self.IsWarmingUp: return #self.SetHoldings("USDCAD", 50) def SpecificTime(self): self.Plot('Custom', 'EMA8', self.EMA8.Current.Value) self.Plot('Custom', 'EMA55', self.EMA55.Current.Value) if not self.Portfolio.Invested: if self.EMA8.Current.Value>self.EMA55.Current.Value: self.MarketOrder("USDCAD", 100000) self.stopLimitTicket = self.LimitOrder("USDCAD", -100000, self.Securities["USDCAD"].Close+0.0011) if self.EMA8.Current.Value<self.EMA55.Current.Value: self.MarketOrder("USDCAD", -100000) self.stopLimitTicket = self.LimitOrder("USDCAD", 100000, self.Securities["USDCAD"].Close-0.0011)