Hi... so I have once again run into issues on this function. With the help of the previous discussion I was able to consolidate hourly crypto data into daily bars; however the price properties that are consolidated into hourly consolidator functions, that due to the rolling window has the data of the previous day is still inaccessible via the on Data function, where I kind of need to get to for analysis... the trade consolidation function works..

I'm just getting confused on how to get the high low and close properties according to the crypto security to be usable in the ondata function

from QuantConnect.Data.Market import TradeBar
from datetime import timedelta

class TachyonQuantumAutosequencers(QCAlgorithm):

def Initialize(self):
self.SetStartDate(2020, 7, 20) # Set Start Date
self.SetCash(100000) # Set Strategy Cash

# list of symbols we want to trade
self.symbolList = ["BTCUSD","ETHUSD","LTCUSD","BCHUSD"]
#self.symbolList = ["BTCUSD","ETHUSD","BCHUSD"]

# dictionary to hold rolling window for each symbol
self.daily = {}
#self.tradebar = {}

for name in self.symbolList:
self.cryptoSymbol = self.AddCrypto(name, Resolution.Hour, Market.GDAX).Symbol

HourlyConsolidator = TradeBarConsolidator(timedelta(hours=24))
HourlyConsolidator.DataConsolidated += self.HourlyConsolidator
self.SubscriptionManager.AddConsolidator(self.cryptoSymbol, HourlyConsolidator)

self.daily[self.cryptoSymbol] = RollingWindow[float](2)

#self.tradebar[cryptoSymbol] = RollingWindow[TradeBar](2)

#self.tradeBarWindow = RollingWindow[TradeBar](2)

def HourlyConsolidator(self, sender, bar):
symbol = bar.Symbol
close = bar.Close
volume = bar.Volume
high = bar.High
low = bar.Low

# update rolling window
self.daily[symbol].Add(close)
self.daily[symbol].Add(high)
self.daily[symbol].Add(low)
if not (self.daily[symbol].IsReady): return
self.Debug('symbol: {} close price: {} high price: {} low price: {}'.format(symbol, close,high,low))
self.Log(" ")
#self.Log('symbol: {} close price: {} high price: {} low price: {}'.format(symbol, close,high,low))
#self.Log(" ")

def OnData(self, data):
'''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
Arguments:
data: Slice object keyed by symbol containing the stock data
'''
#self.Debug(self.daily.keys())

# for name in self.symbolList:

# #Here I'm trying to get the trade bar data that was consolidated hourly in the 24 hour bars
# self.daily[name]