DMI 方向性指数 (DMI、Directional Movement Indicators) は、J. Welles Wilder が発表した方向性指数システムであり、平均方向性移動指数 (ADX、Average Directional Movement Index) を使って計算されます。ここでは、+DI と -DI の2つの指数を表示します。
DM ディレクショナル ムーブメント は、前単位期間(前日)の値幅を超えた、当単位期間(当日)の上昇幅・下落幅から定義します。各期間の計算は以下のとおりです。
\[+DM = High - Previous\;High\]
\[-DM = Previous\;Low - Low\]
2つの値のうち小さい方を 0 にリセットします (例: +DM > -DM の場合、-DM = 0 )はらみ線(インサイド バー)の場合は、+DM と -DM の両方が負の値となるので、どちらも 0 にリセットします。これは当期間の値動きに方向性がなかったことを示します。
TR (実質変動幅、トゥルー レンジ) は各時間足ごとに計算します。
\[TR = max(High_{t} - Close_{t-1}\;,\;Close_{t-1} - Low_{t}\;,\;High_{t} - Low_{t})\]
\(+DM_{n}, -DM_{n}\) と \(TR_{n}\) はユーザー定義の n-期間にわたって平均化されます。最初の計算は純粋な移動平均を使用しますが、その他の計算は、蓄積テクニックを使用します (これは指数平滑化に類似した平滑化ラインを生成します)。
\[\bullet\; +DM_{n-periods} = +DM_{n-1} - \left ( \frac{+DM_{n-1}}{n} \right ) +( +DM_{n})\]
\[\bullet\; -DM_{n-periods} = -DM_{n-1} - \left ( \frac{-DM_{n-1}}{n} \right ) +( -DM_{n})\]
\[\bullet\; ATR_{n-periods} = ATR_{n-1} - \left ( \frac{ATR_{n-1}}{n} \right ) +( TR_{n})\]
+DI と -DI、上昇・下降の方向性指数を、TR (トゥルー レンジ) の対 % 指数として計算します。
\[\bullet\; +DI = \left ( \frac{+DM}{TR} \right ) \times 100\]
\[\bullet\; -DI = \left ( \frac{-DM}{TR} \right ) \times 100\]
次の手順は以下の場合 DX を計算します。
\[\bullet\; DI_{diff} = \left |\; ((+DI) - (-DI))\; \right| \]
\[\bullet\; DI_{sum} = ((+DI) + (-DI)) \]
\[\bullet\; DX = \left( \frac{DI_{dif}}{DI_{sum}}\right) \times 100\]
DX は常に 0 ~ 100 間の値です。DX の平均化に蓄積移動平均テクニックを使用します。結果は ADX または ADM 平均方向性指数です。
\[ADX_{n} = +ADX_{n-1} - \left ( \frac{ADX_{n-1}}{n} \right )+(DX_{n})\]