| 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 Tracking Error 0 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
class MuscularLightBrownMonkey(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2021, 2, 8)
self.SetEndDate(2021, 2, 8)
self.SetCash(100000)
self.spy = self.AddEquity("SPY", Resolution.Minute).Symbol
self.macd = self.MACD(self.spy,20,50,Resolution.Daily)
# define our 15 minute trade bar consolidator. we can
# access the 15 minute bar from the DataConsolidated events
fifteenMinuteConsolidator = TradeBarConsolidator(timedelta(minutes=15))
# attach our event handler. the event handler is a function that will
# be called each time we produce a new consolidated piece of data.
fifteenMinuteConsolidator.DataConsolidated += self.FifteenMinuteBarHandler
# this call adds our 15 minute consolidator to
# the manager to receive updates from the engine
self.SubscriptionManager.AddConsolidator(self.spy, fifteenMinuteConsolidator)
self.SetWarmup(50,Resolution.Daily)
def FifteenMinuteBarHandler(self, sender, consolidated):
'''This is our event handler for our 30 minute trade bar defined above in Initialize(). So each time the
consolidator produces a new 30 minute bar, this function will be called automatically. The 'sender' parameter
will be the instance of the IDataConsolidator that invoked the event, but you'll almost never need that!'''
self.Debug("Check for entry")
def OnData(self, data):
pass