1,000人限定!!企画に参加してEAをGetする公式ラインに登録して
プレゼントをもらう

【MQL言語入門】MQL4とMQL5の違いや移植方法についてまとめてみた

MQL4 MQL5MQL言語入門

MQL4とMQL5

MQL言語にはMQL4とMQL5の2つのタイプが存在しています。

  • MQL4:MT4に対応している
  • MQL5:MT5に対応している

MQL4とMQL5はそれぞれ似ていますが厳密には互換性がありません。

そのため、MQL4で作成されたMT4用のインジケータやEAは、MT5では使えない事と同様に、

MQL4のソースコードはMQL5のソースコードとして利用する事はほとんどの場合できません。

基本的にはMT4を使うことが多いのでMQL4を勉強していけば良いです。

MQL4とMQL5の違い

MQL4とMQL5の違いについて説明します。

MQL4
  • 古い
  • MT4に対応
  • C言語ベース
  • 日本語解説が多い
  • コードが短い
  • バックテストや最適化が遅い
  • バッファが最大8個
MQL5
  • 最新版
  • MT5に対応
  • C++言語ベース
  • 日本語解説が少ない
  • MQL4よりコードが長くなる
  • バックテストや最適化が早い
  • バッファが最大500個

MQL5はMQL4の進化版ですし世界の流れはMQL5です。

MQL5ではC++言語を使用しており、MQL4で使用されているC言語の拡張版です。

そしてバッファが8個しか使えないという成約がMQL4にはあります。

ただしこれは、配列データをシフトさせる動きを記載しておけば良いので工夫すれば問題ありません。

これだけ見るとMQL5の方が良いのではないか?と思う人もいると思いますが、

現状、日本ではMQL5の解説が少なくMQL4が主体です。

また、MQL5だとソースコードがMQL4よりも長くなることがあるので、

プログラミング初心者やMQL言語を触ったことがない人は、

まずはMQL4で基礎を学んだ方が良いと思います。

ちなみにMQL4で書いたプログラムのソースコードはMQL5への変換が可能です。

MQL5で開発を行うメリット

では、MQL5は学ばなくてよいのか?という人がいますので、

MQL5の開発を行うメリットをご紹介します。

MT5はMT4よりも最大20倍高速

MT5はMT4よりも最大20倍高速だとメタクォーツ公式発表しています。

最低でも4倍高速になっているようです。そのためMT4ではできない高速なトレードが実現可能です。

アービトラージ取引やHFT取引などは基本的にMT5が使用されます。

バックテスト性能が向上

MT4に比べてバックテスト性能が向上しています。

MT4ではシングルコアをベースのPCが多かったのでそれに応じたソフトが作られていましたが、

MT5ではマルチコアPCが主流になったので演算能力も格段に上がりました。

MT4の場合は複数の通貨を同時に取引するEAのバックテストは検証不可能でしたが、

MT5では複数の通貨を同時にテストを行うことができます。

時間足の種類が多い

MT5では

M1, M2, M3, M4, M5, M6, M10, M12, M15, M20, M30, H1, H2, H3, H4, H6, H8, H12, D1, W1, Monthly1

と細かい時間足の利用が可能です。中には通常見ない時間足の中に優位性があったりする可能性もあります。

約定の遅延も検証できる

従来ではオーダーの遅延がありました。

これはクライアントターミナルからFX業者までのサーバーの遅延になります。

MT5ではそうした遅延を考慮して過去のバックテストを行うことができます。

例えば、スキャルピングなどのテストには便利です。

最適化でクラウドのリソースを使える

MT5ではクラウド上で他のユーザーのPCリソースを使うことができるサービスがあるので、

パラメータの最適化など細かいテストを時短で行うことが可能です。

MQL4とMQL5のソースコードを移植するコンバーター

MQL4とMQL5は似ていますが、書き方が異なります。

ですので、1からまたMQL5のソースコードを書くのは手間なので、

MQL4とMQL5のソースコードを移植するコンバーターというものが存在します。

まず以下のファイルをダウンローしましょう。

そしてこのファイルをMT4のincludeフォルダに入れます。

その後EAの頭に以下のソースコードを入力しましょう。

#include <MQL4toMQL5Converter.mqh>

するとMQL4のソースコードがMQL5ように移植されます。

MQL4からMQL5への移植については以下のサイトを参照してください。

まとめ

今回はMQL4とMQL5の説明や違い、移植などの方法についてご紹介しました。

MQL4とMQL5がありますが、個人的にはMQLプログラミング初心者はMQL4をまずは学びましょう。

コメント

タイトルとURLをコピーしました