当サイトはアフィリエイト広告(Amazonアソシエイト含む)を利用しています

FXのEAバックテストのやり方|MT4での手順と結果の読み方

自動売買・取引ツール

FXの自動売買プログラム(EA)を使う前に、そのロジックが過去の相場でどう振る舞ったのかを検証する作業が「バックテスト」です。EAを購入したり自作したりしても、いきなり実資金で稼働させるのは危険が大きすぎます。まずは過去データで動かしてみて、どんな損益カーブを描くのか、どこまで含み損が膨らむのかを把握しておく必要があります。

この記事では、MT4(MetaTrader 4)に標準搭載されているストラテジーテスターを使ったバックテストの手順を、ヒストリカルデータの準備から結果レポートの読み方まで順に解説します。あわせて、バックテストで分かることと、分からないことの線引きについても丁寧に扱います。ここを誤解したままEAを運用すると、想定と実際の乖離に驚くことになるためです。

ナビ助
ナビ助
バックテストは「過去の答え合わせ」なんだ。未来を当てる道具じゃないよ。でも、どこで壊れるEAなのかを事前に知れるのは大きいんだ。やり方を見ていこう!

🐧 ナビ助のおすすめ

  • ✅ 業界最狭水準のスプレッド
  • ✅ 1,000通貨から取引OK
  • ✅ 豊富な通貨ペア(54種類)
  • ✅ 新規口座開設キャンペーン実施中
無料で口座開設する

EAのバックテストとは何をする作業か

バックテストとは、過去の価格データの上でEAを動かし、そのルールで売買していたらどうなっていたかをシミュレーションする作業です。MT4にはこの機能が「ストラテジーテスター」という名前で標準搭載されており、追加のソフトを買わなくても実行できます。

バックテストで確認できること

  • そのロジックが過去データ上で利益を出せていたか、損失を出していたか
  • 最大でどれくらいの含み損(ドローダウン)を抱える局面があったか
  • 1回あたりの平均利益・平均損失と、勝ちトレードの割合
  • どのくらいの頻度でエントリーするロジックなのか
  • 相場環境が変わったとき(トレンド相場・レンジ相場)に成績がどう変化したか

バックテストでは分からないこと

注意

バックテストの結果は過去のデータに基づくシミュレーションであり、将来の運用成績を示すものでも保証するものでもありません。実際の取引では、スプレッドの拡大、スリッページ、約定拒否、サーバーの遅延、業者ごとの価格差といった要因が加わるため、結果が一致しないのが通常です。良好なテスト結果をそのまま将来の期待値として扱わないでください。

バックテストに必要なものをそろえる

1. MT4本体

MT4は、開発元であるMetaQuotes社のプラットフォームで、国内外のFX業者を通じて配布されています。バックテストを行うだけであれば、デモ口座でMT4を起動できれば十分です。MT4そのものの仕様についてはMetaTrader 4の公式サイトで確認できます。なお、国内ではJFXがMT4の提供を終了し、OANDA証券もMT4の提供終了を発表するなど、MT5へ移行する動きが進んでいます。これから環境を用意する場合は、利用する業者がMT4の提供を続けているかを公式サイトでご確認ください。

2. テストしたいEAファイル

拡張子が「.ex4」または「.mq4」のファイルを、MT4のデータフォルダ内の「MQL4」→「Experts」に配置します。データフォルダは、MT4のメニューから「ファイル」→「データフォルダを開く」で表示できます。配置後にMT4を再起動するか、ナビゲーターウィンドウを更新すると、テスターの一覧に表示されるようになります。

MT4の操作に慣れていない場合は、画面の見方やメニューの構成を解説した本を手元に置いておくと、設定の途中で迷いにくくなります。

関連商品をCheck!!👉 「MT4の解説本」を見る
Amazon 楽天

3. ヒストリカルデータ

過去の価格データです。MT4に初期状態で入っているデータは期間が限られていることが多いため、精度の高いテストを行うには、追加でヒストリカルデータを取得する必要があります。取得方法は次のセクションで説明します。

MT4でバックテストを行う手順

ステップ1:ヒストリカルデータを準備する

MT4のメニューから「ツール」→「ヒストリーセンター」を開きます(キーボードのF2でも開けます)。左側のツリーから対象の通貨ペアを選び、時間足を選択して「ダウンロード」を実行します。

MT4が標準で提供するデータのほか、外部で配布されているティックデータを取り込む方法もあります。データの精度が上がるほどテスト結果は実際の値動きに近づきますが、そのぶんテストにかかる時間も長くなります。まずは標準のダウンロードで試し、必要に応じて精度を上げるという進め方が現実的です。

ステップ2:ストラテジーテスターを開く

メニューの「表示」→「ストラテジーテスター」を選択するか、キーボードでCtrl+Rを押すと、画面下部にテスター用のパネルが表示されます。

ステップ3:テスト条件を設定する

パネル上で設定する主な項目は次のとおりです。

項目 設定内容
エキスパートアドバイザ テストするEAを選択
通貨ペア EAが想定している通貨ペアを選択
モデル 全ティック/コントロールポイント/始値のみ から選択
期間(時間足) EAが想定している時間足を選択
スプレッド テストに用いるスプレッドを指定
日付の使用 テスト対象とする開始日・終了日を指定
ビジュアルモード チャート上で売買の様子を再生表示するかどうか

モデルの選択は結果の精度に直結します。「全ティック」がもっとも細かい値動きを再現する設定で、「始値のみ」はもっとも粗い代わりに高速です。ロジックの当たりをつける段階では始値のみで回し、詰めの検証で全ティックに切り替えるという使い分けもできます。

ステップ4:EAのパラメーターを確認する

「エキスパート設定」ボタンを押すと、そのEAが持つパラメーター(ロット数、損切り幅、利確幅、使用するインジケーターの期間など)を確認・変更できます。初期資金の設定もここで行います。テストの前提を後から思い出せるよう、設定値は控えておくとよいでしょう。

テストのたびに設定値と結果をノートへ書き出しておくと、パラメーターを変えたときの差を並べて比べやすくなります。

関連商品をCheck!!👉 「トレードノート」を見る
Amazon 楽天

ステップ5:スタートして結果を見る

「スタート」ボタンを押すとテストが始まります。完了すると、パネルのタブから「結果」「グラフ」「レポート」「操作履歴」を確認できます。グラフタブでは資産曲線が表示され、損益の推移を視覚的に把握できます。

ナビ助
ナビ助
最初にグラフを見るのがおすすめだよ。右肩上がりでも、途中でガクッと落ちてるところがあれば、そこが実戦で耐えられるかどうかの分かれ目なんだ。

モデリング品質を確認する

レポートタブの上部には「モデリング品質」という項目が表示されます。これは、使用したヒストリカルデータでどれだけ実際の値動きを再現できたかを示す指標です。

MT4の標準データを使って全ティックでテストした場合、この値は90%と表示されるのが一つの目安とされています。モデリング品質が極端に低い場合は、ヒストリカルデータが不足している可能性があり、ヒストリーセンターからのダウンロードをやり直す必要があります。

また、レポートには「不整合チャートエラー」という項目も表示されます。この数値が大きい場合、データに欠損や不整合があることを意味するため、結果の信頼性は下がります。

結果レポートの読み方

テスト結果には多くの数値が並びますが、まず押さえたいのは次の項目です。

項目 意味と見方
総損益 テスト期間全体の損益。金額だけでなく初期資金に対する割合で見る
プロフィットファクター 総利益÷総損失。1を下回ると期間全体で損失
最大ドローダウン 資産のピークからの最大下落幅。実際に耐えられるかを判断する材料
総取引数 サンプル数。極端に少ないと結果が偶然の可能性が高まる
勝率 勝ちトレードの割合。単独では良し悪しを判断できない
平均勝ちトレード/平均負けトレード 1回あたりの損益幅。勝率とセットで見る
最大連敗数 連続で負けた回数。運用中の精神的な負荷の目安になる

勝率だけを見てはいけない理由

勝率が高くても、1回の負けで数十回分の勝ちを失うロジックであれば、トータルではマイナスになり得ます。逆に勝率が低くても、勝ったときの利益幅が大きければプラスになることもあります。勝率・平均損益幅・最大ドローダウンの3つをセットで見るのが基本です。

最大ドローダウンの意味を体感で捉える

最大ドローダウンは、テスト期間中に資産がピークからどこまで落ち込んだかを示します。数値としては単なるパーセンテージですが、実際の運用ではこの期間ずっと含み損に耐え続けることになります。テスト結果を見るときは、「この下落局面が実際に起きたとき、自分は稼働を止めずにいられるか」という視点で確認してください。

🐧 ナビ助のおすすめ

  • ✅ 業界最狭水準のスプレッド
  • ✅ 1,000通貨から取引OK
  • ✅ 豊富な通貨ペア(54種類)
  • ✅ 新規口座開設キャンペーン実施中
無料で口座開設する

バックテストの落とし穴

過剰最適化(カーブフィッティング)

パラメーターを細かく調整して、過去データ上の成績を良く見せることは比較的簡単にできます。しかし、過去にぴったり合わせ込んだ設定は、相場環境が変われば途端に機能しなくなることがあります。これを過剰最適化と呼びます。

ポイント

過剰最適化を避けるための考え方をいくつか挙げます。
・最適化に使う期間と、検証に使う期間を分ける(アウトオブサンプル検証)
・パラメーターを少しずらしても成績が大きく崩れないかを確認する
・調整するパラメーターの数を絞る
・テスト期間を長くとり、複数の相場局面を含める

テスト条件と実際の取引条件のずれ

ストラテジーテスターでは、指定したスプレッドが一定であるという前提で計算されます。しかし実際の取引では、経済指標の発表前後や早朝には、スプレッドが広がることが各社の説明に明記されています。スプレッドを狭い値に固定してテストすると、実運用より良好な結果が出やすくなります。

また、スリッページや約定拒否はテストでは再現されません。特に短時間で売買を繰り返すロジックほど、この差の影響は大きくなります。テストのスプレッド設定は、実際より少し広めに設定して余裕を見るという方法もあります。

スワップポイントの扱い

ポジションを日をまたいで保有するロジックの場合、スワップポイントが損益に影響します。テストで使用されるスワップの値は業者やデータの設定に依存するため、実際の水準とは異なる可能性があります。長期保有型のEAでは、この点も結果を割り引いて見る必要があります。

ナビ助
ナビ助
きれいすぎる右肩上がりのグラフを見たら、まず「これ、合わせ込みすぎてないかな?」って疑ってみるといいよ。疑うのはケチじゃなくて、大事な習慣なんだ。

バックテストの次にやること

フォワードテスト(デモ運用)

バックテストで一定の手応えがあったら、次はデモ口座でリアルタイムに動かして検証します。これをフォワードテストと呼びます。過去データではなく現在進行形の相場で動かすため、約定の挙動やサーバーとの通信を含めた実際に近い条件を確認できます。

フォワードテストでは、バックテストの結果と実際の挙動がどの程度一致するかを見ます。乖離が大きい場合は、テストの前提条件(スプレッド、データ精度)に問題があるか、ロジックが特定の環境に依存している可能性があります。

少額での実運用

デモで問題がなければ、最小の取引単位で実口座での運用に移ります。デモ環境と実環境では約定条件が異なる場合があるためです。いきなり本格的な資金を投入せず、段階を踏むことが、EA運用でのリスクを抑える基本になります。

稼働環境の準備

EAはMT4が起動していないと動作しません。24時間稼働させたい場合は、PCを常時起動しておくか、VPS(仮想専用サーバー)を利用する方法があります。VPSは月額の費用がかかるため、運用規模と照らして判断してください。料金は提供事業者によって異なるため、公式サイトでご確認ください。

自宅のPCで動かす場合は、停電時にしばらく電源を保てる無停電電源装置(UPS)をつないでおくと、安全にシャットダウンする時間を確保できます。

関連商品をCheck!!👉 「無停電電源装置(UPS)」を見る
Amazon 楽天

よくある質問

Q1. バックテストで良い結果が出れば、実際にも同じ結果になりますか?

なりません。バックテストは過去データ上のシミュレーションであり、将来の成績を保証するものではありません。実際の取引ではスプレッドの変動やスリッページ、相場環境の変化といった要因が加わります。テスト結果は「このロジックがどう振る舞う傾向があるか」を知るための材料と考えてください。

Q2. テスト期間はどれくらい取ればよいですか?

一律の基準はありませんが、トレンド相場とレンジ相場の両方が含まれる程度の長さは確保したいところです。短い期間だけで良い結果が出ても、それは特定の相場環境にたまたま合っていただけかもしれません。取引回数が十分に積み上がる長さかどうかも判断材料になります。

Q3. モデリング品質が90%にならないのですが?

ヒストリカルデータが不足しているか、期間に欠損がある可能性があります。ヒストリーセンターから対象通貨ペアのデータを再ダウンロードし、それでも改善しない場合はデータの取得元を見直してください。なお、モデルを「始値のみ」に設定している場合は、品質の表示自体が異なる扱いになります。

Q4. MT5でもバックテストはできますか?

できます。MT5のストラテジーテスターは複数通貨ペアの同時テストに対応するなど、MT4とは仕様が異なります。ただしEAのプログラム言語はMQL4とMQL5で異なるため、MT4向けのEAをそのままMT5で動かすことはできません。

Q5. バックテストの結果が悪いEAは使わないほうがよいですか?

過去データ上で継続的に損失が出ているロジックを、そのまま実資金で稼働させる理由は乏しいでしょう。ただし、テスト条件の設定が適切でなかった可能性もあります。通貨ペアや時間足がEAの想定と合っているか、パラメーターが初期値のままになっていないかを確認してから判断してください。

Q6. 販売されているEAの実績表示は信用できますか?

表示されている成績が、どの期間・どの条件・どのデータで検証されたものかを確認してください。条件が明示されていない実績は評価のしようがありません。また、過去の実績は将来の成績を示すものではないという点は、販売元の実績であっても変わりません。運用は自己責任で行うことになります。

Q7. EAを動かせば手間なく利益が出ますか?

そうとは言えません。EAは決められたルールを自動で執行する仕組みであり、相場環境が変わればそのルールが機能しなくなることもあります。稼働状況の確認、成績の記録、必要に応じた停止の判断は運用者が行う必要があります。FXは損失が生じる可能性のある取引です。

Q8. EAを自作するにはプログラミングの知識が必要ですか?

MQL4というC言語に似た言語を使うため、基礎的なプログラミングの知識があると理解が早くなります。文法や関数の仕様はMQL4の公式リファレンスにまとまっています。まずは既存のサンプルコードを読んで、どこで売買判断をしているのかを追うところから始めるとよいでしょう。

まとめ

MT4でのバックテストは、次の流れで進めます。

ポイント
  • ヒストリーセンターで対象通貨ペアのデータをダウンロードする
  • Ctrl+Rでストラテジーテスターを開き、EA・通貨ペア・モデル・期間を設定する
  • 実行後はモデリング品質を確認し、データの信頼性をチェックする
  • 勝率・平均損益幅・最大ドローダウンをセットで読む
  • 過剰最適化を避けるため、検証期間を分けてパラメーターの頑健性を確かめる
  • デモでのフォワードテスト、少額での実運用と段階を踏む

繰り返しになりますが、バックテストの結果は過去のデータに基づくものであり、将来の運用成績を保証するものではありません。EAを使った自動売買であっても、損失が生じる可能性は変わらず存在します。検証を丁寧に行い、許容できる範囲の資金で運用を始めてください。

📦 この記事で紹介した商品

👉 「MT4の解説本」を見る
Amazon 楽天

👉 「トレードノート」を見る
Amazon 楽天

👉 「無停電電源装置(UPS)」を見る
Amazon 楽天

🐧 ナビ助のおすすめ

  • ✅ 業界最狭水準のスプレッド
  • ✅ 1,000通貨から取引OK
  • ✅ 豊富な通貨ペア(54種類)
  • ✅ 新規口座開設キャンペーン実施中
無料で口座開設する
タイトルとURLをコピーしました