MT5のストラテジーテスターを使っても、1回だけのテストでは、本当にそのストラテジーが有効なのかの判断は難しいといえます。設定項目を色々変えながら最適化することで、勝率が高いEAが動き出すのです。
今回は、MT5でEAの最適化を行う方法をわかりやすく簡単に教えていきます。ストラテジーテスターの使い方や、最適化の方法をお探しの方は、ぜひ参考にしてみて下さい。
- MT5のEA・ストラテジー最適化とは何なのか
- MT5で使える最適化の機能とは
- バックテストで最適化を行う方法
- MT5の高速化をはかる方法
MT5 ストラテジーの最適化とは!?

MT5では、膨大な量のEAから条件に合ったストラテジーを選ぶことができます。自分でプログラミングをしてストラテジーやインジケーターを作成するトレーダーもいます。ストラテジーの活用で欠かせないのがバックテストです。バックテストはストラテジーテスターと呼ばれるMT5の機能を使って行います。
まずは、「このストラテジーで勝てるかどうか」をバックテストで検証します。さらにテストするだけでなく、重要となるのがストラテジーの最適化です。
むむ・・・。最適化とは一体・・・・
どうやって最適化すればいい?

最適化なんて聞いてもイメージしづらいかもです。
今回はストラテジーの最適化について、
わかりやすく解説していきます。
最適化をするかしないかで、EAの勝率は明らかに違ってくるのです。
そもそもストラテジーテスターとは?
ストラテジーテストとは、MT4・MT5で使えるバックテスト機能のことで、EAやインジケーターの有効性を調べるために使われています。


過去のチャートデータにて、もしそのEAを稼働させた場合にどれくらいの勝率(負け率)が期待できるのか、テストの結果から想定することができます。メニュー「表示」→「ストラテジーテスター」にてテスト画面にアクセスできます。
わずか数分~数十分程度で、テスト結果はデータやグラフで表示されるため短時間でも複数回のテストが可能です。
テストの統計結果


パラメーターの設定
バックテストは、パラメーターの基本設定(取引条件)を入力して行います。


- EAの名称
- 銘柄: 通貨ペア
- 時間足
- テスト期間
- フォワードテストの有無
- 延滞:スリッページ幅
- モデル:ティックの精度
- 入金額/レバレッジ
- オプティマイズ(最適化)
通常のシンプルなテストでは①~⑤までを基本設定として入力し、あとはデフォルトで使う場合が多いです。
最適化する場合は①~⑨と全体的に設定の見直し・変更を行い、EAが最も有効に使える設定を探します。
バックテスト・フォワードテスト
EAのテストには、バックテストとさらにフォーワードテスト呼ばれるテストがあります。
- バックテスト → 過去のチャートで期間を指定してテストする
- フォワードテスト → 指定した期間以外でテストしてみる(リアルタイムチャートを使う)
あえてテストしていない期間で性能を試すことをフォワードテストといいます。リアルタイムチャートでデモトレードのように実験してみるケースもあります。運用状況・設定・諸条件を見ながら両方テストすることで、より現実に近いテスト結果が得られるといわれています。
バックテストとフォワードテストと両方で満足いく結果が出るまで、100回以上のテストと最適化を重ねるトレーダーもいます。
バックテストの詳細は、下記の記事でもご確認頂けます。合わせて参考にして下さい。


MT5で10の最適化(Optimization)機能が使える!


さて、MT5ではどのような最適化の機能があるのでしょうか。ここで、MT5で使える10の最適化の機能をご紹介していきます。もちろん、こちらは誰でも無料で使うことができます。



せっかくEA使っても、勝てなかったら
イヤだから・・・。最適化覚えておいた方がいいのです。
ストラテジーテスター :10の機能


MT5で「表示』→「ストラテジーテスター」をクリックすると、上図のようなメニュー画面が出てきます。この画面からバックテストを行い、最適化がはかれます。
ストラテジーテスターには10の機能が搭載されています。大まかにどんなことができるのか見ておきましょう。
ストラテジーテスター(メニュー) | 基本機能 | 難易度 |
---|---|---|
①単一(シングル) | 1つのストラテジー 1種類の通貨ペアでのバックテスト | 基本設定のみ 難易度:低 |
②インジケーター | インジケーターのテストを行う | 基本設定のみ 難易度:低 |
③可視化 | ストラテジーの取引状況を チャート画面で確認できる | 基本設定のみ 難易度:低 |
④ストレスと延滞 | スリッページやリクオートの 可能性を考慮したテスト | 基本設定でも要経験 難易度:中 |
⑤完全最適化 | あらゆるパラメーターの設定を アルゴリズム分析で最適化を行う | やや複雑な設定 難易度:中~高 |
⑥遺伝的最適化 | ランダムに数値を組み合わせて、 アルゴリズム分析で最適化を行う | 要テスト履歴 難易度:高 |
⑦フォワード最適化 | 指定した期間よりも先のチャート でバックテストを複数回行う | アルゴリズム・ ランク基準の設定 難易度:中 |
⑧市場スキャン | 選択した複数の通貨ペアを 同じ設定でテストできる | 基本設定でも要分析力 難易度:中 |
⑨数値計算 | プログラミングにて数値計算 ができる機能 | 既存の設定が使える 難易度:難 |
⑩前の最適化結果を確認 | 過去のテスト結果・最適化の データが確認できる | 既存のデータを再生 難易度:中~高 |
以上のような機能が搭載されていて、それぞれのバックテストの目的・要望に応じて使い分けることができます。ここでいう、基本設定とはバックテストに必要な最低限の条件のことで、通貨ペアや時間足などの取引条件のことを指しています。
どの設定を、どのように変更すべきなのか、それを最適化の10の機能を使って探っていくわけです。
次の章にて、それぞれの機能の使い方・最適化のやり方を詳しく見ていきます。なお、MT4の最適化はできることはMT5とほとんど変わりませんが、若干やり方が異なります。詳しくは、下記の記事をご参照下さい。


MT5 バックテスト最適化のやり方


では早速、MT5の最適化のやり方を見ていきます。最初に、一番簡単な基本設定にてバックテストを行っていきます。最適化するためには、基盤となるテスト(比較できるテスト・ストラテジー)が必要ですので、複数回シンプルなテストをやってみましょう。



バックテストを何回かやった後に最適化
していけば分かりやすいですね。
最適化の流れ
- まずは基本設定を固める
- メニューから項目から最適化を試みる
- フォワードテストで実証を高める
- 本番のデータをもとに最適化を繰り返す
と大まかには、以上のような流れで徐々に勝率の高いEAを構築していくイメージです。
機能1.単一(シングル)


「単一」機能とはいわゆるシングル・単発のバックテストのことです。MT5の日本語版は、自動翻訳にて無理やり日本語に当てはめてあるので、不自然が名称が多いのでタイトルはあまり気にしない方がよいです。
シングル機能は、軽くEAの手ごたえをチェックしたい時や基本設定の調整に活用できます。
例えば1回目のテストが損失で終わったすれば、勝率以前の問題です。まずは他の設定で利益が出るかどうか調べていきます。設定次第で勝率がぐっと上がることもあれば、使えないEAということで却下することもできます。
- 純損益: -1,685
- 純利益: 10,085
- 総損失: -11,770


- 通貨ペア →他の通貨ペアでも損益なのか?
- 期間(時期)→ 市場との相性があるのか?
- 時間足 → 短期か中長期か?
必要事項を入力したら「スタートボタン」を押してテスト結果を確認します。
機能2.インジケーター


ストラテジーテスターのメニュー、「インジケーター」では、インジケーターの有効性を探りたい時や、シグナルを自分で設定、EAのプログラミング設定などに使えます。


- プルダウン方式でメニューからインジケーターが選択できる
- 銘柄:通貨ペア/時間足を選択
- 期間設定
- モデル:リアルティックに基づいたすべてのティック(推奨)
シグナルの検索にはリアルティックがおすすめですが、目的に合わせて、「全ティック」「1分足OHCL」「始値のみ」などが選択可能です。「スタート」ボタンを押すと、過去チャートとインジケーターが表示されます。
機能3.可視化


「可視化」では、EAの取引状況をチャート画面で確認できます。どこで売買しているのか視覚的に見ることで、EAの性能を判断したり、時間足を変えてみたり、インジケーター・パラメーターの数値を変更するなど、ヒントを得ることが可能です。


基本設定を任意で入力したら、一番最後の欄、「チャート、指標、取引を表示するビジュアルモード」にチェックを入れます。「スタート」ボタンを押すと、チャート画面が出てきて、売買した場所が表示されます。


上部メニューにあるアイコンにて、チャートのスピード、一時停止、再生、早送り、巻き戻しを調整します。決済(損切・利確)されたポジションは「赤(売り)」「青(買い)」の矢印と点線で表示されます。保有中のポジションは水平ラインで確認できます。
EAの種類によって、パラメーターの数値が変更できるものと、プログラムを書き換えないと変更できないものとあります。パラメーターの変更方法は、後ほど「機能5.最適化」の項目で述べていきます。
機能4.ストレスと延滞


EAのバックテストにて、スリッページやリクオートの可能性も考慮しておく必要があります。実際の相場では、様々な要因によって約定しづらかったり、スプレッドが開きすぎたりするからです。「ストレスと延滞」の設定にて、遅延するかもしれない数値を設定してテストできます。


延滞をクリックするとプルダウンで、メニューが出てきます。デフォルトでは平均的な数値50ミリ秒になっていますので、まずは50ミリ秒から始めてみると良いでしょう。


遅延の数値が大きくなるほど、損失のリスクも高まりますが、その分、耐性があるEAを探す目安となり、遅延があったとしての最適な時間足の選定にも役に立ちます。
ランダム遅延、カスタム遅延で比較してみても良いでしょう。
機能5.最適化を完了


「最適化を完了」という機能は、「完全アルゴリズム」とも呼ばれている機能のことで、任意で設定したすべてのパラメーターを段階的にテストすることができます。微妙な設定の違いで、インジケーターのシグナルも変わってきます。シグナルが変わることで当然、エントリー・エグジットのポイントも違ってくるわけで、最適な設定を探すことが重要なポイントとなります。


通常のバックテストの流れで、取引条件を設定し、一番下の欄にあるオプティマイズで「完全アルゴリズム」を選択します。(遅い)と書いてあるのは、時間がかかるという意味です。次に隣の欄のプルダウンメニューから、最優先したい項目を選択します。


残高を重視したい場合は、「残高最大」を選択、最小ドローダウンを優先したい場合は、「最小ドローダウン」を選びます。トレード戦略に合わせて数回に分けてテストしてみるとよいでしょう。
パラメーターの設定方法


設定したいパラメーターにチェックを入れてから、数値を入力します。
- 値 → 通常のパラメーターの期間設定(完全アルゴリズムを利用しない場合)
- スタート → 最適化でテストしたい最小の数値(期間)
- ステップ → 変更幅(1期間ごと増やす or 2期間ごと増やす)
- ストップ→ 最適化でテストしたい最大の数値(期間)
例えば、「スタート:10、ステップ:1、ストップ:20」では、10期間から始めて、11、12、13・・・・20までテストします。「スタート:12、ステップ:2、ストップ:40」では、12期間から始めて、14、16、18・・・40までテストします。入力が完了したら「スタート」ボタンをおしてテスト開始です。
設定内容によっては時間がかかり、データも複雑になるため、一度にあまり多くを変更しない方がわかりやすいです。
テスト結果の見方と最適化


EAに組み込まれているMAの1つを「スタート:12、ステップ:1、ストップ:110」でテストしてみました。するといくつかの設定はプラスに転換してます。下図は具体的なMAの数値と損益額です。


このテストでは、MAの数値46で最も高い利益が獲得できています。続けて、48、47もまずまずの結果です。MAの1つは46~47が使えそうだということがわかりました。この数値をもとに、もう1つのMAの設定をテストしていけます。
次に、設定を「MA:45~48」と「MA:7~110」にして、2つのMAの最適な数値の組み合わせを探ってみました。


すると、「47、9」「48、8」あたりで好ましい結果が出ていることがわかりました。というように、すべてのパラメーターの最適な設定・組み合わせを探っていけるのです。
機能6.遺伝的最適化


「遺伝的最適化」とは、ランダムに蓄積されていくデータの中から、最適なパラメーターの数値を導き出す方法です。遺伝的アルゴリズムは「G,A/Genetic Algorithm)とも呼ばれている分析方法で、科学的に実証されてはいないものの、かなり高い確率でそのロジックが繰り返されていくと考えられています。


基本設定を入力し、オプティマイズの欄で「遺伝的アルゴリズム」を選択します。ここでいう(速い)とは、比較的にテストにかかる時間が速いという意味です。ただし、パラメーターの数や設定内容によっては数十分程度の時間がかかります。隣の枠はプルダウンメニューから優先したい項目を選択します。
パラメーターのテスト幅を入力し(機能6を参照)、入力が完了したら「スタート」ボタンを押してしばらく待ちます。
テスト結果の見方・最適化




テスト結果では、MA「48、8」が最も利益が出ていることがわかります。次に最適な設定が「47、8」「48、7」となっています。この結果は15分足の場合です。他の時間足ではどうなのか、トレンドや値幅が異なる時期ではどうなのかも見てみるとさらなる最適化のヒントが得られるでしょう。
大まかな目安として、トータル的なパラメーターの組み合わせを見るのに役に立ちます。
機能7.フォワード最適化


EAの最適化を重ねて、ある程度のレベルになったらバックテストだけでなくフォワードテストで性能を試してみます。ここで問題があれば、設定をまた練り直すことができます。最適化の最終テストとして、あえてテストしていない期間でフォワードテストを行います。
通常、EAはどれだけ完璧に最適化を行ったとしても、あくまでも任意の期間において有効です。リアルタイムの相場(本番トレード)でも必ず有効だとは限りません。リアルタイムで全く通用しない最適化のことを過剰最適化といいます。


フォワードテストは、テスト期間として選択した期間のうち以下の項目で設定できます。
- キャンセル → 適用しない
- 1/2、1/3、1/4
- カスタム → 手動設定
フォワードテストで損失が拡大した場合は、原因を可視化チャートや操作ログで探ります。実際の本番トレードで勝てるEAを構築するために、次のステップはフォワード期間を含めて最適化を行います。テスト期間を前か後ろにずらしながら「フォーワード最適化」を活用することで、適応性が高いEAが実現できます。
デモトレードでフォワードテストを試みるトレーダーもいます。
機能8.市場スキャン


「市場スキャン」とは、気配値表示に登録済みの通貨ペアがプルダウンメニューから選択できる機能のことです。テストしたい通貨ペアを選択して、バックテストや最適化を行うことができます。すべての通貨ペアを選択して、一斉にテストすることも可能です。


機能9.数値計算


もう1つ、MT5のストラテジーテスターに備わっている最適化機能に「数値計算」があります。この機能は、これまで見てきたテスト機能とは全く異なる仕様になっていて、特定のプログラミングにて数値計算をしたい時に使われています。
設定画面のモデルの欄を「数値計算」に設定して行います。OnTester()のファンクションとして機能します。


プログラミングを利用しないトレーダーには、ほぼ用途がない機能です。
機能10.前の最適化結果を確認


EAの最適化には終わりがありません。FXトレードの必勝法に正しい回答がないのと同じです。損失・利益をもたらすファクターは至る所に散在しており、1つの変更・修正が、また次の課題をもたらします。止めどなく続くテスト・最適化において「前の最適化結果を確認」にて、過去の履歴を見ることができます。
ストラテジーテスターのメニューから「前の最適化結果を確認」→「ファイルを選択」→「開く」で表示できます。


これらのファイルはテストが終わった時点で自動保存されるものなので、タイトルがわかりづらかったりします。テストが完了するごとに、ファイルを各自で「名前を付けて保存」しておくと、時間効率が良くなり便利です。
最適化でMT5の高速化を実現


EAを稼働させるにも、EAのバックテスト・最適化を行うにも、一定以上のPCのスペックが求められます。古いPCだったり、容量が小さい、CPUが安価すぎたりすると、MT5が円滑に使えない場合があります。高額なPCでなくとも構いません。この機会にMT5が快適に使えるように、PCのスペックをチェックしておきましょう。
PCのフリーズや遅延は、通信回線以外で大きく2つの理由が考えられます。
- 利用しているPCのスペックが足りない
- 利用しているFX業者のシステムが安定していない
最近では、どの業者・プランを選んだとしても余程の理由がない限り、そこそこ安定・高速の通信回線が使えます。
MT5バックテストに最低限必要なPCのスペック
- CPU:1.2Ghz以上 or Inter Core 4以上
- メモリー:8GB~
- プロセッサー:64bit
一番大切なのがCPUです。CPUの性能が良ければ、多少古くても快適に使えます。中には25年ものでもサクサク動くものもありますので、動作具合で判断するとよいでしょう。メーカーにもよるので一概にはいえませんが、製造年から20年以上経っているPCは、一般的には買え時かもしれません。
MT5はFX業者によっても性能が違う!
自分のPCに問題がなくとも、MT5を接続しているFX業者のサーバー・システムの質が悪い場合があります。同じMT5でも業者ごとに採用するサーバー・システムのクオリティが異なりますので、雲泥の差が出てきます。
見極める目安は、他のアプリケーションやブラウザーの動作はどうかということです。MT5のみ動作が悪い場合は、業者が原因だと考えられます。チャートのフリーズは危険でもあるので、サーバーのクオリティーで評価が高いFX業者に切り替えるのが無難です。
VPSを使う方法もある
また、PCに致命的な問題がなければ、レンタルサーバーVPSを使うことで、安定したシステムが維持できることが多いです。WikiFXでもレンタルサーバーを提供していますので、興味がある方はお試し下さい。


まとめ


MT5では、数100種類のEAから条件に合うものを有料・無料と探すことができます。無料のEAも豊富で、さらに自作インジケーターや自作EAなど、MT5ならでは優れた機能が人気を集めています。いったん稼働させてしまえば、確かに半分放置しておいても勝てるチャンスはあります。しかし、スタートを切るまでにバックテストや最適化をいかに行うかが勝負を左右するのです。
ほんの小さな設定の違いからも結果は大きく変わってきます。どの相場にどのEAを使うのか、通貨ペアは?時間足は?十分に時間をかけ、探れば探るほど、高品質のEAが形成されていきます。ぜひ、今回の記事を、MT5EAの運用にお役立て頂ければ幸いです。
コメント コメント 0