今回は、メジャーのインジケータである移動平均線をMT5で描画したいと思います。
クラスで管理していますので、折角なので2つの移動平均線、SMAとEMAを表示するインジケータを作成しました。
フォルダの作成
まず、オリジナルのフォルダを作成します。
MetaEditorを立ち上げて、左側のナビゲータの中から「Include」を選択します。
次に右クリックで「新しいフォルダ(F)」をクリックして “Original”というフォルダを作成します。
その中で「インクルードファイル(.mqh)」を置くことになります。
mq5の場合は、ナビゲータの中にある「Indicators」を選択してその中で同じく “Original” というフォルダを予め作成しておきます。
ファイルの作成
次にファイルの作成です。
mqhファイル
移動平均線のソースはmqhに書くので、IncludeにあるOriginalの中でファイルを作成します。
まず、左上の「新規作成」のボタンをクリックします。
すると、下の画像のような画面が出るので、「インクルード(*.mqh)」を選んで「次へ(N)」を押します。
名前は “Mql5_MovingAverages” にして、著作権やリンクはお好みで書いてください。
それから「完了」ボタンを押すとファイルが作成され、予め自動でファイル名や著作権、リンクをコメントととして出力してくれます。
ファイルはどこで新規作成されても、最上位階層に置かれることになります。
それを「Include」の中にある「Original」フォルダに後から移動させてください。
移動させます。
mq5ファイル
mq5はインジケータを動作させるためのソースになります。メイン関数があるエントリのためのソースですね。
mq5のファイルを作成する場合は、左上の「新規作成」ボタンをクリックして、以下の画面で「カスタムインディケータ」を選んで「次へ(N)」を押します。
mqhファイルみたいに下の画面が出るので名前は “MT5_MovingAverages” としておきます。
「次へ(N)」を押すと、下の画面になり、カスタムインジケータを作成するので、一番上の「OnCalculate(…, open, high, low, close)」を選択し「次へ(N)」を押します。
最後は「カスタムインディケータの描画プロパティ」になりますが、ここは何もせずに「完了」を押すと、mqhと同じようにmq5ファイルが生成されます。
初期化関数と描画関数が出来ていることが確認できると思います。
そして、そのmq5ファイルを「Indicators」の中の「Original」に移動させます。
これでファイルの作成は完了で雛形が作れましたので、ここからプログラムを書いていきます。
しかし、本来ならこっちの方が雛形が出来て楽なのですが、英語で分かりづらいので、全て消してソースコードはオリジナルで書きますのでご了承下さい。
ソースコード
以下がソースになります。
基本的にmqhとmq5で2つに分けています。エントリソースであるmq5にmqhをインクルードする形になります。
コピペするかダウンロードしてください。
配置するディレクトリ階層は以下になります。
C:\Users\[ユーザー名]\AppData\Roaming\MetaQuotes\Terminal\[セキュリティを考慮した長い文字列]\MQL5
mqhファイルは「Include」のOriginalフォルダに、mq5ファイルは「Indicators」のOriginalフォルダに入れてください。
このFwDef.mqhというのは、エラー処理に使います。
Mql5_MovingAverages.mqh
4つの種類の移動平均線をクラスで管理しています。
MT5_MovingAverages.mq5
基本的にインジケータを扱う場合は、pvev_calculatedで不要な描画処理を省くことができるので便利です。
クリアフラグをfalseにすることでprev_calculatedを使えますが、、trueは何なの?と思うだろうと思います。
これは後々サブウィンドウの方で毎描画クリアする必要があっての処理になっていますので、それは今後のお楽しみに。
このようにカスタム指標は色々なことが出来ます。
あとは、mq5のソースの画面でコンパイルしてエラーを吐かずに成功したら、mq5ファイルと同じディレクトリ下にex5ファイルが生成されます。
MT5_MovingAverages.ex5
これをMT5でインストールして動かします。
MT5を立ち上げてログインし、上部のボタン群から「f」というアイコンがあるのでクリックします。
そこから一番下の「カスタム」から一番下へスクロールすると、「MT5_MovingAverages」という名前があるのでクリックすれば下の画面が出てきてインジケータが起動します。
OKを押せば、下の画面のようにチャートに2つの移動平均線が描画されます。
この指標を使って取引をするという形になります。お疲れさまでした。