Backtrader内置技术指标参数详解(11)- backtrader中文教程
终极振荡器( UltimateOscillator )
Ultimate Oscillator由 Larry Williams 于 1976 年开发,并于 1985 年在Stocks & Commodities 杂志上发表,它是一种动量振荡器,旨在捕捉三个不同时间范围内的动量。多时间框架目标旨在避免其他振荡器的陷阱。许多动量振荡器在强劲上涨开始时飙升,但随着上涨的继续形成看跌背离。这是因为他们被困在一个时间范围内。Ultimate Oscillator 试图通过在基本公式中加入更长的时间框架来纠正这个错误。威廉姆斯确定了基于看涨背离的买入信号和基于看跌背离的卖出信号。
公式:
# Buying Pressure = Close - TrueLow BP = Close - Minimum(Low or Prior Close) # TrueRange = TrueHigh - TrueLow TR = Maximum(High or Prior Close) - Minimum(Low or Prior Close) Average7 = (7-period BP Sum) / (7-period TR Sum) Average14 = (14-period BP Sum) / (14-period TR Sum) Average28 = (28-period BP Sum) / (28-period TR Sum) UO = 100 x [(4 x Average7)+(2 x Average14)+Average28]/(4+2+1)
参考:
- https://en.wikipedia.org/wiki/Ultimate_oscillator
- http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:ultimate_oscillator
Lines:
- uo
Params:
- p1 (7)
- p2 (14)
- p3 (28)
- upperband (70.0)
- lowerband (30.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:
- uo:
上涨指标( UpDay )
由 J. Welles Wilder, Jr. 于 1978 年在他为 RSI撰写的“技术交易系统中的新概念”一书中定义
记录“上涨”的天数,即:收盘价高于前一天。
公式:
- upday = max(close – close_prev, 0)
参考:
Lines:
- upday
Params:
- period (1)
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:
- upday:
上涨标志指标UpDayBool
由 J. Welles Wilder, Jr. 于 1978 年在他为 RSI撰写的“技术交易系统中的新概念”一书中定义
记录“上涨”的天数,即:收盘价高于前一天。
Tips:此版本返回布尔值而不是差异
公式:
- upday = close > close_prev
参考:
Lines:
- upday
Params:
- period (1)
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:
- upday:
向上移动( UpMove )
由 J. Welles Wilder, Jr. 于 1978 年在他的“技术交易系统中的新概念”一书中定义,作为计算方向指标的方向移动系统的一部分。
如果给定数据的移动高于前一天,则为正
公式:
- upmove = data – data(-1)
参考:
Lines:
- upmove
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:
- upmove:
涡流( Vortex )
Etienne Botes和Douglas Siepman发明的技术指标,用于识别金融市场中新趋势的开始或现有趋势的延续。
参考:
Lines:
- vi_plus
- vi_minus
Params:
- period (14)
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:
- vi_plus:
- _name (+VI)
- vi_minus:
- _name (-VI)
加权平均(别名:AverageWeighted )
计算一段时间内给定数据的加权平均值
默认权重(如果未提供)是线性的,以便为最新数据分配更多权重
结果将乘以给定的“系数”
公式:
- av = coef * sum(mul(data, period), weights)
参考:
Lines:
- av
Params:
- period (1)
- coef (1.0)
- weights (())
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:
- av:
加权移动平均指标( 别名:WMA,MovingAverageWeighted )
一个移动平均线,它为具有更多权重的最新值赋予算术权重
公式:
- weights = range(1, period + 1)
- coef = 2 / (period * (period + 1))
- movav = coef * Sum(weight[i] * data[period – i] for i in range(period))
参考:
Lines:
- wma
Params:
- period (30)
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:
- wma:
加权移动平均通道指标( 别名:WMAEnvelope, MovingAverageWeightedEnvelope )
移动平均通道线是设置在移动平均线之上和之下的基于百分比的通道线。构成该指标基础的移动平均线可以是简单或指数移动平均线。然后将每个通道设置为高于或低于移动平均线的相同百分比。这会创建跟随价格行为的平行带。
公式:
- wma (from WeightedMovingAverage)
- top = wma * (1 + perc)
- bot = wma * (1 – perc)
参考:
- http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_average_envelopes
Lines:
- wma
- top
- bot
Params:
- period (30)
- perc (2.5)
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:
- wma:
- top:
- _samecolor (True)
- bot:
- _samecolor (True)
加权移动平均振荡指标(别名:WeightedMovingAverageOsc, WMAOscillator, WMAOsc, MovingAverageWeightedOscillator, MovingAverageWeightedOsc )
WeightedMovingAverage 围绕其数据的振荡
Lines:
- wma
Params:
- period (30)
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:
- wma:
- _0:
- _name (osc)
威廉姆斯指标( WilliamsAD )
通过拉里威廉姆斯。它确实通过使用 UpDays 和 DownDays 的概念来累积衡量价格是在累积(向上)还是在分布(向下)。
价格可以上涨,但上涨的方式不再显示积累,因为上涨和下跌相互抵消,造成背离。
参考:
http://www.metastock.com/Customer/Resources/TAAZ/?p=125
http://ta.mql4.com/indicators/trends/williams_accumulation_distribution
Lines:
- ad
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:
- ad:
威廉姆斯 (WilliamsR )
由拉里威廉姆斯开发,用于显示收盘价与给定时期的最高最低范围的关系。
称为 Williams %R(但 Python 标识符中不允许使用 %)
公式:
- num = highest_period – close
- den = highestg_period – lowest_period
- percR = (num / den) * -100.0
通道:
Lines:
- percR
Params:
- period (14)
- upperband (-20.0)
- lowerband (-80.0)
PlotInfo:
- plot (True)
- plotmaster (None)
- legendloc (None)
- subplot (True)
- plotname (Williams R%)
- plotskip (False)
- plotabove (False)
- plotlinelabels (False)
- plotlinevalues (True)
- plotvaluetags (True)
- plotymargin (0.0)
- plotyhlines ([])
- plotyticks ([])
- plothlines ([])
- plotforce (False)
PlotLines:
- percR:
- _name (R%)
零滞后指数移动平均指标(别名:ZLEMA, ZeroLagEma )
零滞后指数移动平均线 (ZLEMA) 是 EMA 的一种变体,它增加了一个动量项,旨在减少平均滞后,以便更密切地跟踪当前价格。
公式:
- lag = (period – 1) / 2
- zlema = ema(2 * data – data(-lag))
参考:
Lines:
- zlema
Params:
- period (30)
- _movav (EMA)
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:
- zlema:
ZeroLagExponentialMovingAverageEnvelope(别名:ZLEMAEnvelope、ZeroLagEmaEnvelope )
移动平均通道线是设置在移动平均线之上和之下的基于百分比的通道线。构成该指标基础的移动平均线可以是简单或指数移动平均线。然后将每个通道设置为高于或低于移动平均线的相同百分比。这会创建跟随价格行为的平行带。
公式:
- zlema (from ZeroLagExponentialMovingAverage)
- top = zlema * (1 + perc)
- bot = zlema * (1 – perc)
参考:
- http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_average_envelopes
Lines:
- zlema
- top
- bot
Params:
- period (30)
- _movav (EMA)
- perc (2.5)
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:
- zlema:
- top:
- _samecolor (True)
- bot:
- _samecolor (True)
零滞后指数移动平均线振荡指标(别名:ZeroLagExponentialMovingAverageOsc, ZLEMAOscillator, ZLEMAOsc, ZeroLagEmaOscillator, ZeroLagEmaOsc )
ZeroLagExponentialMovingAverage 围绕其数据的振荡
Lines:
- zlema
Params:
- period (30)
- _movav (EMA)
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:
- zlema:
- _0:
- _name (osc)
零滞后指标(别名:ZLIndicator, ZLInd, EC, ErrorCorrecting )
作者:John Ehlers 和 Ric Way
零滞后指标 (ZLIndicator) 是 EMA 的一种变体,它通过尝试最小化误差(距离价格 – 误差校正)来修改 EMA,从而减少滞后
公式:
- EMA(data, period)
- 对于每次迭代,计算 ema 的最佳纠错(参见论文和/或代码)迭代 -bestgain -> +bestgain 以获得纠错因子(两者都包括)
- 默认移动平均线是 EMA,但可以使用参数 _movav 进行更改
Tips:通过的移动平均线必须计算 alpha(和 1 – alpha)并使其在实例中作为属性 alpha 和 alpha1 可用
参考:
Lines:
- ec
Params:
- period (30)
- gainlimit (50)
- _movav (EMA)
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:
- ec:
零滞后指标通道指标(别名:ZLIndicatorEnvelope、ZLIndEnvelope、ECEnvelope、ErrorCorrectingEnvelope)
移动平均通道线是设置在移动平均线之上和之下的基于百分比的通道线。构成该指标基础的移动平均线可以是简单或指数移动平均线。然后将每个通道设置为高于或低于移动平均线的相同百分比。这会创建跟随价格行为的平行带。
公式:
- ec (from ZeroLagIndicator)
- top = ec * (1 + perc)
- bot = ec * (1 – perc)
参考:
- http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_average_envelopes
Lines:
- ec
- top
- bot
Params:
- period (30)
- gainlimit (50)
- _movav (EMA)
- perc (2.5)
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:
- ec:
- top:
- _samecolor (True)
- bot:
- _samecolor (True)
ZeroLagIndicator振荡指标(别名:ZeroLagIndicatorOsc, ZLIndicatorOscillator, ZLIndicatorOsc, ZLIndOscillator, ZLIndOsc, ECOscillator, ECOsc, ErrorCorrectingOscillator, ErrorCorrectingOsc )
ZeroLagIndicator 围绕其数据的振荡
Lines:
- ec
Params:
- period (30)
- gainlimit (50)
- _movav (EMA)
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:
- ec:
- _0:
- _name (osc)
海金芦三角洲(别名:haD )
海金芦三角洲。由 Dan Valcu 在他的著作《Heikin-Ashi:如何在没有烛台形态的情况下进行交易》中定义。
该指标衡量 Heikin Ashi 蜡烛(蜡烛的主体)的 Heikin Ashi 收盘价和开盘价之间的差异。
要获得信号,请添加由 3 个周期移动平均线平滑的 haDelta。
为了正确使用,指标的数据必须事先通过 Heikin Ahsi 过滤器。
公式:
- haDelta = Heikin Ashi close – Heikin Ashi open
- smoothed = movav(haDelta, period)
Lines:
- haDelta
- smoothed
Params:
- period (3)
- movav (SMA)
- autoheikin (True)
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:
- haDelta:
- color (red)
- smoothed:
- color (grey)
- _fill_gt ((0, ‘green’))
- _fill_lt ((0, ‘red’))