MT4を利用しているEAトレーダーの中には、できることならMT5を利用したいと考えている人は多いでしょう。
MT5は比較的動きが軽快で機能も多く、MT4に比べて優れた部分は非常に多いツールです。
しかし、EAトレーダーにとっての最大の障壁は「EAがMT5に対応していない」ということです。
そこで今回は、MT4で使用しているEAをMT5用に変換する方法について解説します。
MT4でEAを使い続けるべきでない理由
MT4は今後衰退していく流れとなっており、それは公式からもアナウンスされています。
MT4とMT5を取り巻く環境について知っておくことでその理由がわかります。
MT4の歴史と現状について
MT4はキプロスのMetaQuotes(メタクオーツ)社が2005年にリリースし、海外FX証券会社ユーザーを中心に世界で最も使われているチャート分析ツール・売買プラットフォームとなっています。
MQLという開発言語を導入したことによりEAを簡単に開発・導入できるようになりました。
その結果、全世界のトレーダーや開発者がEAを独自で開発し、共有したり販売するようになり、巨大なマーケットを作り上げるに至りました。
現在は600社以上がMT4と提携し、4,000万人以上に利用されている世界最大規模のツールです。
しかし、パソコンスペックやグラフィックの基準が上がっていくにつれMT4の時代遅れ感は否めなくなってきます。
しさらにTradingViewやMT5の台頭により、MT4の勢いは失われることとなります。
MT5の普及
MT5は2010年にMT4の正統後継ツールとして登場しました。
初めこそMT4ファンが多かったですが、MT5の利便性や動作性の良さから多くのユーザーがMT5への切り替えを行なっています。
開発言語としてはMQL5というC++を拡張したものが採用されており、MT4で使用されていたC言語ベースのMQL4よりも使い勝手がかなり良いものとなっています。
主に、MT5は以下の点でMT4からアップグレードが行われました。
- 動作スピードの改善
- 表示できる時間足が9種類から21種類に
- 気配値ウィンドウの多機能化
- モバイルアプリの多機能化
- 板情報が見れるようになった
- 標準搭載のインジケーターが30種類から38種類に
- 64ビット対応になりEA開発の際の最適化に複数CPUが使える様になり速度が向上
- MQLクラウドネットワークが利用できる様になり分散コンピューティングの使用が実現
このようにスペック面で大きな改善が図られています。
進化したポイントについて、特にユーザーが感じやすい部分をご紹介します。
動作スピードの改善
MT4を使用しているトレーダーの中には動作の遅さに苛立ちを覚えた経験がある人も多いのではないでしょうか。
特にMT4のモバイルアプリは立ち上げから操作可能になるまで10数秒かかることもあり、チャンスを逃してしまう場面も見られました。
MT5になってからの動作スピードの改善は顕著で、公式発表では4〜20倍の速度改善が図られていると言います。
そのため、アービトラージ取引や高速スキャルピングをする場合にはMT5レベルの処理速度が必須条件になることもしばしばあります。
表示できる時間足が9種類から21種類に
MT4からMT5に進化するにあたって、表示できる時間足がかなり増えています。
一例を挙げると、2分足、3分足、6分足、12分足、20分足、2時間足、3時間足などが増やされた時間足です。
このように、普段では使わないようなマニアックな時間足が追加されています。
メジャーな手法では使う機会は少ないかもしれませんが、手法の開発という面では視点を増やせるため非常に幅が広がる可能性があります。
気配値ウィンドウの多機能化
MT5ではMT4に比べて気配値ウィンドウに表示できる項目がかなり増えています。
MT4ではBid価格やAsk価格の他に高安値や時間、スプレッドの表示ができます。
それに対してMT5は直近高安値や出来高の表示、約定数量やボラティリティなど数十種類の項目を表示できるようになりました。
トレードの判断に使える項目が多くなったからといって勝てるようになるわけではありませんが、よりエントリーポイントを絞った精度の高いトレードが可能となっています。
モバイルアプリの多機能化
MT4とMT5は両者スマホアプリ版よりもパソコン版の方が多くの機能を有しています。
しかし、モバイルアプリにおいてもMT4は差を付けられている現状があります。
例えば、MT5のみ有する機能として「Stop Limit」という方式の注文ができます。
「Buy Stop Limit」は価格がいくら以上になったらいくら以下で買う、という注文方式です。
上昇トレンドを形成しているドル円で例えてみます。
現在価格が129円で、上がり続けてもし130円に達したら129.5円に下がったタイミングでロングを打つことを予約できます。
天井と押し目とその値幅さえ予測してしまえば、あとは「Buy Stop Limit」を設定しておくだけで押し目買いが可能になるということです。
逆に「Sell Stop Limit」は戻り売りを狙う際に最適な注文方式になります。
こういった注文方式を利用することでチャートを見る時間を減らすことにも繋がり、無駄なポジションメイキングで損切りするといった事態を避けられる可能性があります。
紹介した改善点は一例に過ぎませんが、かなり多くの機能が追加になったことが理解いただけたと思います。
見た目はMT4から大きく変わったわけではないため、既存ユーザーにも親しみやすいUIとなっています。
しかし、MT5に対応する証券会社が少なかったこと、インジケーターやEAの互換性がないことから普及が遅れていました。
現在ではMT5に対応する証券会社がかなり増えてきており、2016年頃にはMetaQuotes社がMT4を段階的に廃止していくことを発表しています。
現在は、MetaQuotes公式ホームページからMT4のダウンロードが行えなくなっています。
MT5に対応する証券会社も着々と増えており、MT4は今後衰退していく流れが決定的となっています。
そのため、EAを利用するトレーダーも今後必ずMT5に移行することを余儀なくされます。
MT4からMT5にEAを移植する方法
MT4で存在する有志が作ったインジケータ等はMT5に移植されてない物が多く、現時点ではそれがデメリットと挙げられています。
MT4が利便性が高かった事の裏付けですが、MT4で作ったインジケータやEAをそのままMT5で動作させる事は出来ないため…
使い慣れたインジケータが使えない
と言った理由で移行に二の足を踏んでいるトレーダーも多い事かと思います。
しかし、EA開発者としてはMT5への移行により開発言語が拡張され定義出来る事が増えたので、移行さえしてしまえば今まで定義出来なかった新しいルールに出会える可能性もあります。
是非移行にチャレンジしてみたい所です。
MT4でしか使えないEAについては、ユーザーが自力でMT5で使えるようにカスタマイズする必要があります。
ここでは、MT4からMT5にEAを移植する方法について解説していきます。
MQL5ファイルコンバーターを利用する
MQL5コンバーターとは無料で利用することができるプログラムコンバーターサイトです。
MT4とMT5のプログラム言語であるMQL4、MQL5には細かく違う点が多いですが、大枠の構造は同じものとなっています。
MQLコンバーターにはMQL4とMQL5で同じ意味を持つコードが記憶されており、それらのコードをを入れ替える作業を行なってくれます。
使い方は以下の通りです。
MetaEditorを開き、移植したいEAを選択しMQL4ソースコードをコピーします。
MQL5コンバーターを開き、コピーしたソースコードをテキストボックス「MQL4ソースファイル」にペーストし、「コンバート」ボタンをクリックします。
これでMQL4言語からMQL5言語への変換が完了します。
その後、「MQL5」ボタンと「include」ファイルボタンを押すことで「converter.mq5」、「MQL5Converter.zip」という2つのファイルがダウンロードされます。
次に、「converter.mq5」をMT5の「Experts」フォルダに、「MQL5Converter.zip」は解凍してから「include」フォルダにコピーします。
「MQL5Converter.zip」は解凍してから「include」フォルダにコピーする作業は必ず先に行ってください。
この工程を飛ばすとコンパイル時にエラーが出ることがあります。
最後に、MT5を再起動するかナビゲータウィンドウ内の「エキスパートアドバイザ(EA)」を右クリックして「更新」をクリックしてください。
これでMT4のEAがMT5で利用可能になります。
BRiCK Convert4To5 MT5 Freeを利用する
BRiCK Convert4To5 MT5 Freeは、MQL4ソースファイルをMQL5ソースファイルに変換するスクリプトとなっています。
このツールも先ほどと同じように簡単な作業でEAを移植することが可能となっています。
以前までは有料販売されていましたが、現在は無料で提供されています。
操作手順は以下の通りです。
MT5のデータフォルダを開き「MQL4」フォルダ内の「Script」フォルダに「BRiCK_Convert4To5.ex5」を配置します。
ターミナルでナビゲーターウィンドウを開き、右クリックで「更新」を選択します。
任意のチャート上に「BRiCK_Convert4To5」を挿入してください。
すると、「MQL4」フォルダ内の「Files」フォルダに「BRiCK_Convert4To5」フォルダが作成されていることが確認できます。
拡張子が「.mq4」のMQL4ソースファイル(変換したいEAのソースファイル)を「BRiCK_Convert4To5」フォルダ内の「Input」フォルダに配置します。
その後、再び任意のチャート上に「BRiCK_Convert4To5」を挿入します。
「BRiCK_Convert4To5」フォルダ内の「Output」フォルダを開き、拡張子「.mq5」のMQL5ソースファイルが作成されていることが確認できます。
このファイルが今まで使っていたEAファイルのMT5バージョンということになります。
最後にMQL5ソースファイルをMetaEditorでコンパイルすることで作業は完了となります。
この作業でMT4のEAをMT5でも使用できるようになります。
地道にプログラミングしていく
ツールを全く使わずにMQL4をMQL5に書き換えていくことでもEAをMT5で使えるようにする方法もあります。
先述の通り、MQL5はMQL4の後継となる言語のため非常に似た構造の言語となっています。
例えば、現在の足の時刻を取得するコードは以下のようになっています。
このように、かなり似た構造になっていることがわかります。
しかし、かなり大きな変更が加えられたコードも沢山あるため、全てのコードを変換させていく作業はかなり骨が折れます。
例えば、以下のコードは一目均衡表を計算し結果の値を返すものです。
文字列がかなり変わっていることがわかります。
言語の変更が行われたため仕方のないことですが、こういったコードも書き換えなければいけないというだけで拒否反応を起こすトレーダーは多いと思います。
その反面、MQL言語を扱えるようになると自分でEAを改良することも、一からロジックを作ってオリジナルのEAを作成することができます。
そのため、裁量取引ではなくEA取引からメインの収益を得ていきたいという人はこれを機にMQL言語を基礎から勉強してみることも一つの手段と言えます。
手順としては、まずはMQL4のソースファイルの拡張子を「.mq4」から「.mq5」に変換しMT5で使用できる状態にします。
その後、ファイルを「MQL5」フォルダ内の「Experts」に移動させます。
MT5を起動しF7を押すことでMetaEditorが起動するため、対象のEAファイルを選択することでソースが表示されます。
MQL4言語がMT5上で表示されている形のためエラーだらけの状態になっています。
これを一つ一つ書き換えていきエラーを全て消化すれば晴れて変換完了となります。
MQL5クラウドネットワークを利用する
EAを作成する場合、最適化を行い場合、様々なインジケータ(パラメータ)を使用する事も多いかと思います。
この際に…
- インジケータの種類が多い
- パラメータの変動範囲が広い
と組み合わせが非常に膨大になりやすく、32bitソフトウェアでありCPUもシングルコアのみで計算されるMT4では、ソフトウェアの構造的問題から、EA開発に膨大な時間が必要になってしまいます。
組み合わせを妥協しなくならなくなったり、そもそも計算しきれないと言った問題ですね。データサイエンスで言う所の「次元の呪い」と言われる状況に陥りがちです。
こうした問題に対応するにはマルチコアで処理、もしくは分散コンピューティングを用いて計算するCPUを増やす事で解消出来ます
MT5からは、MQL5クラウドネットワークも利用が可能になったので、是非積極的に活用しスムーズな移行が行われる事を願ってます。
また、ローカルネットワークを構築して物理的にPCを増やし複数CPUで高速処理する方法もあります。
ちなみに監修者はこの方法を使っています。
まとめ
今回は、MT4が今後存続することができない理由とMT5に移行するメリット、EAの移植方法についてご紹介しました。
先述の通り、MT5はMT4に比べて4〜20倍の処理速度があると公式から発表されています。
そのため、MT4の処理速度ではうまく利を乗せられないスキャルピングEAであっても、MT5に移行することで継続的な収益を発生させられる可能性もあります。
2つ目にご紹介した「BRiCK Convert4To5 MT5 Free」は今でこそ無料で提供されていますが、需要の高まりとともに有料化されることも考えられます。
早めに手持ちのEAを変換しておくのがオススメです!
コメント コメント 0