インディケータ: Average True Range (ATR)

 

Average True Range (ATR):

Average True Range (ATR) は、相場のボラティリティを測るインジケーターです。

Welles Wilder氏の著書"New concepts in technical trading systems"に記述されています。このインジケーターは、他のインジケーターやトレードシステムの一部として広く使われています。

Average True Range は、暴落の後の相場の底でしばしば高い値になります。インジケーターが小さい値になるということは、長期間にわたって相場がレンジの状態にあることを表します

Average True Range は、他のボラティリティ系のインジケーターと同じように解釈することができます。このインジケーターによる予測方法は、次のようになります。: インジケーターの値が高くなればなるほど、トレンドが変化する可能性が高かくなる。; インジケーターの値が低くなればなるほど、トレンドの動きが弱くなる。

作者: MetaQuotes Software Corp.

 

資金管理モジュールでは、期間と通貨ペアを指定してATRを使う必要があります。ATRを使用した例を挙げてみました。Expert Advisorをコンパイルしようとすると、100以上のエラーが発生します。

以下は標準ライブラリの説明です:

クラス CiATR

クラス CiATR は、テクニカル指標「Average True Range」を扱うためのクラスです。
説明

クラス CiATR は、指標「Average True Range」の作成、設定、データへのアクセスを提供します。
宣言
クラス CiATR: public CIndicator

タイトル
#include <IndicatorsOscilators.mqh>.

このCiATRはライブラリーのどこにもありません!このプログラムはどのように実装すればよいのでしょうか?

データへのアクセスに興味があります。

 
solo:

ライブラリーのどこにもCiATRがない!!!どのようにプログラムを実装すればいいのでしょうか?

データへのアクセスに興味があります。

あるはずだ。今、自分で確認したところだ。


 

こんにちは、皆さん。問題解決の手助けをお願いします。MT4ターミナルです。タスクは、例えば(5)と(20)のように期間の異なる2つのATRインジケータを1つのウィンドウに配置することです。解決策: インジケーターを1つのウィンドウにドラッグ&ドロップします。問題 表示されたインジケーターの数値が、数値の表に表示されたデータと乖離している。

ATR (5) red - 0.0112 ATR(20) - 104 図を見てわかるように、赤い線は青い線の下にあります。可能であれば、このバグの修正にご協力ください。

 
Hekler: 可能であれば、このバグの修正にご協力ください。
バグではありません。各インジケーターはそれぞれ独自のスケールを持っています。
 
TheXpert:
バグではない。それぞれのインジケーターには独自の目盛りがあります。
さて、それぞれのインジケーターには独自の目盛りがありますが、まずインジケーターの位置を視覚的に判断するために、これらのインジケーターの目盛りをどのように合わせればよいのでしょうか?つまり、インジケータの位置と値を対応させたいのです。これは可能でしょうか?
 
Hekler:
さて、それぞれのインジケーターには独自の目盛りがありますが、まずインジケーターの位置を視覚的に判断するために、これらのインジケーターの目盛りをどのように合わせればよいのでしょうか?つまり、インジケータの位置をその値に対応させたいのです。これは可能でしょうか?
2つのATRを組み合わせたインジケータを作成 するか、スケールを固定する、つまり、両方のインジケータに同じ最小値と最大値を設定します。
 
TheXpert:
2つのATRを組み合わせたインジケータを作成 するか、スケールを固定する、つまり、両方のインジケータに同じ最小値と最大値を設定する。
はい、ありがとうございました。
 

私は今、Expert Adviserを構築している最中で、iATR()の結果を検証するために、このATRインディケータにたどり着きました。

驚いたことに、結果は50ベーシスポイント、時には250ベーシスポイント以上ずれていました。

このような経験をされた方はいらっしゃいますか?

サイファーピップス

削除済み  

ループは 、コードのこの行ExtATRBuffer[i]=0.0; がなくても動作するようだ。

//--- インジケータの最初のAtrPeriod値は計算されない。
      double firstValue=0.0;
      for(i=1;i<=ExtPeriodATR;i++)
        {
         ExtATRBuffer[i]=0.0;
         firstValue+=ExtTRBuffer[i];
        }
      //--- インジケータの最初の値を計算する

チャート USDJPY, M5, 2016.12.12 19:37 UTC, MetaQuotes Software Corp, MetaTrader 5, デモ