【簡単】MT4でEAのバックテスト(検証)をする方法

2023.12.25

【簡単】MT4でEAのバックテスト(検証)をする方法

バックテストとは、EA(自動売買プログラム)を過去のデータを元に、どのような取引を行っているのか、損益や勝率はどうなのかといったことをテスト稼働させ、検証することです。

EAを入手する際、バックテスト結果のデータなども載っていると思いますが、使いたいEAを自分で検証してみて使用するかどうかを判断する方が賢明です。

本記事では、MT4でバックテスト(検証)をする方法を紹介します。最初は少し複雑に感じるかもしれませんが、慣れればそう難しい作業ではありません。順番に見ていきましょう。

1. FXDDでヒストリカルデータをダウンロードする

まずはバックテストで使うヒストリカルデータをダウンロードします。

ヒストリカルデータはMT4からでもダウンロードできるのですが、正確性に欠けているといわれています。

そのため今回は「FXDD」のヒストリカルデータを使用します。

FXDDでヒストリカルデータをダウンロードする

ダウンロードリンク

 FXDDのヒストリカルデータ

こちらでバックテストに使用したい通貨ペアのヒストリカルデータをダウンロードします。

ックテストに使用したい通貨ペアのヒストリカルデータをダウンロードします

ここでは例として「EUR/USD」をダウンロードします。

ヒストリカルデータ

ダウンロードしたフォルダ中にhstファイルが入っています。このデータをMT4にインポート(データ取り込み)していきます。

バックテストでは膨大なヒストリカルデータを使用します。PCのスペックが足りない場合、MT4が重くなる原因にもなるので、バックテスト用のデモ口座などを準備しておくことを推奨します。

2. MT4のヒストリカルデータを削除しておく

先程のデータをインポートする前に、MT4内の余分なヒストリカルデータは削除しておきましょう。(前述したようにMT4のヒストリカルデータは正確性に欠けるため)

また今回の作業時には、チャートを閉じて何も表示しないようにしておきましょう。(余計なヒストリカルデータが作成されるのを避けるため)

2-1「ファイル」タブの「データフォルダを開く」をクリックします。

「ファイル」タブの「データフォルダを開く」をクリックする

2-2「history」をクリックして開きます。中に「downloads」、「使っているFX会社名」フォルダがあります。

「history」をクリックして開く

2-3 この2つのフォルダ中の「.hst」の拡張子がついた、該当通貨ペアのヒストリカルデータファイルをそれぞれ削除します。

この2つのフォルダ中の「.hst」の拡張子がついた、該当通貨ペアのヒストリカルデータファイルをそれぞれ削除します

削除したら一度MT4を閉じて、再起動させましょう。

3. ダウンロードしたヒストリカルデータをインポートする

余計なヒストリカルデータを削除したら、いよいよダウンロードしたヒストリカルデータをインポート(データ取り込み)していきます。

3-1「ツール」タブの「ヒストリーセンター」をクリックします。

「ツール」タブの「ヒストリーセンター」をクリックする

3-2「FOREX」タブの「該当通貨ペア」(この例ではEURUSD)の「1分足」選択し「インポート」をクリックします。

「FOREX」タブの「該当通貨ペア」(この例ではEURUSD)の「一本足」選択し「インポート」をクリックする

3-3「参照」をクリックしダウンロードしたヒストリカルデータ(.hstファイル)を選択しOKをクリックします。

「参照」をクリックしダウンロードしたヒストリカルデータ(.hstファイル)を選択しOKをクリックする

 ダウンロードした.hstファイルが保存した場所にない場合は、表示する拡張子を「全て」にします。

3-4 表示されるまで少しタイムラグがあるかもしれませんが、データベースに2005年1月からのレコードが追加されていれば「閉じる」をクリックします。

ヒストリーセンター

ここで再度データを反映させるために、MT4を再起動します。

これでインポートは完了です。

4. オプションのバー数の設定を変更する

デフォルトの設定では、バックテストができる期間は1年5ヵ月ほどです。長期間でバックテストを行うために設定を変更しておきます。

4-1 まず「ツール」タブの「オプション」をクリックします。

まず「ツール」タブの「オプション」をクリックする

4-2 オプションを開きましたら、「チャート」を選択し、「ヒストリ内の最大バー数」チャートの最大バー数」99999999999999と全ての桁を9で入力してOKをクリックします。

オプションの「チャート」タブ

4-3  再度オプションを開いて「ヒストリ内の最大バー数」「チャートの最大バー数」を確認すると「2147483647」になっていれば設定はOKです。

5. スクリプト「period_converter_ALL」を使って各時間足を作成

次に先程インポートした1分足のヒストリカルデータを元に、スクリプト「period_converter_ALL」を使って各時間足のヒストリカルデータも併せて作成していきます。

各時間足を一括で作成するスクリプト

>>period_converter_ALL

まずこれを上記リンクからダウンロードします。

5-1 「ファイル」タブの「データフォルダを開く」をクリックします。

「ファイル」タブの「データフォルダを開く」をクリックする

5-2 「MQL4」Scripts」とクリックして、その中に先程ダウンロードした「period_converter_ALL」ファイルをコピーまたはドラック&ドロップで貼り付けます。

「MQL4」をクリックする
「Scripts」をクリックする

反映させるために、MT4を再起動させます。

5-3「ファイル」タブの「オフラインチャート」をクリックします。

「ファイル」タブ「オフラインチャート」をクリックする

5-4 インポートしたヒストリーデータを選択して「開く」をクリックします。

インポートしたヒストリーデータを選択して「開く」をクリックする

5-5 開いたオンラインチャートに、ナビゲータウインドウの「スクリプト」から「period_converter_ALL」をダブルクリック、またはチャート上にドラック&ドロップします。

各時間足の作成が自動的に始まりますので、チャート左上の数字の表示がなくなるまで待ちます。

開いたオンラインチャートに、ナビゲータウインドウから「period_converter_ALL」をダブルクリック、またはチャート上にドラック&ドロップする

5-6 表示がなくなったら「ファイル」タブから「オフラインチャート」を開いてみましょう。

各時間足が追加されていれば成功です。

オフラインチャート

6. バックテスト内容の設定

まだもう少し準備をします。最後にバックテストの期間や数値などの設定を決めましょう。

6-1 「表示」タブの「ストラテジーテスター」をクリックします。

「表示」タブの「ストラテジーテスター」をクリックする

6-2 設定ウインドウが開きますので各項目を設定していきます。

エキスパートアドバイザー設定ウィンドウ

ストラテジーテスターの設定

①エキスパートアドバイザーバックテストをするEAを選択
② 通貨ペア通貨ペアを選択(使用するEAに対応した通貨ペアを選択します)
③ モデル使用するチャートデータのモデルを選択
④ 開始日終了日期間を指定にチェックを入れ開始、終了日を設定
⑤ 期間時間足を選択(各EAが推奨している時間足)
⑥ スプレッドテスト時に想定するスプレッドを選択※単位1point=0.1pips(2.5pipsなら25)
⑦ エキスパート設定EAのパラメータの入力
⑧ チャートを開く売買ポイントの確認などを行います

①~⑧までの各項目を選択または入力していきます。

③ モデルのタイプ

  • 「全ティック」 → 一番正確なデータが取ることができますが時間はかかります。
  • 「コントロールポイント」 → 時間が短いですが、簡易的なものになり、あまり使用しません。
  • 「始値のみ」 → 始値に基づくバックテストです。EAが始値で動くものであれば、全ティックより少ない時間で終わりつつ、正確性もあるのでこちらを選択してもいいです。

基本的には正確なデータが取れる「全ティック」で検証しましょう

また、⑥のスプレッドでは「現在値」を選択する事もできます。基本的に現在値で問題ないですが、土日や早朝など変動が激しい時は固定で設定しましょう。

⑦エキスパートの設定

エキスパート設定の「テスト設定」タブを開くと初期証拠金を設定できます。単位はプルダウンから選択できる他に、直接「JPY」と入力することで日本円でのテストも行えます。

今回はデフォルト設定のままで行います。

エキスパート設定

エキスパート設定の「パラメータの入力」タブを開くと、そのEAのパラメータを入力できます。

パラメーターを上手く設定する事でより、EAがパフォーマンスを発揮できるように「最適化」することができます。

ダウンロードしたEAには最適なパラメータを登録した.setファイルがついていることもあります。その場合はここで読み込みをクリックして、.setファイルを選ぶことで、パラメータを読み込むことができます。

今回はデフォルトのままバックテストを行ないます。

パラメータの入力

7. バックテストの開始

ここまで色々と設定してきましたが、いよいよバックテストを行ないます。

7-1 設定が完了しましたら「スタート」をクリックします。

設定が完了しましたら「スタート」をクリックします

7-2 テスト中は緑色のバーが進んでいきます。バーが右端までいき、「ストップ」の表示が「スタート」に戻っていれば完了です。

バックテスト完了するまでの時間は選択したモデルや期間、PCのスペックなどでも変わってきます。のんびり待ちましょう。

テスト中は緑色のバーが進んでいきます

7-3 完了しましたら。下部の「レポート」タブからテスト結果が確認できます。

不整合チャートエラーが0なら設定した項目での正しいテスト結果が出ています。

設定したスプレッドなどによってもテスト結果は大きく変わります。色々と試してみてください。

またテスト結果上を右クリックで「レポートの保存」を選択すると今回のテスト結果を保存することができます。再度テストするのは時間と手間がかかるのでわかりやすい名前で保存しておくことをおすすめします。

「レポート」タブからテスト結果が確認できます

バックテストが上手くいかない時

バックテストが上手くいかない時

7-4 レポートを保存するとブラウザでもレポート内容が表示されます。

バックテスト結果の見方

バックテスト結果の見方ですが、特に重視しておきたいのは以下の項目です。

  • 不整合チャートエラー ・・・ 0以外の不整合があるテスト結果は信頼度が下がる
  • プロフィットファクター ・・・ 総利益が総損失の何倍なのかを示す数値。使える目安の数値は「1.25」以上(大きすぎも注意)
  • 相対ドローダウン ・・・ 最も「下落率」が大きかった時の比率。20%以下だと優秀
  • 総取引数 ・・・ バックテストした際の総取引数。取引数が多いほどテストの正確性が高まります

本格的にMT4で自動売買を行うならVPS環境を用意しよう

本格的にMT4で自動売買を行うなら【VPS】を利用したい

自動売買を行う場合PCを24時間稼働させておく必要があります。電気代もかかりますし、停電や急な故障、回線速度等、安定して稼働させるのは難しいと思います。

そこでVPSサービス(仮想デスクトップ)の利用する事をおすすめします。

ネットワーク上の仮想PCでMT4を実行することになるので、自宅のPCをオフにしても問題なく、サーバーも安定しているので本格的、長期的に自動売買を行う方は必ず利用しておきたいサービスです。

まとめ

今回は少し長くなりました。最初は面倒に感じると思いますが、使っていくうちに慣れていくかと思います。

また検証で良好な結果が出たからといって過信は禁物ですが、使用するか判断する指標にはなるかと思います。

是非バックテストを活用してみてください。

筆者がおすすめする人気海外FX業者XM

XMの詳細
オススメ度 ★★★★★
最大レバレッジ 1,000倍
ロスカット水準 20%
ゼロカット
最低取引枚数 最低入金の設定なし
ドル円スプレッド 1.6pips~
手数料 無料
日本語サポート 電話・メール・ライブチャット
XM」は世界で最も信頼されている、海外FX業者です。 今なら13,000円の口座開設ボーナスプレゼントキャンペーン中! このボーナス内容は時期によって変わるため、ご希望の方はお早めに。 「今すぐ始めたい」方はクイック口座開設!FXトレードがすぐに始められます。

\ 約3分で登録完了 /

サイト内サーチ