ここでは、過去データを使ってMT4 EA(Expert Adviser)のパフォーマンスを検証する、「バックテスト」と「パラメータ最適化」の手順を紹介します。
[toc]
MT4 EAのバックテスト前準備
まずは、バックテスト/パラメータ最適化を行うための前準備です。
EAの設定
検証したいEAは、MT4に正しく設定しておきます。
ヒストリカルデータの設定
バックテストの精度を上げるために、利用するヒストリカルデータ(過去データ)を正しくインポートしておきます。
バックテストの手順
MT4のメニュー「表示」 – 「ストラテジーテスター」をクリック。
すると、次のような「テスター」画面が開きます。
次のようにテスト環境の設定をし、テストを実行します。
バックテストの環境設定
テスター画面上で次のようにテスト環境を設定します。
- エキスパートアドバイザー:バックテストしたいEAを選択
- 通貨ペア:EAを稼働させる通貨ペアを選択
- 期間:EAを稼働させる時間足を選択
- モデル:全ティックを選択
- スプレッド:通貨ペアのスプレッドを設定
- 日付と時間を使用:チェックを入れて、過去検証したい期間を「開始日」「終了日」に設定
- 最適化:チェックを外す
- ビジュアルモード:基本的にチェックは外す
エキスパート設定
「エキスパート設定」をクリック。
「テスト中」タブを開き、次のように設定する。
- 初期証拠金:バックテストに設定する初期証拠金
- ポジション:保有するポジション(Long・Short)
次に「パラメータの入力」タブを開く。
バリューの列で、EAのパラメータを設定し「OK」ボタン押下。
バックテストの実行
設定が完了すれば、「スタート」ボタンを押下してバックテストを実行。
テスト期間により数分〜時間を要します。(バックテストの進行状況は緑のバーで確認できる)
バーが右端に到達し、右下のボタンが「ストップ」から「スタート」に変われば、バックテスト完了。
テストの結果は、下のタブ「結果」「グラフ」「レポート」から確認できます。
もし、何らかのエラーが発生している場合は、「操作履歴」タブで実行ログが確認できます。
また、「レポート」画面で右クリックして「レポートの保存」をすると、次のようなHTML形式のレポートになります。
最適化の手順
最適化を選んでバックテストを実行すると、指定した範囲内のパラメータを全て組み合わせ、その中から最も優れたパラメータ設定を導き出してくれます。
最適化を実行するには、基本的にはバックテスト同様の手順となります。
テスター画面で「最適化」にチェックを入れます。
エキスパート設定
「エキスパート設定」の「テスト中」タブで、最適化パラメータを設定する。
- 最適化パラメータ:最適化に重視する項目。通常はBalanceを設定。
- 遺伝的アルゴリズム:チェックを入れる
次に「パラメータの入力」タブを開く。
最適化を行いたいパラメータの「スタート」「ステップ」「ストップ」にそれぞれ値を設定し、変数名の左にチェックが入っていることを確認して「OK」ボタン押下。
- スタート:パラメータのスタート値
- ステップ:スタート値からステップ値ずつ加算
- ストップ:ストップ値まで加算を繰り返す
上図の例でいうと、パラメータ「OKPips」は、0 ⇛ 10 ⇛ 20 ⇛ 30のパターンが検証されるということになります。
尚、パラメータ最適化は、設定したパラメータ範囲の組合せ全てを繰り返して処理するため、設定範囲とテスト期間によっては、膨大な時間が掛かります。(24時間〜など)
最適化の実行
設定が完了すれば、「スタート」ボタンを押下して最適化を実行。
バーが右端に到達し、右下のボタンが「ストップ」から「スタート」に変われば、最適化の完了です。
結果は、下のタブ「最適化結果」「最適化グラフ」から確認できます。
「最適化結果」のタブでは、損益やプロフィットファクターなどの順に並べられた結果が確認できます。
それぞれのパラメータ値は「パラメータの入力」欄に掲載されており、結果をダブルクリックすると、そのパラメータがエキスパート設定に反映されます。
例えば、プロフィットファクターが一番高い結果となった設定を使いたければ、「プロフィットファクター」をクリックしてソートし、一番値の高いパラメータを反映させる。というような使い方です。