iADX(トレンドの強さを計る)MT4テクニカル指標関数

iADX 平均方向性指数(Average Directional Movement)

ADX(Average Directional Movement)を計算し、その値を返します。

ADXは、トレンドの有無やその強さを計るのに使用します。
値が大きいほどトレンドが強くなります。

一般的に、ADXが30を超えるとトレンドが強く、20を下回るとトレンドが弱いとみなします。
上昇トレンドでも下降トレンドでも、トレンドが強いと30を超えます。

iADX関数書式

double  iADX(
   string       symbol,        // symbol(通貨シンボル)
   int          timeframe,     // timeframe(タイムフレーム)
   int          period,        // averaging period(平均算出期間)
   int          applied_price, // applied price(適用価格)
   int          mode,          // line index(ラインインデックス)
   int          shift          // shift(シフト数)
   );

iADXパラメーター

symbol

文字列(string)
対象の通貨ペアを指定します。’USDJPY’や’EURUSD’のように指定します。
現在の通貨ペアを使用する場合(EA内で固定しない場合)は、NULLとします。

timeframe

整数(int)
タイムフレーム(時間枠)を数字で指定します。
5分足だと5、1時間足だと60、日足だと1440ですが、MT4に用意された定数を使用すると分かりやすいのでおススメです。

定数

意味

PERIOD_CURRENT

0

現在の時間枠

PERIOD_M1

1

1分足

PERIOD_M5

5

5分足

PERIOD_M15

15

15分足

PERIOD_M30

30

30分足

PERIOD_H1

60

1時間足

PERIOD_H4

240

4時間足

PERIOD_D1

1440

1日足

PERIOD_W1

10080

1週足

PERIOD_MN1

43200

1月足

period

整数(int)
ADXを計算する対象期間を数字で指定します。
ADXの計算では、「14」を指定することが一般的です。
timeframeを「PERIOD_D1」とした場合は、計算期間が14日間となります。

applied_price

整数(int)
始値、終値など、利用する価格を指定します。
整数で指定しますが、定数を利用すると分かりやすいのでおススメです。

定数

意味

PRICE_CLOSE

0

終値

PRICE_OPEN

1

始値

PRICE_HIGH

2

高値

PRICE_LOW

3

安値

PRICE_MEDIAN

4

高値と安値の平均、中間値、 (高値 + 安値)/2

PRICE_TYPICAL

5

高値と安値と終値の平均値、 (高値 + 安値 + 終値)/3

PRICE_WEIGHTED

6

加重平均価格、 (高値 + 安値 + 終値 + 終値)/4

mode

整数(int)
使用するインジケーターラインの種類を指定します。
以下から選んで指定します。

定数

意味

MODE_MAIN

0

基本インジケーターライン

MODE_PLUSDI

1

+DI インジケーターライン

MODE_MINUSDI

2

-DI インジケーターライン

shift

整数(int)
計算対象とする位置を現在位置からずらしたい場合に、ずらすバーの数を指定します。
1を指定すると1つ前のバーを計算対象とします。
現在の位置を指定するには、0を指定します。

サンプルコード

double adx = iADX(NULL, PERIOD_D1, 14, PRICE_CLOSE, MODE_MAIN, 0);   // 日足で14期間を終値で算出
double adx = iADX(NULL, PERIOD_H1, 14, PRICE_OPEN, MODE_MAIN, 0);   // 1時間足で14期間を始値で算出