ta
ta copied to clipboard
IndexError: index 14 is out of bounds for axis 0 with size 12
CTK/USDT
2021-04-15 11:23:21,685 - freqtrade - ERROR - Fatal exception!
Traceback (most recent call last):
File "/home/mab/freqtrade/freqtrade/main.py", line 37, in main
return_code = args['func'](args)
File "/home/mab/freqtrade/freqtrade/commands/optimize_commands.py", line 86, in start_hyperopt
hyperopt.start()
File "/home/mab/freqtrade/freqtrade/optimize/hyperopt.py", line 378, in start
preprocessed = self.backtesting.strategy.ohlcvdata_to_dataframe(data)
File "/home/mab/freqtrade/freqtrade/strategy/interface.py", line 668, in ohlcvdata_to_dataframe
return {pair: self.advise_indicators(pair_data.copy(), {'pair': pair})
File "/home/mab/freqtrade/freqtrade/strategy/interface.py", line 668, in <dictcomp>
return {pair: self.advise_indicators(pair_data.copy(), {'pair': pair})
File "/home/mab/freqtrade/freqtrade/strategy/interface.py", line 685, in advise_indicators
return self.populate_indicators(dataframe, metadata)
File "/home/mab/freqtrade/user_data/strategies/GodStra.py", line 80, in populate_indicators
dataframe = add_all_ta_features(
File "/home/mab/freqtrade/.env/lib/python3.8/site-packages/ta/wrapper.py", line 559, in add_all_ta_features
df = add_trend_ta(
File "/home/mab/freqtrade/.env/lib/python3.8/site-packages/ta/wrapper.py", line 267, in add_trend_ta
df[f"{colprefix}trend_adx"] = indicator_adx.adx()
File "/home/mab/freqtrade/.env/lib/python3.8/site-packages/ta/trend.py", line 777, in adx
adx_series[self._window] = directional_index[0 : self._window].mean()
IndexError: index 14 is out of bounds for axis 0 with size 12
File "loadDailyStock.py", line 360, in
2021-08-09 19:24:47,300 - freqtrade - ERROR - Fatal exception!
Traceback (most recent call last):
File "/freqtrade/freqtrade/main.py", line 37, in main
return_code = args'func'
File "/freqtrade/freqtrade/commands/optimize_commands.py", line 54, in start_backtesting
backtesting.start()
File "/freqtrade/freqtrade/optimize/backtesting.py", line 596, in start
min_date, max_date = self.backtest_one_strategy(strat, data, timerange)
File "/freqtrade/freqtrade/optimize/backtesting.py", line 552, in backtest_one_strategy
preprocessed = self.strategy.ohlcvdata_to_dataframe(data)
File "/freqtrade/freqtrade/strategy/interface.py", line 744, in ohlcvdata_to_dataframe
return {pair: self.advise_indicators(pair_data.copy(), {'pair': pair})
File "/freqtrade/freqtrade/strategy/interface.py", line 744, in
Any solution to this? Or a workaround without having to change params?
I recently solved this particular issue. You need a minimum of 28 sets of ticker features (open, high, low, close, volume) in order to properly calculate all of the TA features that are derived from the add_all_ta_features function, otherwise you'll get this error (and others if you go even lower). It's not shown anywhere in the documentation but I got this bug when adding fewer than 28 sets but it went away at 28 and higher. Hope that helps, this was driving me nuts.
Wow thanks @legionnaire12. I might check this out and see if I can get it to work with your workaround. I put this project on hold due to this issue months ago.
I recently solved this particular issue. You need a minimum of 28 sets of ticker features (open, high, low, close, volume) in order to properly calculate all of the TA features that are derived from the add_all_ta_features function, otherwise you'll get this error (and others if you go even lower). It's not shown anywhere in the documentation but I got this bug when adding fewer than 28 sets but it went away at 28 and higher. Hope that helps, this was driving me nuts.
Confirming @legionnaire12 's comment. You need to have more than 28 rows in your dataframe to proceed.