MT5(メタトレーダー5)には、インジケーターやEAのバックテストを行う機能が「ストラテジーテスター」という名称で準備されています。
このページでは、MT5のバックテストのやり方をご説明します。
MT4のバックテスト方法については「【MT4】ストラテジーテスターの使い方」をご覧ください。
【MT4】ストラテジーテスターの使い方MT4版のヒストリカルデータをMT5のバックテストで利用する方法は「【MT5】ヒストリカルデータのインポート方法」をご覧ください。
【MT5】ヒストリカルデータのインポート方法バックテストメニューの開き方
MT5でバックテストを行うには「ストラテジーテスター」というウインドウでバックテストのメニューを開く必要があります。
バックテストのメニューは、ウインドウを移動させていなければMT5の最下部に表示されます。
もしバックテストのメニューが表示されていない場合は、以下の手順で表示させてください。
- MT5のメニューバーにある「表示」をクリックする
- 4ブロック目の5行目にある「ストラテジーテスター」をクリックして選択状態にする
ストラテジーテスターが表示されていない時は、以下の画像のように「ストラテジーテスター」の左横にあるマークが凹んでいない状態です。
この状態でストラテジーテスター(赤枠の箇所)をクリックして選択状態にすると、バックテストのメニューが表示されます。
バックテストのモード選択
バックテストのメニューを開いたら、まずは「概要」タブでバックテストのモードを選択します。
モードを選択すると、そのモードに適した設定が自動でセットされます。
シンプルなバックテストは「単一」をクリックしてください。
実際のEAの動きを確認したい場合は「可視化」をクリックしてください(MT4の「ビジュアルモード」と同じ機能です)
モードを選択すると、自動的に「設定」タブに移動します。
※「数値計算」は、数学的な計算のために使用するモードで、バックテストではありません
バックテストの設定方法
単一モードを選択した場合の設定タブでご説明します。
エキスパート
バックテストを行うEAを指定します。
モード選択で「インディケータ」を選択した場合は、インジケーターがリストに表示されます。
銘柄、時間足
バックテストを行う銘柄と時間足を指定します。
気配値リストに登録されている銘柄が表示されます。
「すべての[気配値表示]銘柄」を選択すると、気配値リストに登録されているすべての銘柄でバックテストが行われます。
気配値リストは「気配値表示」ウインドウのリストを右クリック⇒「銘柄一覧」で表示することができます。
$マークがグレーの銘柄は気配値リストに未登録で、$マークが黄色の銘柄は気配値リストに登録されている銘柄です。
銘柄を選択して「銘柄を表示する」をクリックすると、気配値リストに登録されます。
時間足も忘れずに選択します。
日付(テスト期間)
バックテストを行う期間を指定します。
「全履歴」を選択すると、バックテストできる全期間でテストを行います。
「期間指定」の場合は、指定した開始日から終了日までの期間でテストが行われます。
フォワードテスト
フォワードテストの設定です。
③で指定した期間を、バックテストとフォワードテストに分けてテストすることができます。
「キャンセル」を選択すると、フォワードテストは行われません。
「1/2」、「1/3」、「1/4」を選択した場合、まずは指定した割合の残りの期間でバックテストを行い、続けて指定した割合でフォワードテストを行います。
例えば「1/3」を選択した場合、まずは「2/3」の期間でバックテストを行い、続けて残りの「1/3」の期間でフォワードテストを行います。
「カスタム」の場合は、指定した期日までバックテストを行い、続けて残りの期間でフォワードテストを行います。
延滞
指定した時間分、エントリーや決済の約定を送らせてテストを行います。
「遅延ゼロ、理想的な実行」を選択した場合は、EAがエントリーや決済の発注を行ったらすぐに約定します。
モデル
バックテストを行うデータの精度を選択します。
「リアルティックに基づいた全てのティック」が一番精度が高いです。
続いて「全ティック」、「1分足OHLC」、「始値のみ」の順に精度が低くなります。
ただし、精度が高い方がデータ量が多く、PCの負荷やバックテストにかかる時間も大きくなるため、注意が必要です。
モデル | 使用するデータ |
---|---|
リアルティックに基づいたすべてのティック | MT5のサーバーから取得した、ブローカーのリアルティックデータ(ブローカーのリアルティックがない場合はメタクォーツ社のデータが利用されるようです) |
全ティック | MT5が生成した疑似的なティックデータ |
1分足OHLC | 1分足の始値・高値・安値・終値データのみを使用 |
始値のみ | 指定した時間足の始値データのみを使用 |
数値計算 | 数学的な計算を行う場合に選択するモードなので、バックテストでは選択しません |
入金
バックテスト開始時の証拠金の設定です。
通貨のドロップダウンリストにはJPY(円)がありませんが、直接「JPY」と入力することで円で指定することが可能です。
円で指定する場合は、円換算用の通貨ペアのヒストリカルデータが存在するかも確認しましょう(例えばEURUSDでテストを行う場合、USDJPYのデータも必要です)
レバレッジも忘れずに指定しましょう。
ドロップダウンリストに指定したいレバレッジがない場合は、直接入力も可能です。
オプティマイズ
最適化の設定です。
単純なバックテストの場合は「無効化」を選択してOFFにしておきます。
「完全アルゴリズム(遅い)」は、すべての設定で検証を行います。一番精度が高い検証です。
「遺伝的アルゴリズム(速い)」は、アルゴリズム(ロジック)に基づいて検証を取捨選択することで「完全アルゴリズム(遅い)」と質はほぼ同じでありつつ、検証時間を短くしたモードです。
「気配値表示で選択されたすべての銘柄」は、気配値リストに登録されているすべての銘柄で検証を行います。
オプティマイズを「無効化」以外にした場合は、右側に検証結果のソートも設定します。
オプティマイズを「無効化」にした場合は、右側に「チャート、指標、取引を表示するビジュアルモード」というチェックボックスが表示されます。
「チャート、指標、取引を表示するビジュアルモード」にチェックをいれると、実際のEAの動作を確認することができます。
EAの設定
バックテストの設定を行ったら、次は「パラメータ」タブでEAの設定を行います。
以下の画像はMT5に標準で実装されている「ExpertMACD.ex5」の設定です。
最適化を行わない(「オプティマイズ」が無効化)の場合は「値」の列を任意の設定に変更してください。
最適化を行う場合は、最適化を行う変数にチェックを入れて「スタート」「ステップ」「ストップ」の列で、検証したい設定の範囲を指定してください。
例えばスタートを2、ステップを2、ストップを12二指定した場合、その設定は2、4、6、8、10、12でそれぞれ検証が行われます。
最適化を行わない変数は「値」の列を任意の設定に変更してください。
バックテストの実行
すべての設定が完了したら、ストラテジーテスターウインドウの右下にある「スタート」をクリックします。
バックテスト実行中は、以下の画像のように進捗がバー表示されます。
MT5内にティックデータが保存されていない期間をテストする場合は、ティックデータの受信から開始されるため、少し時間がかかります。
また、銘柄やテスト期間、モデル、オプティマイズ設定によっても、テストが完了する時間が変わります。
バックテスト結果の確認
バックテストが完了すると通知音がなり、バックテスト実行中に「ストップ」表示だったボタンが「スタート」に戻ります。
単一のバックテストの場合は「バックテスト」にテスト結果が表示されます。
ヒストリー品質は、ティックデータの精度です。
ヒストリー品質の%が低い場合は、バックテスト結果の精度が低いと考えることができます。
損益やドローダウン、プロフィットファクタなどの情報が確認できます。
下にスクロールすると、時間別や週別、月別の取引数と損益グラフを確認できます。
更にスクロールすると、損益(Profits)と最大順行幅(MFE)の相関性や、損益(Profits)と最大逆行幅(MAE)の相関性、最大順行幅(MFE)と最大逆行幅(MAE)の相関性を確認できます。
グラフは損益と最大順行幅、損益と最大逆行幅の2つが表示されます。
更にスクロールすると、ポジション最短保有時間とポジション最長保有時間、ポジション平均保有時間、損益と保有時間のグラフを確認できます。
単一のバックテストの場合「グラフ」タブで損益の推移を確認することもできます。
グラフの上側は残高や有効証拠金の推移です。
グラフの下側は、おそらく残高の何%の利益が出たかのグラフだと思います。
オプティマイズ(最適化)を行った場合は「オプティマイズ結果」タブに、フォワードテストを行った場合は「先行結果」タブに結果が表示されます。
詳細を見たい行をダブルクリックすると「バックテスト」タブと「グラフ」タブに詳細が表示されます。
また、チャートエリアに最適化やフォワードテストの分布も表示されます。