■ バックテストとは何か?
バックテストとは、 過去の相場データを使ってEA(自動売買)の性能を検証する工程です。
機械設計で例えるなら、 シミュレーション解析(CAE) に相当します。
- 過去の入力(価格データ)
- EAの制御ロジック
- 出力(損益・DD・勝率)
これらを照合し、 EAがどんな相場で強く、どんな相場で弱いか を明確にします。
■ なぜバックテストが必要なのか?
技術者視点で言えば、 バックテストは “実機テスト前の必須工程” です。
✔ ① ロジックの優位性を確認できる
EAが“理論上勝てるロジック”かどうかを判断。
✔ ② リスク(DD)を数値で把握できる
最大損失を事前に知ることは安全設計の基本。
✔ ③ 相場の変化に対する耐性を確認できる
複数年のデータで検証することで、 環境変化に強いEAかどうか がわかる。
✔ ④ フォワードテストの基準値になる
バックテストとフォワードが一致すれば、 EAの再現性が高いことを意味する。
■ バックテストの正しい手順
① 過去データを最新にする(最重要)
MT4のバックテストは、 データ品質が悪いと結果が大きく歪む。
手順
- MT4 → ツール → ヒストリーセンター
- XAUUSD(または対象通貨)を選択
- M1データをダウンロード
- すべての時間足を再生成
これは、 CAE解析でメッシュ精度を上げる作業 と同じ。
② テスト期間を複数年にする
最低でも 3〜5年。 理想は 2019〜現在。
理由:
- トレンド相場
- レンジ相場
- 急変動相場(コロナなど)
- ボラティリティの高低
これらすべてを通過させる必要がある。
③ モデリング品質を“全ティック”にする
MT4のバックテストには3種類ある。
| モード | 精度 | 用途 |
|---|---|---|
| 全ティック | ★★★★★ | 正確な検証(推奨) |
| コントロールポイント | ★★☆☆☆ | 参考程度 |
| 始値のみ | ★☆☆☆☆ | ロジック確認用 |
EAの性能検証は必ず「全ティック」。
これは、 高精度シミュレーションを選ぶのと同じ。
④ パラメータは“固定”で行う
バックテストでパラメータをいじりすぎると 過剰最適化(カーブフィッティング) が起きる。
技術者視点では、 「過去データに合わせすぎた制御器」 と同じ問題。
⑤ 結果を見るポイント
✔ 1. Profit Factor(PF)
1.3〜2.0 が理想。 1.0以下は負け。
✔ 2. 最大ドローダウン(DD)
10%以下 が安全。 私が作成したGOLD専用のEA(gold_ver2_4)は 1%未満 は超優秀。
✔ 3. 勝率よりRR(リスクリワード)
勝率は低くても、 RRが高ければ勝てる。
✔ 4. 年ごとの成績
- 2020(コロナ)
- 2021(レンジ多め)
- 2022〜2024(トレンド多め)
年別で安定しているか が重要。
■ バックテストでやってはいけないこと
❌ ① 過剰最適化
パラメータを調整しすぎると、 “過去だけ勝つEA” が完成する。
これは 過剰チューニングされた制御器 と同じ。
❌ ② 1年だけのテスト
短期間のテストは意味がない。 環境変化に弱いEAになる。
❌ ③ スプレッドを甘く設定する
実際のスプレッドより狭くすると、 バックテストが“理想化”される。
❌ ④ ティックデータの品質が低い
データ品質が悪いと、 解析結果が信用できない。
■ バックテスト → フォワードテストの流れ
- バックテストでロジックの優位性を確認
- フォワードテストで再現性を確認
- 実運用で安定性を確認
これはまさに シミュレーション → 試作 → 実機テスト の流れと同じ。
■ まとめ
バックテストとは、 EAの性能を過去データで検証する“シミュレーション解析”。
技術者視点で重要なのは:
- データ品質
- テスト期間
- モデリング精度
- 過剰最適化の回避
- 年別の安定性
- PF・DD・RRのバランス
これらを正しく行うことで、 EAの本当の実力が見えてきます。
そして、 バックテストとフォワードテストが一致したとき、 そのEAは“実戦投入レベル”になります。


コメント