期間内の高値安値を求めるインディケーターの作り方


hl2HL多くの人がトレードの目安として、高値安値を気にすると思います。
高値安値は、多くの人に意識されるので、トレードに有効だと思います。

今回は、過去の高値安値にラインを引くインディケーターの作り方を紹介します。

今回のコードはコチラ

つっくたものはこちら→HL.zip

iHighestとiLowest

MQLで指定期間内の高値と安値を取得するには、次の2工程を踏まないといけません。

1.一番高値のあるバーの位置を探す
2.高値を取得する

高値のあるバーは、MQL関数のiHighest で位置を返すことができます。
逆にいうとiHighestは、高値を調べるのではなく、高値のあるバーの位置を調べます

iLowestはそのまま反対に、安値の位置を調べます

iHighest(),iLowestの引数

iHighest、iLowestの文は

iHighest(Symbol,timeframe,type,count,start)

という風に定義されています。

Symbolは、通貨ペアです。現在のチャートの通貨ペアに適応する場合NULLでOK

timeframeはどの時間足を使うかです。現在の時間軸を使う場合は0にします。

typeはどのデーターを使うかを指定します。 MODE_CLOSEで終値、MODE_HIGHで高値を使用します。

countは検索する範囲のバーの数を指定します バーは、現在から過去に向かって検索します

startは検索を開始するバーの位置を指定します。 今回はループの中なのでiとしています。

 

iHighest()、iLowestで期間内の高値安値がある位置がわかれば、

高値安値の配列 High[]  、Low[]でそれぞれの価格を取得します。

今回はこのように書いています

=High[iHighest(NULL,0,MODE_HIGH, First_HL,i)];

First_HLは変数で後で数値を変更できるようにしています。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です