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 6.29 Tracking Error 0.116 Treynor Ratio 0 Total Fees $0.00 |
from datetime import timedelta from QuantConnect.Indicators import CommodityChannelIndex, Stochastic from QuantConnect.Data import Slice class NotebookProject(QCAlgorithm): wti_thirtyMinute = None naturalgas_thirtyMinute = None gold_thirtyMinute = None wticcousd_symbol = "WTICOUSD" naturalgas_symbol = "NATGASUSD" gold_symbol = "XAUUSD" def Initialize(self): self.SetTimeZone("Europe/London") self.SetBrokerageModel(BrokerageName.OandaBrokerage) self.SetStartDate(datetime.now() - timedelta(2)) #Set Start Date self.SetEndDate(datetime.now()) #Set End Date self.wticousd = self.AddCfd("WTICOUSD", Resolution.Minute, Market.Oanda) self.gold = self.AddCfd("XAUUSD", Resolution.Minute, Market.Oanda) self.wticousd.SetDataNormalizationMode(DataNormalizationMode.Raw) self.gold.SetDataNormalizationMode(DataNormalizationMode.Raw) #WEST TEXAS thirtyMinuteConsolidator = QuoteBarConsolidator(timedelta(minutes=30)) thirtyMinuteConsolidator.DataConsolidated += self.ThirtyMinuteQuoteBarHandler self.SubscriptionManager.AddConsolidator("WTICOUSD", thirtyMinuteConsolidator) #GOLD gold_thirtyMinuteConsolidator = QuoteBarConsolidator(timedelta(minutes=30)) gold_thirtyMinuteConsolidator.DataConsolidated += self.gold_ThirtyMinuteQuoteBarHandler self.SubscriptionManager.AddConsolidator("XAUUSD", gold_thirtyMinuteConsolidator) self.sto_wti = Stochastic("WTICOUSD", 105, 21, 30) self.cci_wti = CommodityChannelIndex("WTICOUSD", 200) self.sto_gold = Stochastic("XAUUSD", 172, 21, 95) self.cci_gold = CommodityChannelIndex("XAUUSD", 200) self.PlotIndicator("Indicator-WTICOUSD ", self.sto_wti.StochD) self.PlotIndicator("Indicator-CommodityChannelIndex_WTI ", self.cci_wti.TypicalPriceAverage) self.PlotIndicator("Indicator-XAUUSD ", self.sto_gold.StochD) self.PlotIndicator("Indicator-CommodityChannelIndex_GOLD", self.cci_gold.TypicalPriceAverage) self.SetWarmup((172+21+95)*30, Resolution.Minute) self.logged = False def OnData(self, data): pass def ThirtyMinuteQuoteBarHandler(self, sender, consolidated): self.Plot("WarmingState", "IsWarmingUp", int(self.IsWarmingUp)) self.sto_wti.Update(consolidated) self.cci_wti.Update(consolidated) sto_value_wti = self.sto_wti.StochD cci_value_wti = self.cci_wti.TypicalPriceAverage if self.IsWarmingUp: return self.wti_thirtyMinute = consolidated def gold_ThirtyMinuteQuoteBarHandler(self, sender, consolidated): self.sto_gold.Update(consolidated) self.cci_gold.Update(consolidated) sto_value_gold = self.sto_gold.StochD cci_value_gold = self.cci_gold.TypicalPriceAverage if self.IsWarmingUp: return self.gold_thirtyMinute = consolidated