見出し画像

【MT4】上位足(1時間足)のボリンジャーバンドを表示するインジケーターの作り方

今回は、上位足(1時間足)のボリンジャーバンドを下位足のチャートに表示するインジケーターの作り方を書いていきたいと思います。

FXで勝てるようになる為には、環境認識が一番大切だと思ってます。
上位足がどのような動きで、どのような位置にあるかをまず把握するのが大切です。

その中でも、1時間足のボリンジャーバンドが意識されてれ反発する場面は多々あります。
5分足でトレードしていて、ブレイクしたと思って順張りで入っても、すぐ近くに1時間足のボリンジャーバンドにあたって反発したって経験ある方も多いのではないでしょうか?

そこで上位足のボリンジャーバンドを常に表示しておく事で
反発ポイントを把握できますし、利確ポイントとして利用する事も可能です!

ボリンジャーバンドの値の取得方法

ボリンジャーバンドの値を取得するのは、iCsutom関数を利用するの簡単です。

iCustom(symbol,TimeFrame,"Bands",B_period,B_Shift,B_Deviations,lineIndex,Shift);

※iCustom関数の詳しい書き方は別の記事でご紹介します

上記はボリンジャーバンドの時の書き方になります。

symbol:通貨ペア
TimeFrame:時間足
B_period:期間
B_Shift:表示移動
B_Deviations:偏差
LineIndex:ライン番号
Shift:何本前か

を設定すると、ボリンジャーバンドの値が取得できます。
1時間足のボリンジャーバンドの値を取得したいので、
TimeFrameのところが「60」になりますね。

ボリンジャーバンドのライン番号は以下の通り

1:上ライン
2:下ライン

iCustom(NULL,60,"Bands",20,0,2,1,0)

上記のように書くと、期間20、偏差2の1時間足の上バンドの値が取得できます。

下位足の10本前は、1時間足で10本前ではない

これで1時間足のボリンジャーバンドの値は取得できるようになりましたね。

これで出来たも同然と思ったんですが、一つ問題が!

例えば5分足で5分足で5本前は、時間にして25分前なので、
1時間足は5本前ではないんですよ。1時間足の5本前は5時間前なので。

更にやっかいなのが、5分足の5本前が0分をまたいでるかどうかで、
1時間足では、今の足か、一つ前の足か変わってきます。

もうややこしいですよね^^;
私はここでハマったんですが、簡単な方法があったので、ご紹介!

iBarShift関数で一発解決です!

iBarShift(NULL,60,指定時刻,true);

上記のように書く事で、1時間足では何本前にあたるかを取得してくれます!

はぁ~なんて便利な関数!MQLさんありがとうございます。

という事で、1時間足のボリンジャーバンドの値がこれで取得できるようになりましたので、
後はインジケーターのバッファにこの値を入れてあげればOKですね!!

//ボリンジャーバンドの上バンド、下バンド用のインジケーターバッファ宣言
double    Ext60Bue[];
double    Ext60Bsi[];

OnCalculateの中で

int CountedBars=IndicatorCounted();
  
if(CountedBars<0) return(-1); if(CountedBars>0) CountedBars--;
limit=Bars-CountedBars;
  
//1分足に表示しても再計算されるように
if (limit < 60) {
    limit = 60;
}      
  
int i60;

for(i = 0; i < limit; i ++) {
    i60 = iBarShift(NULL,60,Time[i],true);
    Ext60Bue[i]=iCustom(NULL,60,"Bands",IN_period,IN_Shift,IN_Deviations,1,i60);
    Ext60Bsi[i]=iCustom(NULL,60,"Bands",IN_period,IN_Shift,IN_Deviations,2,i60);
}

ボリンジャーバンドのパラメーター設定部分は、
同じく設定できるようにしてます。(IN_〇〇ってやつは、インプットパラメーターです)

画像2

もちろんラインの色や線なども変更できます

画像2

画像3

赤の線で表示されてるのが1時間足のボリンジャーバンドですね。
5分足に表示しているので、足が12本分は同じ値になってます。

結構反発ポイントになってるでしょ!

まとめ

1時間足のボリンジャーバンドを下位足に表示する方法をご紹介してきました。

コンパイルするだけの状態の全ソースコード販売してます。
ご利用は自己責任でお願い致します。

ここから先は

2,439字
この記事のみ ¥ 500

この記事が気に入ったらサポートをしてみませんか?