バックテストとは何か?なぜ必要なのか
バックテストは、EAを過去の相場データで「模擬運転」させる作業だ。要するに、タイムマシンでEAを過去に送り込んで「このロジックは本当に稼げたのか?」を検証する。EAを買ったりダウンロードしたりして、いきなりリアル口座で動かすのは、試乗もせずに中古車を買うようなものだろう。
MT4にはストラテジーテスターという機能が標準搭載されていて、これを使えばプログラミングの知識がなくてもバックテストが実行できる。ただし、「ボタンを押せば終わり」ではなく、ヒストリカルデータの準備や設定が結果の信頼性を大きく左右する。ここを雑にやると、意味のないバックテスト結果に踊らされることになるから注意してほしい。
STEP 1:ヒストリカルデータを準備する
バックテストの精度は、使うデータの質で8割が決まる。MT4に最初から入っているヒストリカルデータは正直あてにならない。歯抜けだらけで、モデリング品質が25%程度になることもザラ。これでは「バックテストをやった」とは言えない。
方法1:MT4のヒストリーセンターから取得
MT4メニューの「ツール」→「ヒストリーセンター」を開く。通貨ペアを選んで「ダウンロード」ボタンを押せば、MetaQuotes社のサーバーからデータが取得できる。手順は簡単だけど、データの質は正直イマイチ。それでも「とりあえず試しに回してみたい」レベルなら使える。
方法2:XMのMT5から1分足データを取得して変換
より精度の高いバックテストをやりたいなら、XMのMT5で1分足データを大量に取得し、それをCSVエクスポート→MT4用に変換する方法がある。MT5のほうがヒストリカルデータの量が圧倒的に多いから、MT4単体で取得するよりずっと信頼性が高くなる。
MT4のオプション画面(ツール→オプション→チャート)で「ヒストリー内の最大バー数」と「チャートの最大バー数」を「2147483647」(int32の上限値)に変更しておこう。デフォルトのままだとデータ量が制限されてしまう。
データ取得後の確認ポイント
取得したデータに「歯抜け」がないか確認する。MT4のヒストリーセンターで対象通貨ペアの1分足データを開き、日付の飛びがないかチェック。土日や年末年始など市場が閉まっている期間のデータが無いのは正常だけど、平日のデータがごっそり抜けている場合はデータの信頼性が低い。
STEP 2:ストラテジーテスターの設定
MT4画面上部メニューの「表示」→「ストラテジーテスター」、またはキーボードの「Ctrl + R」でテスターパネルを表示する。設定項目は多いけど、迷うのは最初だけ。一度わかれば毎回同じ流れだ。
テスター画面の各設定項目
| 設定項目 | 推奨設定 | 補足 |
|---|---|---|
| エキスパートアドバイザ | テストしたいEAを選択 | EAが表示されない場合は、ファイル配置を確認 |
| 通貨ペア | EAの推奨通貨ペア | EA開発者が指定しているペアに合わせる |
| モデル | 全ティック | 最も正確。時間はかかるが精度が段違い |
| スプレッド | 現在値 or 固定値を手入力 | XM KIWAMI極のスプレッドに近い値を設定 |
| 期間 | 最低1年分、できれば3年以上 | 短すぎると統計的に信頼できない |
| 初期証拠金 | リアルで使う予定の金額 | 10万円なら「100000 JPY」と入力 |
「始値のみ」や「コントロールポイント」は処理が速いが、精度が低い。特にスキャルピング系EAでは、全ティック以外の結果はほとんど信用できないと思っていい。時間がかかっても全ティックで回そう。
EA運用でスプレッドコストを抑えたいなら、KIWAMI極口座がベストだ。追加口座として開設するだけで、既存の口座には影響しない。
KIWAMI極口座を追加開設する →STEP 3:テストを実行して結果を分析する
設定が終わったら「スタート」ボタンを押す。全ティックモデルだと数分〜数十分かかることもあるから、コーヒーでも淹れて待とう。進捗バーが右端まで行けば完了だ。
「結果」タブの見方
テスト完了後、テスターパネルの「結果」タブに全取引の履歴が表示される。ここでは個別のトレードを確認できるけど、大事なのは「レポート」タブのほうだ。
「レポート」タブで確認すべき指標
レポートタブには大量の数値が並んでいるが、特に注目すべきは次の4つ。
プロフィットファクター(PF):総利益 ÷ 総損失。1.0以上なら利益が出ているということだが、手数料やスリッページを考えると実用的には1.3以上はほしい。2.0を超えるとカーブフィッティングの疑いも出てくるから、高ければいいわけでもない。
最大ドローダウン:資産がピークから最も沈んだ金額とパーセンテージ。これが資金の30%を超えるようなEAは、精神的にも資金的にも耐えられないことが多い。目安は20%以内に収まっているかどうか。
総取引回数:少なすぎると統計的に意味がない。最低でも100回、できれば300回以上の取引があるバックテスト期間で判断したい。10回や20回の結果で「このEAは優秀だ」と判断するのは危険だ。
勝率とペイオフレシオ:勝率が高くてもペイオフレシオ(平均利益 ÷ 平均損失)が低ければ、一発の損失で全部持っていかれる。逆に勝率30%でもペイオフレシオが3.0以上あれば、長期的にはプラスになるロジックだってある。両方のバランスを見ることが大切だ。
「グラフ」タブで資産曲線を確認
グラフタブには資産の推移が折れ線グラフで表示される。右肩上がりならOK……と単純に考えがちだけど、途中に急激な凹みがないかも確認しよう。直線的にキレイすぎる曲線は、逆にカーブフィッティングの可能性がある。多少のブレがありつつも全体として右肩上がり、というのが理想的な資産曲線だ。
バックテストの精度を上げるためのコツ
スプレッドの設定を現実に合わせる
MT4のデフォルトスプレッドは実際の取引環境と異なることが多い。XMのKIWAMI極口座なら、ドル円で0.6〜0.8pips程度が実勢値。バックテスト時のスプレッド設定をこの値に近づけることで、より現実に即した結果が得られる。スプレッドを「0」にしてバックテストすると、当然ながら結果は良く出るけど、それは幻想だ。
複数の期間でテストする
2023年だけ、あるいは2025年だけでテストして「いい結果だ!」と喜ぶのは早い。相場にはトレンド相場とレンジ相場があるから、少なくとも3年間、できれば5年間でテストしたい。特にリーマンショック級の急変動期を含む期間でテストすると、EAの耐久性がよくわかる。
フォワードテストも必ず行う
バックテストは過去のデータに対する「答え合わせ」にすぎない。リアルタイムの相場でEAがどう動くかは、フォワードテスト(デモ口座での実運用テスト)で確かめるしかない。最低1ヶ月、できれば3ヶ月はデモ口座で走らせてから、リアル口座に投入しよう。XMのデモ口座は無期限で使えるから、焦る必要はまったくない。
XM環境でバックテストするときの注意点
サーバー時間のずれに注意
XMのサーバー時間はGMT+2(サマータイム時はGMT+3)。日本時間とは7〜6時間のずれがある。日足の区切りや、時間帯ごとのフィルターを使うEAでは、このずれがバックテスト結果に影響することがあるから頭に入れておこう。
口座タイプごとのスプレッド差
同じXMでも、スタンダード口座とKIWAMI極口座ではスプレッドが大きく異なる。バックテスト時のスプレッド設定は、実際に運用予定の口座タイプに合わせよう。KIWAMI極で運用するつもりなのにスタンダードのスプレッドでテストしても、結果がずれてしまう。
XMでは条件を満たすとVPSが無料で使える。VPS上でバックテストを回せば、自宅PCの電源を入れっぱなしにしなくても済む。ただしVPSのスペックによっては処理が遅くなることもあるから、重いバックテストはローカルPCで実行するのも選択肢だ。
FX Rescue編集部では、2026年5月にXMのKIWAMI極口座(MT4)環境で実際にEAバックテストを実施。ヒストリーセンターからのデータ取得、全ティックモデルでのテスト実行、レポート分析まで一連の手順を検証し、モデリング品質90.00%のテスト結果が得られることを確認済み。