MT5のストラテジーテスターで最適化をやりたいけどいろいろ機能がありすぎてよくわからないという方!
この記事では、MT5ストラテジーテスターで数百回最適化をやってきた筆者が最適化のやり方を1万字超えのボリュームで超詳しく解説します!
MT5最適化の基本のやり方がわかっている方でも、知らなかった細かな機能が見つかるかもしれません。ぜひ最後までお付き合いください。EAのバックテスト・インジのバックテストについてはこちら↓↓↓↓↓

- MT5の最適化の特徴は?
- MT5の最適化のやり方が知りたい
- MT5のバックテストでスプレッドや取引手数料を設定する方法を知りたい
- MT5の最適化の結果の見方が知りたい
圧倒的な低スプレッド!
対象銘柄多数のスワップフリーで人気!
※Exnessは口座開設ページが日本語非対応ですが、マイページは日本語に対応しています。
TradingViewのチャートも使える!
↓↓↓↓↓↓↓↓↓↓↓↓↓↓

MT5ストラテジーテスターの最適化機能の特徴
MT5ストラテジーテスターの最適化機能には、MT4と比べて以下の特徴があります。
- マルチスレッドで最適化が高速化
- フォワードテスト機能
- 最適化結果がそのまま保存できる
- 複雑な基準の最大値
既にご存じの方は、具体的なやり方に進んでください。
マルチスレッドで最適化が高速化
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言語がわかる人は、カスタム基準を作成できます。
MT5ストラテジーテスターの最適化のやり方
それでは、MT5ストラテジーテスターの最適化の際に事前に決めておくことや具体的なやり方、最適化結果の保存方法を紹介します!
ヒストリカルデータをインポートしたい方は以下の記事を参考にしてください。↓↓↓↓↓


MT5の最適化で事前に決めておくこと
MT5で最適化をする際には、銘柄や時間足、期間だけではなく、以下の3点を事前に決めておきましょう。
- フォワードテストをするか
- 遺伝的最適化か完全最適化か
- リアルティックを利用するか
フォワードテストは、バックテスト期間を1/2、1/3、1/4などの割合で前半と後半に分割して、それぞれの成績を比較できる機能です。過剰最適化を避けられるメリットがありますが、その分最適化に使えるデータの期間が少なくなるというデメリットがあります。
また、最適化完了までが早い遺伝的アルゴリズムか遅い完全アルゴリズムかも選択が必要になります。
遺伝的アルゴリズムは最適化を高速化するための機能で、例えば最適化でパラメータの組み合わせが1,000通りあったとすると、完全アルゴリズムでは時間をかけて1,000通り全部やるしかないのに対して、遺伝的最適化ではもっと少ない数の組み合わせのみ検証します。



効率的な仕組みだポン!
組み合わせの数を絞っているにもかかわらず、1,000通りすべてやった場合と似た結果を得られるアルゴリズムという位置づけになります。ただし、もちろん最もいい結果を見逃してしまう可能性はありますので、膨大になりすぎない数であれば完全アルゴリズムを使った方が正確な結果が得られることもあります。
MT5の最適化ではヒストリカルデータの精度も4種類から選択できます。
最も精度が高いのは、ブローカーの配信したティックがそのまま利用できる「リアルティックに基づいたすべてのティック」ですが、バックテストスピードを上げたい場合は「全ティック(疑似ティック)→「1分足OHLC」→「始値のみ」の順に精度を落とすと、その分スピードが向上します。各モードについてはこちらの記事で詳しく解説しています。


MT5最適化のやり方
MT5ストラテジーテスターの最適化のやり方は以下の通りです。スプレッドや取引手数料については以下の見出しで詳しく解説しています。
▼MT5ストラテジーテスターの最適化でスプレッドと取引手数料を設定する方法
MT5ではデフォルトでストラテジーテスター機能が表示されていないため、まず上部メニュの「表示」から「ストラテジーテスター」をクリックします。


最初に表示される「概要」タブのメニューから「最適化を完了」をクリックします。


「設定」タブで、最適化のためのバックテストの条件を設定します。ここからは、特に重要な7点について紹介します。


- エキスパート
- 銘柄
- 時間足
- 日付
- モデル
- オプティマイズ
- オプティマイズ基準
このうち、設定を忘れてしまいがちですが重要なものが⑦のオプティマイズ基準です。
このオプティマイズ基準は、完全アルゴリズム(総当たり)の場合は結果の並べ替えや分布図による可視化にしか使われないため、あまり気にする必要はありません。ここで選んだ基準を基に-成績の並べ替えが行われますが、最適化が終わった後に簡単に並べ替えられます。
一方、遺伝的アルゴリズムの場合、このオプティマイズ基準はどの個体(パラメータセット)を「良いもの」として次世代に残すかの評価指標になるため、最適化結果そのものに影響します。
バックテストを高速化したい場合は、「リアルティックに基づいたすべてのティック→全ティック→1分足OHLC→始値のみ」の順にヒストリカルデータの精度を下げてください。また、「オプティマイズ」欄で「遺伝的アルゴリズム」を選択しても高速化できます。
先ほどのバックテストの基本の条件に加えて、より詳しい設定をしたい場合は以下の項目が変更できます。


- 銘柄設定
- フォワードテスト
- 延滞
- 取引設定(手数料設定・プライスボード・証拠金設定)
- 入金・通貨
- レバレッジ
これらの項目のうち、内容がわかりにくい「銘柄設定」「フォワードテスト」「延滞」について詳しく解説します。
まずは①の銘柄設定です。ドルのマークをクリックすると、取引銘柄の仕様が表示されます。変更不可の項目もありますが、「スプレッド」など一部の項目は設定を変更することができます。


フォワードテスト機能はデフォルトでは「キャンセル(非適用)」になっていますので、利用したい場合は、「1/2」「1/3」「1/4」「カスタム」のいずれかを選択し、カスタムの場合は具体的な期間を入力してください。ここで選択した期間で前半と後半に分割され、それぞれの成績を比較できます。
MT5ストラテジーテスターの「延滞」は、注文が約定するまでの遅延時間(約定ディレイ)をシミュレートする機能です。デフォルトでは「遅延ゼロ、理想的な実行」に設定されていますが、自分の環境で実測した約定ディレイ(サーバーPingなど)に近い値を入れておくと、リアルトレードにより近い結果が得やすくなります。
最適化したいパラメータにチェックを入れ、「スタート」「ステップ」「ストップ」の値を入力します。


最適化は、パラメータの数字を少しずつ変化させて様々な組パラメータのみ合わせでバックテストを行い、最も成績のいい組み合わせを探し出す作業です。「スタート」に入力した値からバックテストを始め、次のグループでは「ステップ」に入力した値分数値を増加させてバックテストを行います。パラメータが「ストップ」の値まで増加したら、最適化が終了します。
「エージェント」タブで最適化に使用するエージェントを設定します。デフォルトではMT5が入っているPCの全てのコアで個々のバックテストが並列処理されますが、動作が重くなるのを避けたい場合などは、一部のエージェントを無効化してください。
無効化するエージェントの上で右クリックしてメニューを表示させ、「無効化」をクリックすると、そのエージェントではバックテストは行われません。


自分の所有するほかのPCやVPSで最適化を分散処理する「ローカルネットワークファーム」や、他人のPCのリソースをレンタルする「MQL5クラウドネットワーク」を利用する場合はも、「エージェント」タブから設定します。


詳しい設定方法はこちら↓↓↓↓↓


ステップ数の一番下にある数値を確認して、問題なければ「スタート」ボタンをクリックします。


最適化にかかる時間を短縮させた場合は、「ステップ」列の数字を増やすことが有効です。ステップを例えばMACDの期間について「3」に増やすと、期間が「12」「15」「18」でバックテストが行われます。一方、ステップを「1」にすると、「12~20」までの全ての期間についてバックテストが行われます。
最適化結果の保存方法
MT5では、最適化後に「オプティマイズ結果」タブに表示される最適化結果一覧がそのままキャッシュファイルとして保存されます。
最適化後に「オプティマイズ結果」タブでEA名を選択すると、自動保存された以前の最適化結果を表示させることができます。


ただし、自動保存された最適化結果はキャッシュフォルダに保存されていますので、一定期間後に自動的に削除されてしまいます。それを避けるためには、最適化結果の上で右クリックしてメニューを表示させ、「最適化キャッシュファイルをエクスポートする」からキャッシュフォルダ以外のフォルダに保存してください。


MT5ストラテジーテスターの最適化でスプレッドと取引手数料を設定する方法
自動売買(EA)のバックテスト・最適化の際に成績に大きな影響を与えるのがスプレッドと取引手数料です。
この記事では、スプレッドと取引手数料を変更する方法を紹介します。
MT5最適化でスプレッドを設定する方法
MT5では、基本的にログインしているMT5口座の取引環境でバックテストが行われるため、デフォルトでは変動スプレッドでバックテストになることが多いです。
変動スプレッドになるか固定スプレッドになるかは口座タイプ次第ですが、現在はほとんどの海外FX業者が変動スプレッドを採用しているためです。
ティックデータ(リアルティック)を使った場合はリアルなスプレッドが適用されます。一方、疑似ティックでは1分足で記録されたスプレッドが適用されます。
しかし、バックテストの条件設定画面では、変動スプレッドを固定スプレッドに変更する方法もあります。
「設定」タブでドルマークをクリックします。


銘柄の仕様が表示されますので、スプレッドの欄に既に入っている数字や文字をダブルクリックしてください。入力欄に変化しますので、希望のスプレッドをポイント単位で入力してください。


ポイントは単純に、銘柄のレートの最小単位です。クロス円などの小数点3桁の銘柄であれば3桁目、ドルストレートなどの小数点5桁の銘柄であれば5桁目がポイント単位にあたります。


取引手数料の設定方法
ここからは、取引手数料の設定方法を紹介します。
取引手数料は、デフォルトではバックテストのためにログインしている口座の手数料設定が適用されます。設定方法が複雑なため、希望の取引手数料と同じ手数料が設定された口座タイプで最適化を行う方が楽かもしれません。
テスター右側の「設定」タブで、「遅延」「スリッページをエミュレート」などと表示されている行の左にある小さなアイコンをクリックし、取引条件の詳細画面を開きます。




「クリックして手数料を追加」をクリックし、銘柄名等の情報を入力して「OK」をクリックします。


以下の項目の入力が必要で、複雑ですので、⑤の「手数料」以外はデフォルトの設定を参考にするといいでしょう。
- チャージ
- エントリー
- 始点
- 終点
- 手数料
- 最小サイズ
- 最大限
- 計算条件
- タイプ
この手数料設定は「片道」なので、ブローカーの手数料が「1ロット往復6ドル」の場合は、手数料の欄に「3」と入力し、片道3ドルずつになるように設定します。
「銘柄」の欄に何を入力すればいいのかやや複雑ですので、ここもデフォルトの設定を参考にしましょう。


例えば、「Forex+¥*」(¥マークは実際は半角です)と表示されている場合は「Forex+」という銘柄カテゴリの中の全ての銘柄という意味になります。そのカテゴリの中の全ての銘柄のことを「¥*」で表現しています。
このように設定すれば、Forex+という銘柄カテゴリの中の銘柄全てに対して、指定の取引手数料を適用できます。また、EURUSDやUSDJPYなど特定の銘柄名を入力するのでもOKです。
ただし、バックテストに使用したいヒストリカルデータの銘柄名と完全に一致するようにしてください。口座タイプによっては「EURUSD+」など銘柄名に記号がついていることもあります。
手数料条件の変更を何度も行う場合は、「エクスポート」で条件を保存しておくことをおすすめします。MT5ストラテジーテスターでは、「カスタム設定」のチェックを一度外してしまうと、取引手数料設定が削除されてしまうためです。
MT5ストラテジーテスターの最適化の結果確認方法
MT5ストラテジーテスターの最適化の結果は、以下の3か所で確認できます。
- 最適化結果一覧
- パスごとのバックテスト結果
- 分布図による可視化
最適化結果一覧
最適化が終わると、「オプティマイズ」タブに成績順で全てのバックテスト結果が並べられます。どの基準で並べ替えるかは、上部の「結果・損益・取引数・期待利得・ドローダウン%」のうち並べ替えたいものをクリックすると切り替えられます。


デフォルトで表示される並べ替えの基準はこの5種類ですが、実はほかにも並べ替えの基準を選択することができます(プロフィットファクター・リカバリーファクター・シャープレシオ)。「オプティマイズ」タブを右クリックすると、現在は表示されていない項目がわかりますので、表示させたいものにチェックを入れてください。


パスごとのバックテスト結果
バックテスト結果一覧の各結果(パス)をダブルクリックすると、そのパスの詳しい結果を確認することができます。


あらためてバックテストをしますので少し時間がかかりますが、完了すると「バックテスト」「グラフ」タブで詳しい結果が確認できます。


「バックテスト結果」のタブでは、下にスクロールしていくと以下のような詳細なグラフによる分析が確認できます。
- 時間毎・週毎・月毎の取引分析
- MFE・MAE
- ポジション保有時間


MFE・MAEとは、FXのより詳しい分析をしたい場合に使用される指標です。
MFEは「Maximum Favorable Excursion:最大順行幅」、MAEは「Maximum Adverse Excursion:最大逆行幅」の略で、含み益・含み損が最大でどれくらいあったかを把握することができます。最大順行幅が大きいのに実際に利益確定できた幅が少なければ、利益確定タイミングが適切でない可能性があることを示します。一方、最大逆行幅が大きければ、エントリータイミングが適切でない可能性があることを示します。
分布図による可視化
チャート画面が表示されていた部分には、パス(最適化によって行ったバックテストの通し番号)と最適化基準の関係がわかる分布図が表示されます。この分布図の基準には、最適化をスタートする際に設定した「オプティマイズ基準」が使われます。
また、EA名(ExpertMACD)が表示されている部分にカーソルを当てると、完全最適化なのか遺伝最適化なのかや、完了日時が表示されます。


MT5ストラテジーテスターの最適化機能を活用しよう!
この記事では、MT5ストラテジーテスターのさまざまな機能を紹介しました。
初めての方は、MT4に比べた機能の豊富さに驚いたのではないでしょうか?
MT5はまだ対応するEAが少ないため、最適化のやり方もあまり知られていませんが、MT4よりはるかにストレスなく最適化をすることができます。EAを自作できるようになると裁量トレードの検証にも効果的です。


MT5のEAやインジケーターは日本ではまだ販売されている数が少ないですが、海外サイトでは量が増えてきています。詳しくはこちら↓↓↓↓↓


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


- MT5ストラテジーテスターの最適化機能の特徴は何ですか?
MT5ストラテジーテスターの最適化機能には、「マルチスレッドで最適化が高速化された」「フォワードテスト機能が利用できる」「最適化結果がそのまま保存できる」「複雑な基準の最大値で評価できる」といった特徴があります。
詳しくは、以下の見出しで解説しています。
- MT5ストラテジーテスターの最適化結果は保存できますか?
はい、MT5ストラテジーテスターでは最適化結果がそのまま保存できます。最適化完了後にキャッシフォルダに自動保存されますが、一定期間経つと削除されてしまいますので、ずっと保存しておきたい場合は別のフォルダに手動で保存しなおす必要があります。
- MT5ストラテジーテスターの最適化では、スプレッドや取引手数料を設定できますか?
はい、可能です。MT5ストラテジーテスターの最適化では、デフォルトではバックテストに使用するヒストリカルデータのスプレッド設定とログインしている口座の取引手数料が利用されますが、手動で変更することもできます。
詳しいやり方は以下の見出しで解説しています。
- MT5ストラテジーテスターの最適化で利用できるフォワードテスト機能のメリット・デメリットを教えてください。
フォワードテストは、バックテスト期間を1/2、1/3、1/4などの割合で前半と後半に分割して、それぞれの成績を比較できる機能です。過剰最適化を避けられるメリットがありますが、その分最適化に使えるデータの期間が少なくなるというデメリットがあります。











コメント