トレンドの安定性を判断するために、J. Welles Wilderが開発したのが平均方向指数(ADX)です。
ADXを使うことで、マーケットのトレンドを分析し、トレーディングの意思決定を行うことが可能です。もちろん、FOREX市場でも活用できます。
しかし、従来のADXインジケーターは視覚的な使い勝手が良くないため、見た目が改善されたColorXADX.mq5インジケーターが開発されました。このインジケーターでは、+DIと-DIのラインがDRAW_FILLINGスタイルで表示され、現在のトレンドの方向によって色が変わり、トレンドの強さに比例したクラウドの幅が反映されます。ADXラインは点の形で表示され、その色はトレンドの強さによって変わります。
このインジケーターは、ユニバーサルスムージングを用いており、異なる平均化方法を選択できる特徴があります。選択できる平均化方法は以下の通りです:
- SMA - 単純移動平均
- EMA - 指数移動平均
- SMMA - スムーズ移動平均
- LWMA - 線形加重移動平均
- JJMA - JMA適応平均
- JurX - 超線形平滑化
- ParMA - パラボリック平滑化
- T3 - ティルソンの多重指数平滑化
- VIDYA - Tushar Chandeのアルゴリズムによる平滑化
- AMA - Perry Kaufmanのアルゴリズムによる平滑化
なお、Phaseパラメーターは異なるスムージングアルゴリズムによって全く異なる意味を持ちます。
- JMAの場合、-100から+100まで変化する外部Phase変数。
- T3の場合、視覚化を容易にするために100倍されたスムージング比率。
- VIDYAの場合はCMO期間、AMAの場合は遅延EMA期間。
- AMAの早いEMA期間は固定値で、デフォルトでは2です。また、AMAの累乗比率も2です。
このインジケーターはSmoothAlgorithms.mqhライブラリのクラスを使用しています(terminal_data_folder\MQL5\Includeにコピーする必要があります)。クラスの使用については、「追加バッファを使用せずに中間計算のための価格系列の平均化」という記事で詳しく説明されています。

ColorXADXインジケーターの入力パラメーター:
//+----------------------------------------------+//| インジケーター入力パラメーター |//+----------------------------------------------+input Smooth_Method XMA_Method=MODE_T3; // ヒストグラムのスムージング方法inputint ADX_Period =14; // XMAスムージング期間inputint ADX_Phase=100; // XMAスムージング期間 [-100...+100]input Applied_price_ IPC=PRICE_CLOSE_; // 適用価格inputint Shift=0; // インジケーターの水平シフト(バー単位)inputint ExtraHighLevel=60; // 最大トレンドレベルinputint HighLevel=40; // 強いトレンドレベルinputint LowLevel=20; // 弱いトレンドレベルinputENUM_LINE_STYLE LevelStyle=STYLE_DASHDOTDOT; // レベルラインのスタイルinputcolor LevelColor=Blue; // レベルの色inputENUM_WIDTH LevelWidth=w_1; // レベルの幅

コメント 0