MT4 EAを検証するバックテストとパラメータ最適化の手順

トレード・パフォーマンス最適化

ここでは、過去データを使ってMT4 EA(Expert Adviser)のパフォーマンスを検証する、「バックテスト」と「パラメータ最適化」の手順を紹介します。

[toc]

MT4 EAのバックテスト前準備

まずは、バックテスト/パラメータ最適化を行うための前準備です。

EAの設定

検証したいEAは、MT4に正しく設定しておきます。

ヒストリカルデータの設定

バックテストの精度を上げるために、利用するヒストリカルデータ(過去データ)を正しくインポートしておきます。

バックテストの手順

MT4のメニュー「表示」 – 「ストラテジーテスター」をクリック。

ストラテジーテスターを開く

すると、次のような「テスター」画面が開きます。

MT4ストラテジーテスター画面

次のようにテスト環境の設定をし、テストを実行します。

バックテストの環境設定

テスター画面上で次のようにテスト環境を設定します。

ストラテジーテスター環境設定

  • エキスパートアドバイザー:バックテストしたいEAを選択
  • 通貨ペア:EAを稼働させる通貨ペアを選択
  • 期間:EAを稼働させる時間足を選択
  • モデル:全ティックを選択
  • スプレッド:通貨ペアのスプレッドを設定
  • 日付と時間を使用:チェックを入れて、過去検証したい期間を「開始日」「終了日」に設定
  • 最適化:チェックを外す
  • ビジュアルモード:基本的にチェックは外す

エキスパート設定

「エキスパート設定」をクリック。

エキスパート設定

「テスト中」タブを開き、次のように設定する。

テスト中タブの設定

  • 初期証拠金:バックテストに設定する初期証拠金
  • ポジション:保有するポジション(Long・Short)

次に「パラメータの入力」タブを開く。

バリューの列で、EAのパラメータを設定し「OK」ボタン押下。

パラメータの入力

バックテストの実行

設定が完了すれば、「スタート」ボタンを押下してバックテストを実行。

テスト期間により数分〜時間を要します。(バックテストの進行状況は緑のバーで確認できる)

バックテストのスタート

バーが右端に到達し、右下のボタンが「ストップ」から「スタート」に変われば、バックテスト完了。

バックテストの進行状況

テストの結果は、下のタブ「結果」「グラフ」「レポート」から確認できます。

バックテストの結果

もし、何らかのエラーが発生している場合は、「操作履歴」タブで実行ログが確認できます。

また、「レポート」画面で右クリックして「レポートの保存」をすると、次のようなHTML形式のレポートになります。

レポートの保存

バックテストの結果レポート

最適化の手順

最適化を選んでバックテストを実行すると、指定した範囲内のパラメータを全て組み合わせ、その中から最も優れたパラメータ設定を導き出してくれます。

最適化を実行するには、基本的にはバックテスト同様の手順となります。

テスター画面で「最適化」にチェックを入れます。

最適化にチェック

エキスパート設定

「エキスパート設定」の「テスト中」タブで、最適化パラメータを設定する。

最適化パラメータの設定

  • 最適化パラメータ:最適化に重視する項目。通常はBalanceを設定。
  • 遺伝的アルゴリズム:チェックを入れる

次に「パラメータの入力」タブを開く。

最適化を行いたいパラメータの「スタート」「ステップ」「ストップ」にそれぞれ値を設定し、変数名の左にチェックが入っていることを確認して「OK」ボタン押下。

最適化のパラメータ範囲

  • スタート:パラメータのスタート値
  • ステップ:スタート値からステップ値ずつ加算
  • ストップ:ストップ値まで加算を繰り返す

上図の例でいうと、パラメータ「OKPips」は、0 ⇛ 10 ⇛ 20 ⇛ 30のパターンが検証されるということになります。

尚、パラメータ最適化は、設定したパラメータ範囲の組合せ全てを繰り返して処理するため、設定範囲とテスト期間によっては、膨大な時間が掛かります。(24時間〜など)

最適化の実行

設定が完了すれば、「スタート」ボタンを押下して最適化を実行。

バーが右端に到達し、右下のボタンが「ストップ」から「スタート」に変われば、最適化の完了です。

結果は、下のタブ「最適化結果」「最適化グラフ」から確認できます。

最適化の結果

「最適化結果」のタブでは、損益やプロフィットファクターなどの順に並べられた結果が確認できます。

最適化結果

それぞれのパラメータ値は「パラメータの入力」欄に掲載されており、結果をダブルクリックすると、そのパラメータがエキスパート設定に反映されます。

例えば、プロフィットファクターが一番高い結果となった設定を使いたければ、「プロフィットファクター」をクリックしてソートし、一番値の高いパラメータを反映させる。というような使い方です。

注意
バックテスト/最適化は、あくまで過去データにおける検証結果なので、今後もこの運用成績になるという訳ではありません。