Overall Statistics |
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% Sharpe Ratio 0 Probabilistic Sharpe Ratio 0% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio -0.81 Tracking Error 0.1 Treynor Ratio 0 Total Fees $0.00 |
from clr import AddReference AddReference("System") AddReference("QuantConnect.Algorithm") AddReference("QuantConnect.Common") from System import * from QuantConnect import * from QuantConnect.Algorithm import * from QuantConnect.Data.Consolidators import * from datetime import timedelta from QuantConnect.Indicators import CommodityChannelIndex, Stochastic class NotebookProject(QCAlgorithm): cons = None def Initialize(self): self.SetTimeZone("Europe/London") self.SetBrokerageModel(BrokerageName.OandaBrokerage) self.SetStartDate(DateTime(2020, 6, 19)) #Set Start Date self.SetEndDate(self.StartDate + timedelta(3)) #Set End Date self.wticousd = self.AddCfd("WTICOUSD", Resolution.Minute, Market.Oanda) self.wticousd.SetDataNormalizationMode(DataNormalizationMode.Raw) thirtyMinuteConsolidator = QuoteBarConsolidator(timedelta(minutes=30)) thirtyMinuteConsolidator.DataConsolidated += self.ThirtyMinuteQuoteBarHandler self.SubscriptionManager.AddConsolidator("WTICOUSD", thirtyMinuteConsolidator) self.sto = Stochastic("WTICOUSD", 21, 21, 39) self.cci = CommodityChannelIndex("WTICOUSD", 200) #self.RegisterIndicator("WTICOUSD", self.sto, thirtyMinuteConsolidator) #self.RegisterIndicator("WTICOUSD", self.cci, thirtyMinuteConsolidator) self.SetWarmup(200*30, Resolution.Minute) def OnData(self, data): #self.Debug(f"{self.Time} >> {cons.Open} && {cons.Close}") pass def ThirtyMinuteQuoteBarHandler(self, sender, consolidated): self.sto.Update(consolidated) self.cci.Update(consolidated) sto_value = self.sto.Current.Value #cci_value = self.cci.Current.Value if self.IsWarmingUp: return if self.Time.month == 6 and self.Time.day == 19 and self.Time.hour >= 20: #self.Debug(f'{self.Time} >> STO >> {sto_value} CCI >> {cci_value}') self.Debug(f'{self.Time} >> STO >> {sto_value}') #if not self.sto.IsReady: # return #sto_value = self.sto.StochK #cci_value = self.cci.Current.Value #self.Debug(f'{self.Time} >> {sto_value}') #self.Debug(f"{self.Time} >> {consolidated.Open} && {consolidated.Close}") #self.cons = consolidated