ストラテジーテスターによるMT5でのバックテスト

ストラテジーテスターによるMT5でのバックテスト

MT5では2016年のアップデートからストラテジーテスターが利用できるようになりました。MT5のストラテジーテスターはMT4のものよりも性能面で大幅に改善されているため、EAを利用されるトレーダーにとっては、MT5に移行する大きな要因になるのではないでしょうか。

ストラテジーテスターとは

ストラテジーテスターは通貨や株式の相場の履歴に基づきEAの性能を評価するのもです。テスト中にEAは相場履歴を分析し、設定されたアルゴリズムに従って仮想取引を行います。これによって、その戦略が過去データにおいて有効かどうかを評価することができます。テストの主な利点は、市場で実際に取引することなく、EAの評価をすることができる点にあります。例えば、実際の市場でEAのテストをすると、数週間から数か月かかるものが、テスターでは数分で済んでしまいます。

ストラテジーテスターはMT5のメニューの「ボックス・バー表示」→「ストラテジーテスター」より立ち上げることができます。

テスト前の注意点

MT5のサポートページには以下のような記述があります。

  • テストでは銘柄指定にかかわらず他の銘柄の履歴データも使用することがあるのでご注意ください。テスターはエキスパートアドバイザーで使用される銘柄の全てを自動的にダウンロードします。
  • テスト/最適化する前に、メインチャート上の銘柄のすべての利用可能な価格データが自動的にサーバからダウンロードされます。インターネット接続が遅い場合には、これには非常に長い時間がかかる場合があります。
  • すべてのデータのダウンロードは1回だけ実行され、次の開始時には不足している情報のみがダウンロードされます
  • 現在気配値表示 で選択されている銘柄のみがテスト/最適化で使用できます。
  • すべての必要な銘柄の価格データは、テストと最適化の際に、自動的にサーバからダウンロードされます。
  • テストは 00hr.00m.00s で終始します(指定された日付の)。よってテスト/最適化の開始日はテスト期間に含まれますが、終了日は含まれません。テストは、前の日の最後のティックで終了します。また、現在より後の終了日を指定することはできません。このような場合には、テストは現在の日付まで(現在の日付を含まない)実行されます。

引用元:メタトレーダー5のヘルプ(公式サイト)

このことからも推察できるように、初回のテストはデータのダウンロードを伴うため、少し長い時間を要する場合があるので注意が必要です。

テスト結果のグラフ

MT5ではEAのテスト結果を以下のような棒グラフで確認することができます。左から順に一時間ごと、一週間ごと、毎月ごとのテストでのEAの損益を表しています。

フォーワードテスト機能

MT5では新たにフォーワードテスト機能が追加され、以下の画像のように相場履歴データをバックテストとフォワードテスト用に二分割することで、履歴データの特定の領域でのパラメータの過剰な最適化を回避することができます。バックテストの部分で直接最適化が行われ、フォーワードテストの部分は、取得結果の確認のためだけに使われます。もし、2つの部分でEAの性能が同様に高い場合は、用いられたパラメータの値がEAにとって最良のものであることを示しています。こうしたオーバーフィッティング対策がなされることで、MT5のづとらてじーテスターではMT4のものよりもより適切なEAの最適化を図れると思います。

引用元:メタトレーダー5のヘルプ(公式サイト)

パラメータの最適化

MT5ではEAの最適化にローカルエージェント、ローカルネットワークファーム、MQL5クラウドネットワークの三つのオプションが用意されています。それぞれのオプションは、以下の画像のように切り替えることができます。

ローカルエージェント

ローカルエージェントとはいわゆるCPUの複数スレッドを用いた最適化です(MT4ではシングルスレッドだったことを考えると、これでも十分な高速化が見込めます)。

ローカルネットワークファーム

ローカルネットワークファームとはローカルネットワークに存在する複数のコンピュータを用いた分散処理での最適化です。

MQL5クラウドネットワーク

MQL5 クラウドネットワークは、全世界の数千のコンピュータを用いるクラウド計算ネットワークです。ストラテジーテスターでは、その膨大な計算能力を利用することができます。それによって、MQL5クラウドネットワークでは通常モード(ローカルエージェント)では数か月かかるかもしれない最適化を、数時間で実行することができます。

さらに、分散計算ネットワークの使用の他に、あなた自身のコンピューティングパワーを提供し、報酬を得ることもできます。このためには、MT5に入っている、MetaTester専門コンポーネントを起動するだけで十分です。これによって、素早く快適にコンピュータを、MQL5クラウドネットワークに接続することができます。