MT4ボリンジャーバンドのバンド幅を常時チャート上に表示する自作インジケーター

色んなトレードノウハウを調べては、自作のEAを作っているのですが、ボリンジャーバンドの幅(特に−2σ〜+2σ)をチェックするトレードノウハウが多い。

常にボリンジャーのバンド幅をチャート上に表示していた方が便利なので、今現在の幅がどのくらいなのかを確認できる簡単なインジケーターを作ってみました。

実行結果

チャートの左上に、常に表示します。ポイント表示だけでなく、pips表示も入れました。

インジケーターダウンロード

一応、ソースを公開して解説していますが、不要な方もいると思うので。

こちらからダウンロードしてください。

MQL4ソースコード

たいしたコードではないので公開。

ベースソースは、MT4インストール時に最初から入っているボリンジャーバンドのカスタムインジケーターの「Bands.mq4」です。

 

これに、偏差1と3も表示する処理を入れて、それぞれの偏差の上下バンドを計算。ついで、pipsの計算も。Comment関数で表示するだけの簡単なものです。

 

偏差1のボリンジャーバンドは表示すると、チャートがぐちゃぐちゃになって、ウザい時もあるで、パラメーターでON/OFFが出来るようにしました。

矢野テック
矢野テック

本当はチェックボックスにしたかったけど、出来るんかな??。調べても分からなかった。

ソース解説

ボリンジャーバンドの各偏差の値を取得

iBands関数で、それぞれの偏差の値を取得。

iBandsの仕様はMQL4の公式リファレンスを参照してください。

iBands - Technical Indicators - MQL4 Reference - MQL4 Documentation
iBands - Technical Indicators - MQL4 Reference - MQL4 Documentation

ボリンジャーバンドの上下幅を計算して小数点の桁数丸め

NormalizeDouble関数を使って、桁数を丸める処理をいれました。これを入れないと、小数点が14桁常に表示して見づらい。

 

このままだとポイント表示なので、pips表示用に計算。ポイントを100倍すればpipsになります。

 

問題点

NormalizeDouble関数は、指定小数点で桁を丸める処理なのですが、たまにうまく表示しない時があります。値は合ってるけど、桁数がめちゃ多くなる事があります。

矢野テック
矢野テック

MQL4に最初から入ってる関数なので、どういう処理なのか不明なんだけど、たぶん桁上りの時に上手く表示できないようです。

 

コメント