I tried with btalib to compare with original TA-Lib
class BTALIBBeginningStrategy(bt.Strategy):
params = (
('MA', 100),
)
def __init__(self):
#self.ma = bt.indicators.MovingAverageSimple(period=self.params.MA)
self.ma = btalib.sma(self.data.close, period=self.p.MA)
but I got this error
File "/home/learner/venv/lib/python3.8/site-packages/btalib/indicator.py", line 152, in __call__
b_init(self, *args, **kwargs)
File "/home/learner/venv/lib/python3.8/site-packages/btalib/indicators/sma.py", line 28, in __init__
self.o.sma = self.i0.rolling(window=self.p.period).mean()
File "/home/learner/venv/lib/python3.8/site-packages/btalib/meta/lines.py", line 394, in real_multifunc_op
return _MultiFunc_Op(self, *args, **kwargs)
File "/home/learner/venv/lib/python3.8/site-packages/btalib/meta/lines.py", line 306, in __init__
trailer = series[self._minidx:]
File "/home/learner/venv/lib/python3.8/site-packages/backtrader/linebuffer.py", line 163, in __getitem__
return self.array[self.idx + ago]
TypeError: unsupported operand type(s) for +: 'int' and 'slice'
The code with original TA-Lib runs normally. But I don't understand what the error with btalib. Please explain for new rookies!
Thank you!