My intention is to look at the same indicator (Ichimoku) on different time frames.

I'm writing a strategy in Python and came across the following blocker:

Here is the code:

def Initialize(self): instr = "AUDJPY" self.SetStartDate(DateTime(2017, 01, 01)) self.SetEndDate(datetime.now() - timedelta(1))           symbol = self.AddForex(instr).Symbol fourHourConsolidator = QuoteBarConsolidator(timedelta(minutes=240)) fourHourConsolidator.DataConsolidated += self.FourHourBarHandler self.SubscriptionManager.AddConsolidator(instr, fourHourConsolidator) self.fourHourIchimoku = self.ICHIMOKU(instr, 9, 26, 26, 52, 26, 26)  # the indicator is automatically registered with the default resolution self.RegisterIndicator(symbol, self.fourHourIchimoku, fourHourConsolidator, None) # this will cause Update to be called after 240 min and will fail.

And after the first 239 minutes, the backtest fails:

2017-01-03 01:00:00 Runtime Error: System.ArgumentException: This is a forward only indicator: ICHIMOKU(9,26)(AUDJPY_min) Input: 2017-01-03 00:00:00Z Previous: 2017-01-03 00:58:00Z

The reason being: Algorithm\QCAlgorithm.Indicators.cs, line 430 the indicator is automatically registered with the default resolution (1 min). Hence once the 240 minutes are reached, Update is called a second time and because the time of the consolidated 240 minutes bar equals the time of the very first minute, it fails on line 77 \Indicators\IndicatorBase.cs

Is there a work around? Instantiating an indicator without having it registered? In C#, I could invoke the constructor directly... 

Thanks,

Jerome