今回は、1・2段階上位のマルチタイムフレームを取り入れたMAを描画したいと思います。
ピリオドをコンバートするだけですので、関数内で処理して戻り値を取得するだけとなります。
対象ピリオドは、M1・M5・M15・H1・H4・Daily・Weakly・Monthlyの8つです。
Monthlyの時の2段階上位のコンバートは誤差が大きいのでやりません。
ちなみに、このピリオドの間隔は均等になるようにしています。
でないと、フラクタル構造の原理に合わせたマルチタイムフレームの意味がないですから。
フォルダ・ファイル作成
フォルダの作成や、mqhとmq5のファイル作成については、
「MQL5 | 移動平均線」の記事に書かれていますので、そちらを参考にしてください。
分かっている人はこのままソースコードを見て頂ければと思います。
ソースコード
以下がソースになります。
基本的にmqhとmq5で2つに分けています。エントリソースであるmq5にmqhをインクルードする形になります。
コピペするかダウンロードしてください。
配置するディレクトリ階層は以下になります。
C:\Users\[ユーザー名]\AppData\Roaming\MetaQuotes\Terminal\[セキュリティを考慮した長い文字列]\MQL5
mqhファイルは「Include」のOriginalフォルダに、mq5ファイルは「Indicators」のOriginalフォルダに入れてください。
このFwDef.mqhというのは、エラー処理に使います。
Mql5_MovingAverages.mqh
上のファイルは、「MQL5 | 移動平均線」のものを流用しています。
このクラスでマルチタイムフレームを施したMAを描画します。
Mql4_5_MultiTimeframe.mqh
上のファイルに1・2段階上位のピリオドに加工するための関数を宣言しています。
MT5_MTFMA.mq5
MovingAveragesクラスのインスタンスを3つ生成して、マルチタイムフレームの移動平均線を描画しています。
あとは、mq5のソースの画面でコンパイルしてエラーを吐かずに成功したら、mq5ファイルと同じディレクトリ下にex5ファイルが生成されます。
MT5_MTFMA.ex5
これをMT5でインストールして動かします。
MT5を立ち上げてログインし、上部のボタン群から「f」というアイコンがあるのでクリックします。
そこから一番下の「カスタム」から一番下へスクロールすると、「MT5_MTFMA」という名前があるのでクリックすれば下の画面が出てきてインジケータが起動します。
OKを押せば、下の画面のようにチャートに3つから構成されるマルチタイムフレーム移動平均線が描画されます。
これを取引の指標として見ることになります。お疲れさまでした。