| 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