この記事ではTrading View独自のプログラム言語である「Pineスクリプト」を使ったインジケーターの記述例を紹介しています。オリジナルのインジケーターやストラテジー作成の参考にしてみてください。Pineスクリプトの知識がない方でもコピペするだけで使うこともできます。この記事を参考にして頂ける場合は、必ず免責事項をご確認ください。
ADX:Average Directional Movement Index(平均方向性指数)
ADX(Average Directional Movement Index)はDMI(方向性指数)から算出した+DIと-DIをもとに計算します。
DMIはトレンドの方向性を表すのに対して、ADXはトレンドの強弱を示します。したがって、DMIとADXは併用して使うことが一般的です。
ADXの値は0~100の範囲にあり、値が高いほど強気トレンド、値が低いほど弱気トレンドとなります。
また、ADXを単純移動平均化したものをADXRと呼びます。
ADXRをADXが上抜けした場合(ゴールデンクロス)より強気のトレンド、ADXRをADXが下抜けした場合(デッドクロス)より弱気のトレンドと判断します。
ADXの計算式
ADXはDMI(方向性指数)で算出した+DIと-DIから計算します。
DX =(+DI - -DI)の絶対値 ÷(+DI + -DI)× 100
ADX = DXのN日単純移動平均
ADXR = ADXのM日単純移動平均
ADXをPineスクリプトで書く
dmi関数を使う場合
//ADXをPineスクリプトで書く
//@version=4
study("ADX", overlay=false)
len = input(14, title="DM期間")
len2 = input(14, title="ADX期間")
smooth = input(14, title="ADXR期間")
src = input(close, title="ソース")
[plus, minus, adx] = dmi(len, len2)
adxr = sma(adx, smooth)
plot(plus, title="+DI", color=color.red)
plot(minus, title="-DI", color=color.green)
plot(adx, title="ADX", color=color.blue)
plot(adxr, title="ADXR", color=color.yellow)
dmi関数を使わない場合
//ADXをPineスクリプトで書く
//@version=4
study("ADX", overlay=false)
len = input(14, title="DM期間")
len2 = input(14, title="ADX期間")
smooth = input(14, title="ADXR期間")
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)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), len2)
adxr = sma(adx, smooth)
plot(plus, title="+DI", color=color.red)
plot(minus, title="-DI", color=color.green)
plot(adx, title="ADX", color=color.blue)
plot(adxr, title="ADXR", color=color.yellow)
アカウントを作成する
おすすめチャートツール:Trading View
- 高性能チャートツール
- オリジナルのインジケーターが作成できる
- FX、仮想通貨、株、ETF、コモディティなど国内外問わず様々な銘柄に対応
コメント