Backtrader内置技术指标参数详解(3)- backtrader中文教程
BaseApplyN
ApplyN 和其他可能将 func 作为参数但希望在指标中定义行的基类。
计算给定时期的 func,其中 func 作为参数给出,也称为命名参数或 kwarg
公式:
- lines[0] = func(data, period)
不计算超出第一个(索引 0)定义的任何额外行
Params:
- period (1)
- func (None)
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (True)
- plotname ()
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.0)
- plotyhlines ([])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
布林带(别名: BBands)
由约翰·布林格在 80 年代定义。它通过在距离 x 标准偏差处定义上限和下限来衡量波动率
公式:
- midband = SimpleMovingAverage(close, period)
- topband = midband + devfactor * StandardDeviation(data, period)
- botband = midband – devfactor * StandardDeviation(data, period)
参考:
Lines:
- mid
- top
- bot
Params:
- period (20)
- devfactor (2.0)
- movav (MovingAverageSimple)
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (False)
- plotname ()
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.0)
- plotyhlines ([])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
PlotLines:
- mid:
- ls (–)
- top:
- _samecolor (True)
- bot:
- _samecolor (True)
布林带扩展
用百分比线扩展布林带
Lines:
- mid
- top
- bot
- pctb
Params:
- period (20)
- devfactor (2.0)
- movav (MovingAverageSimple)
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (False)
- plotname ()
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.0)
- plotyhlines ([])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
PlotLines:
- mid:
- ls (–)
- top:
- _samecolor (True)
- bot:
- _samecolor (True)
- pctb:
- _name (%B)
CointN
计算给定period
数据馈送的分数 (coint_t) 和 pvalue
用途pandas
和statsmodels
(for coint
)
Lines:
- score
- pvalue
Params:
- period (10)
- regression ©
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (True)
- plotname ()
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.0)
- plotyhlines ([])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
PlotLines:
- score:
- pvalue:
商品通道指数/顺势指标(别名:CCI)
由 Donald Lambert 于 1980 年引入,用于衡量“典型价格”(见下文)与其平均值的变化,以识别极端和反转
公式:
- tp =typical_price = (high + low + close) / 3
- tpmean = MovingAverage(tp, period)
- 偏差 = tp – tpmean
- meandev = 平均偏差(tp)
- cci = 偏差 /(均值偏差 * 因子)
参考:
Lines:
- cci
Params:
- period (20)
- factor (0.015)
- movav (MovingAverageSimple)
- upperband (100.0)
- lowerband (-100.0)
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (True)
- plotname ()
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.0)
- plotyhlines ([])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
PlotLines:
- cci:
向下交叉(死叉)
如果第一个提供的数据 向上越过第二个指标,该指标会发出信号
它确实需要查看第一个和第二个数据的当前时间索引 (0) 和上一个时间索引 (-1)
公式:
- diff = data – data1
- downcross = last_non_zero_diff > 0 and data0(0) < data1(0)
Lines:
- cross
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (True)
- plotname ()
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.05)
- plotyhlines ([0.0, 1.0])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
PlotLines:
- cross:
交叉
如果提供的数据 (2) 向上或向下交叉,该指标会发出信号。
- 1.0 如果第一个数据向上穿过第二个数据
- -1.0 如果第一个数据向下穿过第二个数据
它确实需要查看 1t 和 2 nd数据的当前时间索引 (0) 和上一个时间索引 (-1)
公式:
- diff = data – data1
- upcross = last_non_zero_diff < 0 and data0(0) > data1(0)
- downcross = last_non_zero_diff > 0 and data0(0) < data1(0)
- crossover = upcross – downcross
Lines:
- crossover
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (True)
- plotname ()
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.05)
- plotyhlines ([-1.0, 1.0])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
PlotLines:
- crossover:
交叉向上(金叉)
如果第一个提供的数据 向上越过第二个指标,该指标会发出信号
它确实需要查看第一个和第二个数据的当前时间索引 (0) 和上一个时间索引 (-1)
公式:
- diff = data – data1
- upcross = last_non_zero_diff < 0 and data0(0) > data1(0)
Lines:
- cross
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (True)
- plotname ()
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.05)
- plotyhlines ([0.0, 1.0])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
PlotLines:
- cross:
DV2
RSI(2) 替代方案 由http://cssanalytics.wordpress.com/的 David Varadi 开发
这似乎是有界版本。
也可以看看:
Lines:
- dv2
Params:
- period (252)
- maperiod (2)
- _movav (SMA)
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (True)
- plotname ()
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.0)
- plotyhlines ([])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
PlotLines:
- dv2:
丹麦枢轴点(别名:DemarkPivotPoint)
通过考虑较大时间范围内过去一段时间的价格柱成分的平均值来定义显着性水平。例如,当使用天数进行操作时,这些值取自“过去”月份的固定价格。
使用此指标的示例:
data = btfeeds.ADataFeed(dataname=x, timeframe=bt.TimeFrame.Days) cerebro.adddata(data) cerebro.resampledata(data, timeframe=bt.TimeFrame.Months)
在__init__
策略的方法中:
pivotindicator = btind.DemarkPivotPoiont(self.data1) # 重采样数据
指标将尝试自动绘制到非重采样数据。要禁用此行为,请在构建期间使用以下命令:
- _autoplot=False
笔记:
该示例显示了days和months,但可以使用任何时间范围的组合。有关推荐组合,请参阅文献
公式:
- if close < open x = high + (2 x low) + close
- if close > open x = (2 x high) + low + close
- if Close == open x = high + low + (2 x close)
- p = x / 4
- support1 = x / 2 – high
- resistance1 = x / 2 – low
参考:
Lines:
- p
- s1
- r1
Params:
- open (False)
- close (False)
- _autoplot (True)
- level1 (0.382)
- level2 (0.618)
- level3 (1.0)
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (False)
- plotname ()
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.0)
- plotyhlines ([])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
PlotLines:
- p:
- s1:
- r1: