FXの自動売買(EA)や裁量トレードでよく使われる取引ツールである「MT4(メタトレーダー4)」と「MT5(メタトレーダー5)」。MT5は、MT4の後継として開発された新世代プラットフォームで、高速な処理やマルチスレッド対応、より柔軟な時間足や銘柄への対応など、機能面で大きく強化されています。
どちらも同じ会社(MetaQuotes社)が提供するプラットフォームで、MetaQuotes社がMT4からより高性能なMT5への移行を促しているにも関わらず、ユーザーはMT4を使い続けているという問題があります。
裁量トレーダーは既にかなりMT5に移行していますが、自動売買(EA)トレーダーは販売されているMT5のEAが少ないため、ほとんどの方がMT4を使い続けています。
しかし、MT4は2005年にリリースされた古いアプリであり、よくフリーズするなど運用上の問題も出てきています。
たぬきMT5の方がサクサク動いて快適だポン!
海外ではMT5のEA販売数も増えており、日本でも今後数年で徐々に増えていくかもしれません。
この記事では、以下の観点からMT4とMT5の自動売買(EA)・バックテスト機能の違いについて詳しく解説します!また、MT4とMT5のEAプログラミングの違いについても簡単に紹介します。
- MT4とMT5のバックテスト機能の違いは?
- MT4とMT5の最適化機能の違いは?
- バックテストのレポート内容の違いは?
- EAプログラミングの違いは?
シンプルなEAであればプログラミングの知識がゼロの方でも勉強すれば作成可能です。興味のある方はぜひ挑戦してみてください。以下の記事のように、裁量トレードの検証にも使えます。↓↓↓↓↓


新規口座開設ボーナスありの大手業者!
口座の資金に金利ももらえる!
金利13%!Vプレミアム預金の詳しい解説
↓↓↓↓↓↓↓↓↓↓↓↓↓↓


MT5ストラテジーテスターのバックテストの新機能は?
MT5ストラテジーテスターのバックテスト機能には、以下の新機能が追加されました。
- リアルティックを利用可能
- ブローカーのヒストリカルデータを利用可能
- 複数のヒストリカルデータをインポート可能
- マルチシンボルバックテスト
- レポートが詳細に
ストラテジーテスターのバックテスト機能の具体的な使い方についてはこちら↓↓↓↓↓


リアルティックを利用可能
「バックテストでは勝てたのに、リアルでは負ける」原因の一つは、データの精度です。
MT5では、デフォルト機能でティックデータのバックテストができるようになりました。
MT4のバックテストに使われる疑似ティックは、 1分足の4本値(始値・高値・安値・終値)を元に、内部で適当な値動きを生成するものです。スキャルピングEAのような微細な挙動を確認するには不正確です。一方、MT5では証券会社が実際に配信した「1ティックごとの動き」をそのまま再現できます。スプレッドの変動や約定のタイミングまでリアルに近づけることができるため、テスト結果の信頼性は格段に向上しました。


リアルティックの使い方は、バックテストの設定タブで「リアルティックに基づいたすべてのティック」を選択するだけです。


もちろん、MT4と同様に外部のヒストリカルデータをMT5にインポートすることも可能です。特に、長期のバックテストをする場合は、FX会社の運営開始日以前はMT5内のヒストリカルデータの精度が悪くなる可能性があるため、ヒストリカルデータのインポートが必要になる場合もあります。


ブローカーのヒストリカルデータを利用可能
MT5で利用できるようになったティックデータは、MT5ではログインしているアカウント(FXブローカー)のヒストリカルデータでもあります。これにより、実際に使っている口座の環境でバックテストできるようになりました。
MT4ではこれができず、ストラテジーテスターでデフォルトで使用されるデータは、メタクオーツのサーバーからダウンロードしたものでした。
メタクオーツのデータはデータ欠けなどがあり品質が低かったため、MT4ではDucascopyやFXDDなどのブローカーがヒストリカルデータ用に提供しているデータをインポートして使うのが一般的でした。
このブローカーのヒストリカルデータも、「リアルティックに基づいたすべてのティック」を選択すれば利用できます。



便利に進化したポン!
複数のヒストリカルデータをインポート可能
MT4では一つの銘柄に対して一つのヒストリカルデータしかインポートできませんでした。ヒストリカルデータをインポートすると前のヒストリカルデータは上書きされてしまいます。
MT5ではこの点が改善され、一つの銘柄に対して複数のヒストリカルデータをインポートでき、バックテスト時にどのヒストリカルデータを使うか選択できるようになりました。
FX会社ごとのティックデータもMT5から入手できるため、FX会社AとFX会社Bのそれぞれのリアルティックを比べて自動売買(EA)のバックテスト成績を比較することもできます。


マルチシンボルバックテスト
MT4では、通貨強弱を判定してチャンスが生まれた通貨ペアで取引するといった複数の通貨ペアを取引するEAを作成すること自体はできましたが、ストラテジーテスターが単一通貨の取引にしか対応していなかったため、バックテストが非常に困難でした。
一方MT5は、ストラテジーテスターが複数の通貨ペアに対応したため、このようなEAのバックテストもできるようになりました。
また、同一のEAを複数の銘柄でバックテストしてパフォーマンスの良い銘柄を探す、銘柄間の最適化を行うこともできます。


レポートが詳細に
MT5では、出力されるバックテストのレポートが詳細になりました。
残高推移グラフの下に、以下のような情報が表示されます。


MT5のバックテストレポートで追加された情報は以下の通りです。
- 時間毎・週毎・月毎の取引分析
- MFE・MAE
- ポジション保有時間
MFE・MAEとは、FXのより詳しい分析をしたい場合に使用される指標です。MFEは「Maximum Favorable Excursion:最大順行幅」、MAEは「Maximum Adverse Excursion:最大逆行幅」の略で、含み益・含み損が最大でどれくらいあったかを把握することができます。
MFEとMAEについて簡単に説明すると、最大順行幅が大きいのに実際に利益確定できた幅が少なければ、利益確定タイミングが適切でない可能性があることを示します。一方、最大逆行幅が大きければ、エントリータイミングが適切でない可能性があることを示します。


MT5最適化の新機能は? マルチスレッド・フォワード機能が目玉
ここからは、MT5の最適化の新機能について紹介します。新機能の目玉は、マルチスレッドとフォワード機能です。
MT5はマルチスレッド機能で最適化がMT4の何倍も高速化できます。また、「フォワード機能」とは、バックテスト期間を前半と後半の2つに分けて検証することで過剰最適化のリスクを減らす機能です。
この2つを含め、以下の点について詳しく紹介していきます!
- マルチスレッドで最適化が高速化
- フォワード機能
- 最適化結果がそのまま保存できる
- 複雑な基準の最大値
MT5ストラテジーテスターの最適化機能の具体的な使い方についてはこちら↓↓↓↓↓


マルチスレッドで最適化が高速化
MT4の自動売買(EA)は最適化にかかる時間が長く、なかなか最適化が進まなくて困っていた方も多いでしょう。特に、最適化はパラメーターを変えて複数回バックテストするものなので、最適化をしっかりしようと思うと膨大な時間がかかってしまいます。



最適化の間中ずっとパソコンをつけていないといけないのでVPSでやる人が多いっコ
MT5はMT4と比べて、大幅に最適化が高速化されています。それを可能にしたのは、PCのリソースの使い方の変更です。
MT4はシングルスレッドというという仕組みを採用しており、PCのCPUがどれだけ高性能(多コア)でも、たった1つのコアしか使いません。1つのコアで順番に最適化のパラメーター(バックテスト)を処理していくので時間がかかります。
一方、MT5はマルチスレッドという仕組みを採用しており、PCに搭載されているすべてのCPUコアをフル活用します。例えば、16コアのCPUなら理論上MT4の16倍の速度で検証が完了します。
さらにMT5では、自分のPCだけでなく、世界中のPCリソースを有料で借りて計算してもらう「分散実行」が可能です。数日かかるような膨大な最適化が、数時間で終わるほどの衝撃的なスピードを実現できます。
この機能はMQL5クラウドネットワークと呼ばれています。英語のみ対応のサービスなので敷居が高いですが、最適化にかかる時間で困っている方は検討してみてください。↓↓↓↓↓


フォワードテスト機能
フォワードテスト機能は、バックテスト期間を1/2、1/3、1/4などの割合で前半と後半に分割して、それぞれの成績を比較できる機能です。成績のよいパラメータを探しだす作業は前半のデータをもとに行うため、後半のデータは、それをリアル運用したらどうなるかをシュミレーションしたものになります。
通常のバックテスト、完全アルゴリズム、遺伝的アルゴリズムのどれでも使うことができますが、一番フォワードテスト機能を使うメリットがあるのは遺伝的アルゴリズムです。
完全アルゴリズムの場合、前半の期間の成績上位の組み合わせすべてに対して、後半の期間の成績を算出します。完全アルゴリズムは、元々パラメータの組み合わせすべてのバックテストを行うものなので、前半・後半に分けたとしても、単に普通にバックテストした結果が分割で表示されるだけです。



同じ結果になるっコ
一方遺伝的アルゴリズムの場合、最適化を行う対象期間が変わると成績の良いパラメーターが変わってくるため、前半で最適化を行うと、後半は最適化が行われていない結果が表示されることになります。このため、フォワードテスト結果を見ると、最適化をかけたパラメータをリアル運用するとどうなるかの参考にすることができます。
最適化結果がそのまま保存できる
MT4では最適化結果はHTMLでしか保存できませんでしたが、MT5では最適化結果をそのまま保存できます。
最適化完了後、「MT5 optimization cashe file(.opt)」のファイル形式でMT5のキャッシュフォルダに自動保存されますので、それを開けば最適化完了後に表示される画面を再現できます。


自動保存されたファイルは一定期間後に消えてしまいますので、長期で保存しておきたい場合は別のフォルダに自分で保存しなおす必要があります。(「オプティマイズ」タブで右クリックして、「最適化キャッシュファイルをエクスポートする」をクリックします)
複雑な基準の最大値
MT5では、最適化で行ったバックテスト結果の並び替え基準に「複雑な基準の最大値」が追加されています。
並び替え基準は下記の8通りで、おおむね予想がつくものばかりですが、「複雑な基準の最大値」だけはよくわかりませんね。


- 残高最大
- 最大利益率(最大プロフィットファクター)
- 最大予想ペイオフ(最大期待利得)
- 最小ドローダウン
- 最大回復係数(リカバリーファクター)
- 最大シャープレシオ
- カスタム最大
- 複雑な基準の最大値
この「複雑な基準の最大値」は、メタクオーツの説明によれば、下記の項目を順に評価していっているそうです。
- 取引数
- ドローダウン
- リカバリーファクター
- 期待利得
- 最大シャープレシオ
単一の評価項目を使うよりバランスの取れたものを選ぶことができます。
「複雑な基準の最大値」のほかに、「カスタム最大」もMT5で追加されました。これは、MT5のバックテスト時に使用される「OnTester()関数」をソースコードに入れてカスタム基準を作成するものです。MQL5言語がわかる人は、カスタム基準を作成できます。
MT4・MT5のEAプログラミングの違い
MT4とMT5は自動売買(EA)のプログラミングにも違いがあります。
- プログラミング言語の互換性はない
- 自動変換サービスがある
- Python連携がある
プログラミング言語の互換性はない
MT4のEAはMQL4、MT5のEAはMQL5というプログラミング言語で書かれており、ソースコードレベルでの互換性はありません。
同じロジックであっても、注文関連の関数名や引数の仕様、イベントハンドラなどの書き方が異なるため、単純なコピペでは動作しません。
そのため、既存のMQL4のEAをMT5で動かしたい場合は、MQL5向けにコード構造を見直しながら書き換える作業が基本となります。
MT4のプログラミング言語は比較的簡単で、本業がプログラマー以外のトレーダーでも取り組みやすかったため、自作MT4を作って販売するトレーダーも多くいました。MT5に移行すると新しい言語を勉強する必要があるため、そうしたトレーダーにとってはハードルが高く、自動売買(EA)目的ではまだMT4がメインで使われている原因になっています。
MT5にはネッティングアカウントとヘッジアカウントの2種類のアカウントがあり、それがEAの挙動に影響を与えることもあります。


自動変換サービスがある
MQL4からMQL5への移植をサポートするために、コード自動変換ツールや変換サービスを提供していサイトもあります。
これらを使うと、関数名の置き換えや基本的な構文変換を自動で行ってくれるため、ゼロから書き直すよりも工数を減らせます。
ただし、完全自動で100%正しく動くわけではなく、変換後にコンパイルエラーの修正やロジックの確認を行う「人手での仕上げ」が必須になることが多いです。
Python連携による高度なデータ分析
MT5の自動売買(EA)プログラミングの大きな特徴は、MT5とPythonを連携させる公式APIやライブラリが用意されており、高度なデータ処理や機械学習との統合が行いやすくなっています。
Python側でデータ分析やモデル推定を行い、その結果をMT5側のEAやスクリプトで参照するといったワークフローが構築可能です。
これにより、MT4時代には実装が難しかった大規模データ解析やAIベースの戦略を、比較的スムーズに取引ロジックへ組み込めるようになっています。
【まとめ】MT5のバックテスト・最適化には便利な機能がたくさん
MT4からMT5になったことで、バックテスト・最適化機能は相当進化したと思われます。そろそろMT6が出るかもなどという人もいますが、MT5でも十分な機能があるので、しばらくそれはないのではないかと予想しています。
MT4からMT5に変わったことで、操作方法やプログラミング言語が勉強しなおしになってしまったため、今からMT5に慣れるのに消極的な人もいるかもしれません。しかし、いつになるかわからないMT6を待つより、すぐMT5に移行してしまうのがおすすめです。
MT5のEAもMQL5などの海外サイトでは販売されています。↓↓↓↓↓


圧倒的な低スプレッド!
対象銘柄多数のスワップフリーで人気!
※Exnessは口座開設ページが日本語非対応ですが、マイページは日本語に対応しています。
TradingViewのチャートも使える!
↓↓↓↓↓↓↓↓↓↓↓↓↓↓


- MT5ストラテジーテスターは、MT4と比べてどこが大きく進化しましたか?
大きな進化は「リアルティックでのバックテストが標準搭載されたこと」と「バックテスト・最適化のスピードと分析機能が大幅に強化されたこと」です。MT4では有料ツールが必要だったリアルティック検証が、MT5では設定タブで「リアルティックに基づいたすべてのティック」を選ぶだけで利用でき、より実運用に近いテストが可能になりました。
- MT5ストラテジーテスター画面にある「単一」「最適化を完了」「遺伝的最適化」などのボタンは何のためにありますか?
これらのボタンは「設定タブの初期値を切り替えるためのショートカット」で、押さなくてもバックテスト自体は設定タブからすべて操作できます。「単一」は通常のバックテスト用のデフォルト、「最適化を完了」は完全アルゴリズムによる最適化用、「遺伝的最適化」は遺伝的アルゴリズム最適化用の設定を一括で切り替える役割を持っています。
- MT5でブローカーのヒストリカルデータを使うメリットと注意点は何ですか?
メリットは「実際に取引するブローカーの値動きそのものでバックテストできること」で、スプレッドや配信仕様を含めて実運用に近い検証がしやすくなります。一方で、古い期間ではスプレッドが極端に広かったり、他社データが混在して品質が不安定な場合もあるため、結果が不自然なときは別途ヒストリカルデータを用意して検証し直すことをおすすめします。
- MT5の遺伝的アルゴリズム最適化と完全アルゴリズム最適化は、どう使い分ければよいですか?
MT5ストラテジーテスターのバックテストでパラメータの組み合わせが膨大なときは、遺伝的アルゴリズム最適化で候補を絞り込むことで時間を大きく節約できます。逆に組み合わせ数がそれほど多くない場合や「最良パラメータを取りこぼしたくない」局面では、時間はかかっても完全アルゴリズム最適化で全探索したほうが精度の高い結果を得やすくなります。
- MT5のフォワード機能はどんなときに使うべきですか?
MT5ストラテジーテスターのフォワード機能は「過剰最適化を避けるためのチェック」に使うべき機能です。バックテスト期間を前半と後半に分け、前半で最適化したパラメータが後半でも通用するかを検証するために利用します。











コメント