MT4を辞めてMT5を使う理由

2018年11月17日

テクノロジーの未来

今まではMT4をメインに自動売買プログラムを作成してきましたが、いくつかの観点からMT4を辞めてMT5を使うべきだという結論に至ったので理由をまとめました。

正確にはMT4を完全に辞めるわけではありませんが、新規のプログラムは基本的にMQL5で書いていきます。

MT4を推奨してきた理由

国内業者ではMT4しか使えないから

MT4を推奨してきた最も大きな理由は、2018/11/17時点では国内業者でMT5を使えるところが無いからです。

 

日本で販売されているEAはMT4のものばかりだから

市販のEA(自動売買プログラム)を購入するなら、やはり日本の業者から買いたいです。

EAを初めて利用する場合に上手く設定できないことがあったり、購入したEAに対して疑問が出てきた場合に気軽に日本語で質問できるからです。

 

しかし、国内業者がMT5を導入しないので販売されているEAの殆どはMT4向けのものです。

つまり「市販のEAを日本業者から買いたい。」場合は、日本業者(MT4)を選択するしかないのです。

 

それ以外は?

上記2点のほかに推奨する理由はありません。

 

MT5を推奨する理由

世界ではMT5を使う流れが加速しているから

開発元がMT5を推奨している

メタトレーダーはMetaQuotes社が開発している自動売買ツールです。

実際にMetaQuotes社の公式Webサイトを見てみましょう。

ご覧の通りMT5しかダウンロードできなくなっているのです。

同社はMT4は古すぎる技術であるため、MT5へ移行するよう長いあいだ促してきました。

そして2018/01/12に、ついに業者への新規MT4ライセンス販売を停止したようです。(セキュリティアップデートやバグ修正は引き続き行われます。)

※ネット検索すると、新規ライセンス販売の停止は2018/01/12に発表されたとあるのですが、公式ページでは見つけることができなかったので、情報の真偽についてご存知の方がいればご教示いただけると幸いです。

 

開発元がここまでMT5を推奨しているにも拘わらず日本業者が導入しない理由はよくわかりません。

色々と事情があるのでしょうが、国内で初導入というだけで結構な顧客を囲えると思うのですが。。。

 

新しい情報もMT5で語られることが多い

メタトレーダーを使っているユーザーが最も集まるサイトの1つに「MQL Community」があります。

コミュニティーにはMT4とMT5のカテゴリが存在しますが、MT5のみ日本語対応されています。

そして、色々な情報が更新されていきますがMT5の方が圧倒的に情報更新の速度が速いです。

世界ではMT5でプログラムを書く流れにあるということがよく分かります。

 

バックテストの性能はMT5が圧倒的に上だから

バックテストのスピード

トレーダーは大量のバックテストをするので、少しでもバックテストが速いほうが良いのですが、MT4のバックテストはかなり遅いです。

 

[MT5が速い理由]

MT4は32bitアプリケーションで、どんなにPCにメモリを積んでいても2GB程度しか使えないからです。(その他計算アルゴリズムの影響もあるかもしれませんが。)

MT5は64bitアプリケーションでメモリ制限がありません。

 

[検証プログラムの実行]

 

[結果]

MT4・・・5分22秒

MT5・・・36秒

 

圧倒的にMT5が速かったです。

 

※数秒程度で終わるバックテストの場合は、MT4の方が速いことが多いです。

MT5の方が厳密にテストを行うため、テスト前段階で実行される処理が多いからです。

しかし、一旦プログラム本体の実行に入れば圧倒的にMT5が速いです。

 

最適化のスピード

EAの最適なパラメタを探すために最適化を行いますが、MT5は最適化のスピードが段違いに速いです。(MT4が遅すぎるということもあります。。。)

 

[MT5が速い理由]

最適化時にMT4では1つのCPUしか使えないのに対して、MT5では複数のCPUを利用できるからです。

また、前述の通りMT4が32bitアプリケーションでメモリ制限があることも遅い要因です。

 

[検証プログラムの実行]

 

[結果]

MT4・・・13分14秒

MT5・・・1分32秒

 

バックテスト時と同様に、圧倒的にMT5が速いという結果になりました。

最適化時のMT5の「エージェント」タブを確認すると、しっかり全部のCPUが利用されていることが分かります。

私のCPUは4コア×2スレットなので8つ分になっていますが、お使いのPCにより異なります。

MT5で複数コアが使われている画面

 

小話最適化のみに焦点を当てると、CPUが多いほどいいように感じます。

しかし、コア数の多いCPUは1コアあたりの処理能力が低くなる可能性が高いです。

コア数にばかり拘ると、最適化は早く終わるがバックテストが遅いということになってしまいます。

MT5での検証をメインに考えるならば、「コア数と1コアあたりの処理能力のバランスを考える」と良さそうです。

 

バックテストの内容

ここが最も重要な部分です。

バックテスト時に得られる情報の質に大きな違いがあります。

[MT4で実行]

バックテスト結果(MT4)

解析するためのデータが非常に少ないです。

 

[MT5で実行]

バックテスト結果(MT5)

MT4の時に比べて多くの解析結果が追加されています。

さらにグラフもついていて、とても分かりやすいのではないでしょうか。

例えば、このEAでは日本時間に全くトレードしていないことが分かりますし、金曜日はエントリーが比較的多い割に利益が少ないことが分かります。

 

このような分析ができれば分析結果を反映して、より良いEAが作れるのではないかと思います。

 

その他にもポジション保有期間というのがあり、これがとても便利です。

グラフを見る限りでは殆どの取引が25分以内に決済されていることが分かりますので、その時間を超えたら何らかのロジックで傷が浅いうちに決済するなどが考えられます。

MT5のポジション保有期間確認

 

 

[スワップや手数料はMT4でも計算されていた]

MT4ではスワップを計算していないと思っていたのですが、少なくとも私が確認した業者(XM)ではMT4でもスワップおよび手数料が加味されていそうです。

※加味されていない業者もあります。詳しくは「MT5でスワップトレードの検証をする」をご覧ください。

 

同じEAでそれぞれバックテストして確認しました。

 

[MT4の結果]

MT4には手数料とスワップが表示されません。

MT4は手数料やスワップの表示なし

 

[MT5の結果]

左2つが、手数料とスワップです。

MT5はスワップと手数料が表示される

 

一番右の列にある口座残高を確認すると、MT5が「10314.93」、MT4が「10314.90」となっており、ほぼ誤差がありません。

つまり、MT4では見た目ではスワップが分かりませんが裏ではしっかり計算されていたということですね。

 

とはいえ、スワップや手数料が損益に占める割合が分からないので、やはりMT4は厳しいと感じます。

MT5であればスワップ投資法なども検証していけそうです。

 

最後に

バックテストの性能や情報の質からも、少なくともテストだけはMT5を使うべきだということが分かったかと思います。

 

海外業者がメイン口座で自作EA派であれば、MT5を使わない理由はありません。

さらに詳しくMT5を使う理由が知りたい方は、「(続編) MT4を辞めてMT5を使う理由」をご参照ください。(続編の方が重要な話です。)

 

昔はMQL4とMQL5は互換性全く無かったので移行も困難でしたが、現在はお互いが寄せてきていることもあり簡単に移行することができます。

また、便利なMQL4/MQL5の共通ライブラリやコンバーターも登場していますので、敷居はだいぶ低くなっているのではないでしょうか。

 

※国内の市販EAのみ運用する場合は、MT4を継続するしかありませんが。。。

 

私は色々な経緯があり、今後は海外業者で攻めるという選択をしました。

それに加えてEAも自作が殆どなので、今後はMT5をメインに使っていこうと思います。

MT5はが利用可能な業者は以下で確認できます。