ワイルダーの平均方向性指数(Average Directional Movement Index Wilder、ADX WildeR)はトレンドの有無を判断します。こののアルゴリズムはワイルダーによる著書「New Concepts in Technical Trading Systems(テクニカル取引システムの新たな概念)」で厳密に記述されています。
この指標のトレードルールは「平均方向性指数」セクションに記述されています。
まず初めに、トゥルーレンジ同様に、正(dm_plus)と負(dm_minus)の値が各ロウソク足で計算され、変化します。
High(i) - High(i-1) > 0 の場合は dm_plus(i) = High[(i) - High(i-1)、それ以外の場合は dm_plus(i) = 0 。
Low(i-1) - Low(i) > 0 の場合は dm_minus(i) = Low(i-1) - Low(i)、それ以外の場合は 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) — 1つ前の足の高値
Low(i-1) — 1つ前の足の安値
Close(i-1) — 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 — 計算に使う期間の数 です。
ここで方向性指数(Directional Movement Index - 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, Period_ADX, i)