在会用backtrader框架时,使用其自带talib的指标报错。

在会用backtrader框架时,使用其自带talib的指标报错。源码如下:

            # ATR组
            self.atr20[data._name] = bt.talib.ATR(self.datahigh[data._name], self.datalow[data._name], self.dataclose[data._name], timeperiod=20)

报错信息:AttributeError: module 'backtrader.talib' has no attribute 'ATR'
求大家帮我解决问题~

backtrader.talib模块中没有ATR指标而导致的。
Backtrader虽然内置了一些常用的技术指标,但并未直接集成talib库。因此,无法直接使用bt.talib.ATR()来计算 Average True Range(ATR)指标。需要自行将其与Backtrader进行整合
安装talib库:确保已安装了talib库。可以使用以下命令进行安装:

pip install TA-Lib

导入talib库:

import talib

使用talib库中的指标计算ATR:

atr = talib.ATR(self.datahigh[data._name], self.datalow[data._name], self.dataclose[data._name], timeperiod=20)

backtrader框架并不自带talib指标,因此无法直接使用bt.talib.ATR()函数。要使用talib指标,需要先安装talib库并导入相应的指标函数。
您可以按照以下步骤进行操作:

确保已经安装了talib库,可以使用pip install TA-Lib进行安装。
在代码中导入talib库:import talib as ta。
使用ta.ATR()函数计算ATR指标:self.atr20[data._name] = ta.ATR(self.datahigh[data._name], self.datalow[data._name], self.dataclose[data._name], timeperiod=20)。
这样就可以正确计算ATR指标了。