今回は、チャート上にMT5におけるブローカータイム(ロシア時間)とローカルでのコンピュータタイム(日本時間)を表示したいと思います。
このインジケータは、価格の変化で処理が走るので、毎秒で描画更新できません。なので、時間を毎秒表示できないことになります。
毎秒描画する方法があれば教えて頂けると幸いです。
フォルダ・ファイル作成
フォルダの作成や、mqhとmq5のファイル作成については、
「MQL5 | 移動平均線」の記事に書かれていますので、そちらを参考にしてください。
分かっている人はこのままソースコードを見て頂ければと思います。
ソースコード
以下がソースになります。
基本的にmqhとmq5で2つに分けています。エントリソースであるmq5にmqhをインクルードする形になります。
コピペするかダウンロードしてください。
配置するディレクトリ階層は以下になります。
C:\Users\[ユーザー名]\AppData\Roaming\MetaQuotes\Terminal\[セキュリティを考慮した長い文字列]\MQL5
mqhファイルは「Include」のOriginalフォルダに、mq5ファイルは「Indicators」のOriginalフォルダに入れてください。
このFwDef.mqhというのは、エラー処理に使います。
Mql4_5_TimeIndicators.mqh
タイム表示は一つのチャートウィンドウだけで十分なので、関数としてインクルードして、
windowIndexだけで識別して表示したり削除したりしています。
描画は右下座標の場所指定と拡大縮小ができるようになっています。
ここはデフォルトで問題ないかと思います。
MT5_TimeIndicators.mq5
描画は簡単でインジケータバッファは要りません。
ただ、描画関数と削除関数を呼び出せばいいだけです。
あとは、mq5のソースの画面でコンパイルしてエラーを吐かずに成功したら、mq5ファイルと同じディレクトリ下にex5ファイルが生成されます。
MT5_TimeIndicators.ex5
これをMT5でインストールして動かします。
MT5を立ち上げてログインし、上部のボタン群から「f」というアイコンがあるのでクリックします。
そこから一番下の「カスタム」から一番下へスクロールすると、「MT5_TimeIndicators」という名前があるのでクリックすれば下の画面が出てきてインジケータが起動します。
OKを押せば、下の画面のようにチャートにブローカー時間とコンピュータ時間が描画されます。
これを見て時間を把握するという形になります。お疲れさまでした。