DMI(方向性指数)|Trading Viewインジケーター

Trading Viewインジケーター「DMI」

この記事ではTrading View独自のプログラム言語である「Pineスクリプト」を使ったインジケーターの記述例を紹介しています。オリジナルのインジケーターやストラテジー作成の参考にしてみてください。Pineスクリプトの知識がない方でもコピペするだけで使うこともできます。この記事を参考にして頂ける場合は、必ず免責事項をご確認ください。

DMI:Directional Movement Index(方向性指数)

DMIはトレンド系インジケーターで上昇トレンドを表す+DIと下降トレンドを表す-DIの二本の線から構成されます。更に+DIと-DIのから算出するトレンドの強さを表すADX(平均方向性指数)もセットで表示させる場合が多くあります。

+DIと-DIは当日、前日の高値と安値を比較してどちら大きいかを見極めて相場の方向性を決定します。

+DIが-DIを上抜けた場合は上昇トレンドと判断して買い、+DIを-DIがした抜けした場合下降トレンドと判断して売りと判断します。

DMIの計算式

DMp = 当日高値 – 前日高値
DMn = 前日安値 – 当日安値

DMp < 0 かつ DMn < 0 :+DM = 0,-DM = 0
DMpかDMnが正でDMp < DMn :+DM = 0,-DM = DMn
DMpかDMnが正でDMp > DMn : +DM = DMp,-DM = 0
上記以外:+DM = 0,-DM = 0

+DI = 期間Nにおける+DMの合計 ÷ 期間NにおけるTRの合計 × 100
-DI = 期間Nにおける-DMの合計 ÷ 期間NにおけるTRの合計 × 100

DMIをPineスクリプトで書く

//DMIをPineスクリプトで書く
//@version=4
study("DMI", overlay=false)
len = input(14, title="期間")
src = input(close, title="ソース")
dmp = change(high)
dmn = -change(low)
plusDI = na(dmp) ? na : (dmp > dmn and dmp > 0 ? dmp : 0)
minusDI = na(dmn) ? na : (dmn > dmp and dmn > 0 ? dmn : 0)
trur = rma(tr, len)
plus = fixnan(100 * rma(plusDI, len) / trur)
minus = fixnan(100 * rma(minusDI, len) / trur)
plot(plus, title="+DI", color=color.red)
plot(minus, title="-DI", color=color.green)

アカウントを作成する

おすすめチャートツールTrading View

  • 高性能チャートツール
  • オリジナルのインジケーターが作成できる
  • FX、仮想通貨、株、ETF、コモディティなど国内外問わず様々な銘柄に対応

コメント

タイトルとURLをコピーしました