新メタトレ実践本用のMQL4/MQL5共通ライブラリ(β版)

皆さん、こんにちは。

「新MT4対応ライブラリによるメタトレーダーEA実践プログラミング」(新メタトレ実践本)は、タイトルの通りMT4用の本なのですが、実は、MT5用のライブラリも作っておりまして、ライブラリを差し替えることで、MT5でも動くEAが作れたりするのです。

MT5がもうちょっと流行れば、またkndle本にまとめたいとは思いますが、とりあえず、新メタトレ実践本の読者の方のために、サンプルプログラムを若干修正することでMT5でも動作するEAのライブラリを公開します。ただし、MT4とMT5でソースプログラムを共通にするにはいくつか制限があり、今後、仕様が変更になる可能性もあるので、β版としておきます。各自の責任でご利用ください。

では、使い方です。まず、以下のファイルをダウンロードして本書のサンプルプログラムの入っているフォルダに展開してください。

サンプルプログラムと同じフォルダには、「LibEA4.mqh」というヘッダファイルが入っていると思いますが、ダウンロードしたファイルを、これの代わりに使います。

「LibEA.mqh」が共通のヘッダファイルで、MQL4の場合、「LibOrder4.mqh」をインクルードし、MQL5の場合、「LibOrder5.mqh」と「LibMQL4.mqh」をインクルードします。

例えば、次のようなサンプルプログラムがあるとします。

このままだと、MT4でしか動きませんが、2行目と8行目を次のように修正します。

つまり、「LibEA4.mqh」を「LibEA.mqh」に変えて、「OnTick()」を「Tick()」に変えるだけです。この修正はすべてのサンプルプログラムに共通です。

このファイルは、MT4で同じように動きます。そして、このファイルの拡張子を「mq4」から「mq5」に変えるだけで、MT5でコンパイル、実行させることができます。

ソースプログラムを共通にする仕組みや、制限事項については、別記事で解説します。

 



コメントは受け付けていません