Wilder平均方向性运动指标(ADX Wilder)有助于决定是否有价格趋势。该技术指标严格对应Welles Wilder 的"技术交易系统新概念"书中的算法而建造。
该指标交易规则在"平均方向性运动指标"部分描述。
首先计算每柱上的正值(dm_plus)和负值(dm_minus)的变化,以及真值范围tr:
If High(i) - High(i-1) > 0 dm_plus(i) = High[(i) - High(i-1), otherwise dm_plus(i) = 0.
If Low(i-1) - Low(i) > 0 dm_minus(i) = Low(i-1) - Low(i), otherwise dm_minus(i) = 0.
tr(i) = Max(ABS(High(i) - High(i-1)), ABS(High(i) - Close(i-1)), ABS(Low(i) - Close(i-1)))
此处:
High(i) ― 当前柱的最高价格;
Low(i) ― 当前柱的最低价格;
High(i-1) ― 前柱的最高价;
Low(i-1) ― 前柱的最低价;
Close(i-1) ― 前柱的收盘价;
Max (a, b , c) ― a,b,c三个变量中的最大值;
ABS(X) ― X的绝对值。
平滑值计算后: Plus_D(i), Minus_D(i) 和 ATR():
ATR(i) = SMMA(tr, Period_ADX,i)
Plus_D(i) = SMMA(dm_plus, Period_ADX,i)/ATR(i)*100
Minus_D(i) = SMMA(dm_minus, Period_ADX,i)/ATR(i)*100
此处:
SMMA(X, N, i) ― 当前柱X系列值的平滑移动平均数;
Period_ADX ― 用来计算的柱数。
现在方向性运动指标 - DX(i) - 被计算:
DX(i) = ABS(Plus_D(i) - Minus_D(i))/(Plus_D(i) + Minus_D(i)) * 100
预算之后通过平滑DX指数值获得当前柱的 ADX(i) 指标值:
ADX(i) = SMMA(DX, Perod_ADX, i)