how to add data for 30 min in rolling window,i am able to create a consolidate bar for 30 min.BUt how can i use the consolidated bar values in updating using command like this(self.tradeBarWindow.Add(data["SPY"])
# In Initialize, create the rolling windows
def Initialize(self):
# Create a Rolling Window to keep the 4 decimal
self.closeWindow = RollingWindow[float](4)
# Create a Rolling Window to keep the 2 TradeBar
self.tradeBarWindow = RollingWindow[TradeBar](2)
# Create a Rolling Window to keep the 2 QuoteBar
self.quoteBarWindow = RollingWindow[QuoteBar](2)
# In OnData, update the rolling windows
def OnData(self, data):
if data.ContainsKey("SPY"):
# Add SPY bar close in the rolling window
self.closeWindow.Add(data["SPY"].Close)
# Add SPY TradeBar in rolling window
self.tradeBarWindow.Add(data["SPY"])
if data.ContainsKey("EURUSD"):
# Add EURUSD QuoteBar in rolling window
self.quoteBarWindow.Add(data["EURUSD"])
Rahul Chowdhury
Hi Harsh,
We can use the DataConsolidated event handler for our consolidator to update our rolling windows. The DataConsolidated event handler is called each time a new consolidated bar is available.
In Initialize, let's define our consolidator and also set its event handler.
# Define and register thirty minute consolidator consolidator = TradeBarConsolidator(timedelta(minutes=30)) self.SubscriptionManager.AddConsolidator("SPY", consolidator) # Define DataConsolidated event handler consolidator.DataConsolidated += self.OnThirtyMinuteBar
Then in the event handler, we can add the new bar to our rolling window.
def OnThirtyMinuteBar(self, sender, bar): self.tradeBarWindow.Add(bar)
Check out the back test to see it in action. I also highly recommend you check out the boot camps. They are the best way to learn how Lean works.
Harsh Yadav
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!