DMI、ADXはオシレータ系インジケータの一種ですが、トレンドの有無とその強弱を推測することができます。
トレンド系インジケータはあくまで見た目のパターン判断であるのに対して、トレンドを数値化できるので自動売買や過去検証には役立ちます。
DMI, ADX
ADXは J. Welles Wilder 氏によって考案されたものですが、これ以外にも RSI、ATR、Parabolic SAR などのインジケータを発表しています。
元々は方向性指数のDMIがメインでだったものが、そをれを平均化したADXの方が有名になっいます。
DMI3つのライン
DMIは3つのラインで構成されていています。
- +DI:買い勢力の強さ
- -DI:売り勢力の強さ
- ADX:トレンドの強さ
+DIと-DIの計算式
計算式は以下のようになります
- +DI = n期間の UpMove 合計 / n期間の TR 合計 ×100
- -DI = n期間の DownMove 合計 / n期間の TR 合計 ×100
ここで UpMove と DownMove は、
- UpMove = 現在の足の高値 – 1つ前の足の高値
- UpMove < 0 の場合は、UpMove = 0
- UpMove < DownMove の場合は、UpMove = 0
- DownMove = 1つ前の足の安値 – 現在の足の安値
- DownMove < 0 の場合は、DownMove = 0
- DownMove < UpMove の場合は、DownMove = 0
実際のローソク足で見てみると、
UpMoveが計算されるのは0以上でDownMoveより大きいか、DownMoveが0以下のケース
DownMoveが計算されるのは0以上でUpMoveより大きいか、UpMoveが0以下のケース
両方が0以下の場合と、あまり無いですが同じ場合はUpMoveとDownMoveは共に0です。
終値を考慮されず、それでもトレンドが0なのか疑問ではありますが
TRの計算式
TR (True Range)は以下の最大値を選びます
(これをある期間平均化するとATRになります)
- 現在の足の高値 – 現在の足の安値
- 現在の足の高値 – 1つ前の足の終値
- 1つ前の足の終値 – 現在の足の安値
実際は(1)のケースがほとんどだと思いますが、窓開けを考慮しているのでしょう
以上より+DI、-DIの計算値が求められます。
+DI = n期間の UpMove 合計 / n期間の TR 合計 ×100
-DI = n期間の DownMove 合計 / n期間の TR 合計 ×100
Wilder氏はn期間を14としています
ADXの計算式
ADXを求めるためにDXを計算しそれを平均化します
- DX = |(+DI) – (-DI)| / ((+DI) + (-DI)) × 100
- ADX = DXのn期間の平均
DXは、+DIと-DIの差の絶対値を+DIと-DIの合計で割って100倍したものです。
DMIのインジケータを活用する
DMIを使ってチャートを見てみましょう。
USDJPYのH1にDMIのインジケータをセットしました。
(1) 売り優勢で下落トレンド
-DIが上昇して+DIが下落している、また+DI < -DIなので売り優勢と分かります。
ADXが上昇しているためトレンドが強く表れているのがわかります。
(2) 買い優勢で上昇トレンド
+DIが上昇して-DIが下落している、また+DI > -DIなので買い優勢と分かります。
ADXが上昇しているためトレンドが強く表れているのがわかります
(3) 小動き
-DIが+DIを越えたりその逆もありますが、ADXがさほど上がらず全体として小動き、もみあっていると分かります。
単純な戦略として以下のことが考えられます。
- +DIが-DIの上にあり、ADXが上昇している
=> 買い
- -DIが+DIの上にあり、ADXが上昇している
=> 売り
References:
J. Welles Wilder Jr.
Average directional movement index