Average True Range(iATR)関数|MT4インディケータ

2024年9月5日

MetaTrader 4(MT4)を使ったFX自動売買において、テクニカル指標の理解と活用は非常に重要です。この記事では、Average True Range(iATR)インディケータについて、初心者にもわかりやすく解説します。

Average True Range(iATR)とは?

Average True Range(ATR)は、相場のボラティリティ(価格変動の激しさ)を測定するためのテクニカル指標です。J. Welles Wilderが開発したこの指標は、一定期間内の「真の値幅(True Range)」の平均を計算します。ATRが高い場合、相場は激しく変動しており、ATRが低い場合、相場は静かであることを示します。

iATRの計算方法

MT4では、iATRを計算するためにiATR()関数を使用します。この関数は以下のように定義されています。

関数仕様
double iATR(
    string symbol,   // 通貨ペア種類
    int timeframe,   // 時間軸種類
    int period,      // 移動平均の期間
    int shift        // 取得するバーの位置(0が最新のバーを表し、1~が過去のバーに遡っていきます)
);

この関数は、指定された通貨ペアと時間軸におけるATRの値を返します。

引数の説明

symbol
通貨ペアの種類を指定します。例えば、"EURUSD"や"GBPJPY"など。
timeframe
時間軸の種類を指定します。例えば、1分足(1)、5分足(5)、1時間足(60)など。
period
ATRを計算する期間を指定します。
shift
取得するバーの位置を指定します。0が最新のバーを表し、1以上の数値が過去のバーを表します。

サンプルコード

以下に、iATR()関数を使用して最新のバーのATR値を取得するサンプルコードを示します。

サンプルコード
// EURUSDの1時間足で最新のバーのATR値を取得する例
double atr_value = iATR(“EURUSD", PERIOD_H1, 14, 0);
Print(“EURUSDの1時間足の最新のATR値: “, atr_value);

このサンプルコードでは、"EURUSD"の1時間足における最新のATR値を取得し、ターミナルウィンドウに表示します。

以下は、2つの異なる期間のATR値を比較して、ボラティリティの変化を判断する例です。

応用例
// EURUSDの1時間足で2つの異なる期間のATR値を比較してボラティリティの変化を判断する例
double atr_short = iATR(“EURUSD", PERIOD_H1, 12, 0);
double atr_long = iATR(“EURUSD", PERIOD_H1, 20, 0);

if (atr_short > atr_long) {
    Print(“短期のボラティリティが増加しています。");
} else {
    Print(“長期のボラティリティが高いです。");
}

このコードは、12期間のATRが20期間のATRより大きい場合、短期のボラティリティが増加していると判断します。

まとめ

Average True Range(iATR)インディケータは、相場のボラティリティを測定するための強力なツールです。MT4のiATR()関数を使用することで、簡単にこのインディケータの値を取得し、トレード戦略に活用することができます。初心者の方も、この基本的な使い方を理解して、実際のトレードに応用してみてください。

MQL4

Posted by 佐川直弘