今回は、メジャーな指標として活躍しているボリンジャーバンドを描画してみます。
標準偏差を元にした数値からバンドを表示させているものです。
基本的には、SMAをミドルラインとして上方と下方に標準偏差ラインを引いているので描画方法としては結構シンプルです。
フォルダ・ファイル作成
フォルダの作成や、mqhとmq5のファイル作成については、
「MQL5 | 移動平均線」の記事に書かれていますので、そちらを参考にしてください。
分かっている人はこのままソースコードを見て頂ければと思います。
ソースコード
以下がソースになります。
基本的にmqhとmq5で2つに分けています。エントリソースであるmq5にmqhをインクルードする形になります。
コピペするかダウンロードしてください。
配置するディレクトリ階層は以下になります。
C:\Users\[ユーザー名]\AppData\Roaming\MetaQuotes\Terminal\[セキュリティを考慮した長い文字列]\MQL5
mqhファイルは「Include」のOriginalフォルダに、mq5ファイルは「Indicators」のOriginalフォルダに入れてください。
このFwDef.mqhというのは、エラー処理に使います。
Mql5_BollingerBands.mqh
標準偏差は2.0と3.0をデフォルトとしていますが、このパラメータは普通はイジらないです。
私が作った「Mql5_MovingAverages.mqh」でクラス継承しようと思いましたが、
手間だったので標準ライブラリにある「MovingAverages.mqh」を利用しました。
このmqhファイルはMT5とMetaEditorをインストールしていればあるものなのでそのままインクルードしてもらえればいいですが、
無い場合は、以下からダウンロードして「C:\Users\[ユーザー名]\AppData\Roaming\MetaQuotes\Terminal\[セキュリティを考慮した長い文字列]\MQL5\Include」に配置してください。
MovingAverages.mqh
以下はmq5ファイルです。
これで「Mql5_BollingerBands.mqh」をインクルードしてインジケータとしてビルドして動かします。
MT5_BollingerBands.mq5
ボリンジャーバンドの描画も「MT5_MovingAverages.mq5」と同様の描画方法になっていまして、prev_calculatedを利用しています。
インジケータを扱う場合は、pvev_calculatedで不要な描画処理を省くことができるので便利です。
クリアフラグをfalseにすることでprev_calculatedを使えます。
あとは、mq5のソースの画面でコンパイルしてエラーを吐かずに成功したら、mq5ファイルと同じディレクトリ下にex5ファイルが生成されます。
MT5_BollingerBands.ex5
これをMT5でインストールして動かします。
MT5を立ち上げてログインし、上部のボタン群から「f」というアイコンがあるのでクリックします。
そこから一番下の「カスタム」から一番下へスクロールすると、「MT5_BollingerBands」という名前があるのでクリックすれば下の画面が出てきてインジケータが起動します。
OKを押せば、下の画面のようにチャートにボリンジャーバンドが描画されます。
これを取引の指標として見ることになります。お疲れさまでした。