相場の変動を測定 iATR 関数

関数

テクニカルインジケータ関数

iATR 関数

この関数は、任意に設定したパラメータのATR (Average True Range) の値を計算して、その値を取得します。ATRはオシレータ系のインジケータに分類されます。

ATR

ATR (Average True Range) は、相場の変動の大きさ (ボラティリティ) を測定するための指標になります。

ATR は、数日間、数週間、あるいは数か月間の期間で、価格変動のレンジを測定します。価格のレンジが拡大するほど、ATR の値は大きくなります。逆に、価格のレンジが縮小するほど、ATR の値は小さくなります。

ATR は、価格変動のレンジが広がっている場合にはトレンドの方向性が強くなっている可能性が高く、価格変動のレンジが狭まっている場合にはトレンドの弱さや方向転換の可能性が高いことを表します。ATR を用いることで、適切なストップロスの設定や、ポジションサイズの調整などのトレード戦略を立てることができます。

MT4でチャート上にATRをプロットする時はナビゲーター中のインディケータ → 「ATR」インジケータを使用します。

(ATRの計算式)

ATR (Parabolic Stop And Reversal system) の計算方法は、以下のとおりです。

 ATR = Σ TR ÷ N
 TR:以下の①~③の値で最大値を選びます。
  ①対象のバーの高値と安値の差
  ②対象のバーの高値と1つ前のバーの終値の差の絶対値
  ③対象のバーの安値と1つ前のバーの終値の差の絶対値
 N:移動平均期間

上記、式を用いた計算をする時は、たとえば、ATRを日足チャート、移動平均期間は14日間で計算するとします。直近のバーを含めて14日分のバーのTRを求め、全て合計します。その合計した値を14で割り算したものが現在のATRになります。

上記の計算では、移動平均の計算を単純移動平均 (SMA) で算出していますが、指数移動平均 (EMA) で算出する場合もあります。

(ATRの使い方)

ATRは、ある期間内の価格変動幅を示す指標であり、トレンドの強さやレンジ相場の情報を知ることができます。以下にATRの使い方の例です。

①トレンドの強さを判断する
トレンドが強い場合、価格変動幅も大きくなる傾向があります。そのため、ATRの値が高い場合はトレンドが強いことを表します。逆に、ATRの値が低い場合はトレンドが弱いことを表しています。

②エントリーポイントの決定
ATRは、ある期間内の価格変動幅を表すため、取引する際のリスクを把握することができます。たとえば、ATRが高い場合は価格変動幅も大きくなるため、ポジションサイズを小さく設定することができます。また、トレンド相場であれば、ロングポジションを持つ場合は、ATRの値が高いところでエントリーすることが望ましいです。

③ストップロスの設定
ATRは、リスクを把握するためにも使えます。たとえば、トレンド相場であれば、ATRの値を使ってストップロスを設定することができます。

データ型と構成・戻り値

double iATR(①, ②, ③, ④);

戻り値は、任意に設定したパラメータのATRの値を計算して、その値を返します。

引数 [4]

iATR関数は 4個の引数で構成されます。


引数名データ型単位初期値説明
symbolstring計算対象の通貨ペア名。
「NULL」は選択チャートの通貨ペア名が選択されます。
timeframeint時間軸。ENUM_TIMEFRAMES 列挙値から選択。
「0」は現在チャートの時間軸が選択されます。
periodintATRの計算期間。ATRを計算するバーの数を数値で設定します。
shiftintATRの値を算出するバーの位置。
現在のバーから指定した時間軸のバー数だけ過去へシフトします。たとえば、現在のバーからの計算は「0」、 1つ前のバーから計算する時は「1」になります。

使用例

iATR関数によるATR値の確認

iATR関数を使って、日足チャートの14日間のATRの値を計算します。

コード

// iATR関数によるATR値の確認
#property strict
void OnInit() {

   double ATR = iATR(NULL, 0, 14, 0);

   Print("ATR値:", ATR);
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました