https://s3-us-west-2.amazonaws.com/secure.notion-static.com/04652455-d08c-429b-bdf5-8920abf5cf88/USDJPY_iDaily.png

Average Directional Movement Index(平均方向性指数)の略で、方向性(トレンド)の大きさを表す指標です。ADXが大きければ、上昇、下落に関係なくトレンドが強いと判断されます。どちらのトレンドが強いかは、高値の上昇する強さ+DIと、安値の下落する強さ-DIで判断します。

関数書式

double  iADX(
   string              [symbol](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>),           // 銘柄
   ENUM_TIMEFRAMES     [timeframe](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>),        // 時間軸
   int                 period,           // 計算する期間
   ENUM_APPLIED_PRICE  [applied_price](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>),    // 価格の種類
   int                 mode,             // 出力するライン
   int                 [shift](<https://toyolab-fx.notion.site/7010417f6ffc4d43aaca4a8b77bafcfd>)             // 計算するバーの位置
   );

ADXのパラメータは、計算する期間periodです。

どのラインを出力するかをmodeの引数で指定します。MODE_MAINがADX、MODE_PLUSDIが+DI、MODE_MINUSDIが-DIを表します。

使用例

ADXの±DIラインの交差

計算方法

現在のバーにおける+DIの値PDI[0]は、バーの真の値幅TR[i]に対する高値の変化dP[i]の指数移動平均(EMA)により求めます。-DIの値MDI[0]は、TR[i]に対する安値の変化dM[i]の指数移動平均(EMA)により求めます。

現在のバーにおけるADXの値ADX[0]は、PDI[i]MDI[i]の和に対するPDI[i]MDI[i]の差の割合の指数移動平均(EMA)により求めます。

PDI[0] = EMA(dP[i]/TR[i], period)*100
MDI[0] = EMA(dM[i]/TR[i], period)*100
ADX[0] = EMA(|PDI[i]-MDI[i]|/(PDI[i]+MDI[i]), period)*100

dP[i] : High[i]-High[i+1](高値の変化、ただしdP[i]≦dM[i]の場合0

dM[i] : Low[i+1]-Low[i](安値の変化、ただしdP[i]≧dM[i]の場合0

TR[i]Max(High[i], Close[i+1]) - Min(Low[i], Close[i+1])(真の値幅)


<aside> 📝 MT5に組み込まれているADXには、applied_priceのパラメータがないので、applied_priceの指定は無効になります。MT4に組み込まれているADXではapplied_priceによって値が異なりますが、MT5と同じADXにするにはapplied_pricePRICE_CLOSEに設定してください。

</aside>