MetaTrader 5のヘルプ

Average Directional Movement Index Wilder(ウェルズワイルダーの平均方向性指数)

Average Directional Movement Index Wilder(ウェルズワイルダーの平均方向性指数)

ワイルダーの平均方向性指数(Average Directional Movement Index Wilder、ADX WildeR)はトレンドの有無を判断します。こののアルゴリズムはワイルダーによる著書「New Concepts in Technical Trading Systems(テクニカル取引システムの新たな概念)」で厳密に記述されています。

この指標のトレードルールは「平均方向性指数」セクションに記述されています。

Average Directional Movement Index Wilder(ウェルズワイルダーの平均方向性指数)

計算

まず初めに、トゥルーレンジ同様に、正(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)