MT4 インディケーター作成講座 ボリンジャーバンドの幅を文字で表示する

bbw

前回の記事で、チャートにスプレッドを表示するインディケーターを作製しました。
今回はそれの応用で、よくつかわれるテクニカル指標のボリンジャーバンドの現在の幅を文字で表示するインディケーターを作成してみます。

今回作ったものはこちら →BBWith.zip

こちらが今回のソースコードです。

ボリンジャーバンドの値を計算する iBands();

MQLでボリンジャーバンドの値を求めるには、組み込みテクニカル指標の iBandsを使用します。

iBands関数のパラメーター

①symbol 通貨ペア

通貨ペアを設定します。 「NULL」と書けば、プログラムを挿入したチャートの通貨ペアを使用します

②timeframe 時間枠

計算に使用する時間枠を設定します。 「0」で現在のチャート上の時間枠を使用します。
マルチタイムフレームのインディを作りたい場合は、それぞれの時間を設定します。

設定は分で行い、 1時間足なら60、4時間足なら240、日足なら1440 というう風に設定します。

③Period ボリンジャーバンドを算出するバーの本数

ボリンジャーバンドを算出する期間を設定します。
今回のプログラムでは、変数を設定し、後で自由に数値を変更できるようにしています。

④deviation ボリンジャーバンドの標準偏差(σ)

ボリンジャーバンドのσは標準偏差のことで よく見るのは2σです。
deviationは上下バンドの幅を指定します。
これも変数を指定し、後で変更できるようにしています。

⑤bands_Shift バンドを右方向へずらすバーの数

一目均衡線の遅行線のように、右方向へずらす場合、その数を指定します。
基本的には0でOKです。

⑥applied_Price 適応する価格

ボリンジャーバンドの計算にどの価格を使うかを指定します。 基本的には終値を使うのでPRICE_CLOSEとなっています。
他にも始値、高値などいろいろな値で計算できます

PRICE_CLOSE 終値
PRICE_OPEN 始値
PRICE_HIGH 高値
PRICE_LOW 安値
PRICE_MEDIAN (高値+安値)÷2
PRICE_TYPICAL (高値+安値+終値)÷3
PRICE_WIGHTED(高値+安値+終値*2)÷4

⑦mode どのラインの値を取得するか
ボリンジャーバンドには3つの線があるので、どの線の値を取得するかを指定します。
中間線は0
上のバンドは1
下のバンドは2です。

⑧shift 現在のバーから何本目のバーの値を取得するか
現在のバーの値を取得したい場合は0、1本前の値を取得する場合は1のように記述します。
現在のバーが0で、過去のバーつまり、左に進むにつれて数字が増えていきます。

値をpips表示にする

ボリンジャーバンドの幅を普通に計算すると、通貨ペアの値の単位で表示されます。
これだと、小数点が増え個人的にはとても見づらいので、このインディケーターではpipsで表示できるようにしています。

そのあたりの処理の流れとしては、まず以下のコード

digitsは現在の通貨ペアの小数点以下が何桁あるかを返します。
もし小数点以下が5桁あれば、計算結果に10000を掛け、整数にしてしまいます。

そして、iBandsを二つ使い、その差に先ほどの倍率をかけています。

MathRound関数は実数を整数にして、四捨五入をしてくれる関数です。
表示周りは、前回作成した現在のスプレッドを表示するインディケーターとまったく同じですので、そちらを参考にしてください。

キャプチャMT4インディケーター作成講座 チャートにスプレッドを表示するインディケーター
FXトレードをする上で、重要なスプレッド スプレッド変動型の業者を使っていればリアルタイムのスプレッドは気になると思います。 ...

コメントを残す

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