I want to use in my system 3 different trade bars (30, 60, 1440 min) about a Dow30EMini continuos future. I am decided use 3 consolidators for this task and I want to know if I am using the consolidators correctly.



...
def Initialize(self):
        self.SetStartDate(2010, 1, 1)
        self.SetEndDate(2015, 1, 1)
        self.SetAccountCurrency("EUR")
        self.SetCash(500000)

        self.continuous_futureYM = self.AddFuture(Futures.Indices.Dow30EMini,
                                                  resolution = Resolution.Minute,
                                                  extendedMarketHours = True,
                                                  dataNormalizationMode = DataNormalizationMode.Raw,
                                                  dataMappingMode = DataMappingMode.OpenInterest,
                                                  contractDepthOffset = 0)
       self.continuous_futureYM.SetFilter(lambda future_filter_universe: future_filter_universe.StandardsOnly().FrontMonth())
        self.symbol = self.continuous_futureYM.Symbol
        self.contract = None
        self.consolidator30m = self.Consolidate(self.symbol, timedelta(minutes=30), self.YM30MinHandler)
        self.consolidator60m = self.Consolidate(self.symbol, timedelta(minutes=60), self.YM60MinHandler)
        self.consolidator1d = self.Consolidate(self.symbol, timedelta(minutes=1440), self.YM1DayHandler)

  def OnData(self, slice):
        if self.contract is None:
            self.contract = self.continuous_futureYM.Mapped
            if not self.contract: return 


        if slice.SymbolChangedEvents.ContainsKey(self.continuous_futureYM.Symbol):
            self.Liquidate(self.continuous_futureYM.Symbol, tag="Cambio de vencimiento")
            self.contract = self.continuous_futureYM.Mapped

def YM30MinHandler(self, consolidated_bar: TradeBar) -> None:
 ...

def YM60MinHandler(self, consolidated_bar: TradeBar) -> None:
...

def YM1DayHandler(self, consolidated_bar: TradeBar) -> None:
...