MT4 EA バックテストのやり方

MT4の自動売買ソフト(EA)を入手したら、すぐにお金を入れて運用するのではなく、その前にバックテストで動きを確かめておきたいところです。

MT4の「ストラテジーテスター」を使えば、開発元が公開しているバックテスト結果を自分で検証したり、証拠金やパラメータを変えた場合の成績をある程度確認したりできます。

※2026年10月時点の内容に更新。画面は2022年1月当時のMT4(Build 1353)です。

[PR]


EAバックテストのやり方

バックテスト用のヒストリカルデータをMT4に設定できたところから説明します。データの準備がまだの方は先にこちらをご覧ください。

EAバックテストのヒストリカルデータを設定

EAは有料・無料のどちらかで入手済みという前提で進めます(手元にEAが無い場合は、MT4に最初から付属しているEAでも試せます)。

EAを設置

MT4のナビゲーターを見ると、「エキスパートアドバイザ」の中に最初から次の2つのEAが入っています。

– MACD Sample
– Moving Average

これを使う場合はこのままでかまいません。ほかで入手したEAをテストしたい場合は、

「ファイル」→「データフォルダを開く」から「MQL4」→「Experts」フォルダに入ります。

最初から入っている MACD Sample と Moving Average がありますので、ここに入手したEAのファイルをコピーします。

なお、EAは実行ファイルの「xxx.ex4」とソースコードの「xxx.mq4」のどちらでも使えます(.mq4 はMT4が自動でコンパイルします)。MT5用のEA(.ex5 / .mq5)はMT4では動きません。

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

メニューの「表示」→「ストラテジーテスター」を選ぶか(ショートカットは Ctrl+R)、ツールバーの次のアイコンをクリックします。

MT4の下部にテスター(ストラテジーテスター)が表示されます。

プルダウンを開くと、最初から入っているEAが2つリストアップされています。

ExpertsフォルダにEAを入れたのにここに表示されない場合は、ナビゲーターの「エキスパートアドバイザ」を右クリックして「更新」します。

それでも出てこなければMT4を再起動します。MT4はファイルを追加してもすぐに反映されないことがよくあるので、その場合は「更新」か「再起動」と覚えておくと便利です。

テスターの各設定

まずはEAを簡単にテストするための、最小限の設定だけを説明します。

パラメータの最適化は開発者向けの機能なので今回は使いません。画面右の「最適化」にチェックが入っている場合は外しておきます。

① EA:プルダウンからテストするEAを選びます。

左端のプルダウンは「エキスパートアドバイザ」になっていて、ここを切り替えると「インジケータ」のテストもできます。

② 通貨ペア:テストする通貨ペアを選びます。

③ モデル:ティック(値動き)の作り方で、次の3種類があります。

モデルしくみ向いている用途
全ティック使える最小の時間足(通常は1分足)から、ティックを推定して生成する。最も精密だが時間がかかる本番前の確認、損切り・利確の細かいEA
コントロールポイント1つ下の時間足のデータを使って、ティックを大まかに生成するおおまかな傾向の確認
始値のみ各バーの始値だけで計算する。最も速い新しいバーができたときだけ判断するEA

「全ティック」でも本物のティックではなく、ローソク足から推定した値動きである点に注意してください。

④ 期間:「期間を指定」にチェックを入れ、開始日〜終了日を設定します。

この下に「ビジュアルモード」があり、ポイントを絞ってチャート上でEAの動きを見たい場合に使います(8. ビジュアルモードで説明)。

⑤ 期間(時間足):テストする時間足を設定します。

多くのEAは使う時間足が決まっているので、EAの説明に合わせます。違う時間足では動かないようにプログラムされているEAもあります。

⑥ スプレッド:バックテストではスプレッドが固定になります。

入力する単位は「ポイント」で、米ドル/円のように小数点以下3桁の業者なら「10」で1.0pipsです。実際に使う業者の通貨ペアのスプレッドを参考に、少し広めに設定しておくと安全です。

⑦ エキスパート設定:証拠金やEAのパラメータを設定します(次で説明)。

エキスパート設定(証拠金・パラメータ)

「エキスパート設定」をクリックし、「テスト設定」タブを開きます。

初期証拠金を入力します。通貨はUSDなどから選べますが、「JPY」と直接入力することもできます。

ただし、証拠金の通貨と通貨ペアの決済通貨(右側の通貨)が違う場合は注意が必要です。米ドル/円のように決済通貨が円のペアなら、証拠金をJPYにしても問題ありません。

ユーロ/米ドル(EUR/USD)は、たとえば1万ユーロを何ドルで買う・売るという取引なので、
EUR:基軸通貨
USD:決済通貨
という関係になり、損益はまずUSDで発生します。

このとき証拠金をJPYにすると、MT4のテスターは損益を円に換算する際に、過去のその時点のレートではなく、テストを実行している時点の米ドル/円のレートを使ってしまいます。米ドル/円は1ドル75円の時期もあれば150円を超える時期もあり、換算レートだけで損益が2倍もずれることになります。

そのため、EUR/USDでは証拠金をUSDに、EUR/GBPではGBPに、EUR/CHFではCHFにしておくのが正確です。決済通貨で損益を見れば、pipsに換算してEAそのものを評価できます。

「パラメーターの入力」タブでは、EAの説明を確認してロット数などのパラメータを決めます。

バックテストスタート

設定が終わったら「スタート」ボタンをクリックします。

今回は仲値ゴトー日のテストEAを米ドル/円の1分足で流してみます。テスト中は画面下のバーで進み具合がわかります。

テスト結果とレポートの見方

テストが終わると、テスターに「結果」「グラフ」「レポート」タブが表示されます。

「グラフ」には損益カーブが、「レポート」には成績の数値が表示されます。レポートの上で右クリックして「レポートの保存」を選ぶと、次のようなHTMLのレポートとして保存できます。

2012年1月2日〜2021年12月31日の10年間で、初期証拠金100万円に対して約30万円(純益305,400円)の利益になりました。

レポートで特に見ておきたい項目は次のとおりです。

項目この例の値見るポイント
純益305,400円総利益から総損失を引いた最終的な損益
プロフィットファクタ1.46総利益÷総損失。1を超えれば利益。高すぎる場合は過剰最適化を疑う
最大ドローダウン26,900円(2.53%)資金の山から谷への最大の落ち込み。必要な証拠金の目安になる
総取引数・勝率1,703回・57.08%取引数が少ないと結果が偶然の可能性がある
モデリング品質25.00%データから推定したティックの精度の目安(下で説明)
不整合チャートエラー0ヒストリカルデータの時間足どうしの食い違い。0が望ましい

モデリング品質は、1分足でテストするとMT4の仕様上(それより小さい時間足がないため)25%と表示されます。5分足以上の時間足でテストし、1分足のデータがそろっていれば最大90%になります。この例の25%は1分足でテストしたためで、データが悪いという意味ではありません。

より本物に近いティックでテストしたい場合は、Tick Data Suite などの有料ツールで実際のティックデータを使う方法もあります(画面の「ティックデータを使う」はこのツールを入れたときに表示される項目です)。

トラブル、PCが重くなる

バックテストをしていると、PCの反応が悪くなる・動きが重くなるなど、おかしな状態になることがあります。

原因として多いのが、ストレージ(ディスク)の空き容量の極端な減少です。MT4はテストのたびに、テスト用のティックデータ(.fxt ファイル)をデータフォルダーの「tester」→「history」に作るため、バックテストを繰り返すとディスクの使用量が大きく増えていきます。

解決策としては、MT4を終了してから、データフォルダーの「tester」の中の「history」と「logs」の中身を削除すれば容量が回復します(次にテストするときにまた作られます)。

この例では、testerのフォルダーが85GBになっていました。

また、テスト期間が長く .fxt ファイルが4GBを超えると、テストが途中で止まることがあります。その場合はテスト期間を分けて実行します。

ビジュアルモード

ビジュアルモードを使うと、実際にエントリーや決済がどのように実行されているかをチャート上で確認できます。

ただ盲目的にプログラムを流すのではなく、思惑どおりのロジックで処理されているか、おかしなバグがないかを確かめるために重要です。

使い方の基本は通常のバックテストと同じで、「ビジュアルモード」にチェックを入れてスタートします。

ここでは Moving Average で試してみます。ビジュアルモードでスタートすると、チャートのローソク足が動き出します。

一時停止・再開は「||」ボタン(一時停止中は「>>」の表示になります)で切り替え、速さはその左のスライダーで変えられます。一時停止中に F12 キーを押すと、1本ずつ進めて確認できます。

これだけだとよくわからないので、Moving Averageのインジケーターを同じ期間などの設定でチャートに表示して動かすと、ロジックどおりに売買しているのがわかります。

バックテストの注意点

バックテストの成績がよくても、そのまま将来も同じように勝てるとは限りません。次の点に気をつけて結果を見るようにします。

  • 過去のデータに合わせてパラメータを細かく調整しすぎると(過剰最適化、カーブフィッティング)、過去だけ成績がよく、実際の相場では通用しないことが多い
  • スプレッドは固定、スリッページや約定拒否も再現されないため、実際の取引より成績がよく出やすい
  • スワップポイントの扱いは業者や設定によって実際と異なることがある
  • バックテストのあとは、デモ口座や少額でのフォワードテストで動きを確認してから本番に移る

なお、OANDA証券のように MT4 の提供を終了して MT5 に移る業者も出てきています(OANDA証券のMT4は2026年11月27日に提供終了)。MT5のストラテジーテスターは「表示」→「ストラテジーテスター」(Ctrl+R)から開けますが、画面や設定項目はMT4と異なり、MT4用のEAはそのままでは使えません。

EAの入手からVPSでの稼働までの流れはこちらにまとめています。

自動売買(シストレ)や、AIを搭載したEAという言葉を最近よく見かけます。 本当に儲かるかどうかは別として、MT4/MT5でEAを使って自...

MT4/MT5が使える国内業者はこちら。

FXのインジケータを使いたい場合はMT4用は無料でかつ圧倒的にたくさんあります。 自動売買などはMT4ではEAという自動売買をコード(...

シェアする

  • このエントリーをはてなブックマークに追加

フォローする