Hi. I'm working on Warming Up Indicators for securities in my Opening Watchlist.
I was able to warmup the EMA, I did this the same way it was presented in BootCamp (working code below).
@ OnData
for i in self.opening_watchlist:
history = self.History(i, 270, Resolution.Daily)
self.indicators[i] = DailyWarmup(history)
@ DailyWarmup:
def __init__(self, history):
self.ema = ExponentialMovingAverage(200)
for bar in history.itertuples():
self.ema.Update(bar.Index[1], bar.close)
However, when I tried to update the ATR in a similar way, I got errors (faulty code below).
@ DailyWarmup:
def __init__(self, history):
self.ema = ExponentialMovingAverage(200)
self.atr = AverageTrueRange(14)
for bar in history.itertuples():
self.ema.Update(bar.Index[1], bar.close)
self.atr.Update(bar.Index[1]) # I tried variations of this, including bar.high and bar.low
Here is the Error the code above threw:
Runtime Error: Trying to dynamically access a method that does not exist throws a TypeError exception. To prevent the exception, ensure each parameter type matches those required by the 'pandas._libs.tslibs.timestamps.Timestamp'>) method. Please checkout the API documentation.
at __init__
self.atr.Update(bar.Index[1])
File "main.py" in main.py:line 277
What do I need to do to Warmup the ATR here? I will be doing VWAP next.
Thank you,
Cesare