「バックテストで勝ってるのに、本番で負ける」——この相談の半分くらいは、そもそもバックテストのやり方で説明がつきます。
当ラボでは、同じEAを1分足モードで回したら$1万→$59万、実ティックで回したら一発退場、という実例を出したことがあります(その全記録はこちら)。モードの選び方ひとつで、天国と地獄くらい結果が変わるんです。
この記事では、当ラボが全部の検証で使っている「実ティックでのバックテスト」の設定手順を、そのまま公開します。
そもそも「実ティック」って何?
バックテストは「過去の値動きでEAを動かすシミュレーション」ですが、その"過去の値動き"の再現精度に段階があります。
- 始値のみ: ローソク足の始値だけ使う。超高速だが精度は最低
- すべてのティック: 1分足から値動きを"それらしく"作り直す(作り物)
- 実ティックに基づいたすべてのティック: ブローカーに実際に届いた1個1個の価格をそのまま使う(本物)
スキャルピングやナンピン型など、細かい値動きで損益が決まるEAは、実ティック以外の検証はほぼ無意味です。作り物のティックは「都合の悪い一瞬の値飛び」を再現できないからです。
設定手順(5分で終わります)
- MT5上部メニューの「表示」→「ストラテジーテスター」を開く(Ctrl+R)
- テスターの「設定」タブで、検証したいEA・通貨ペア・期間を選ぶ
- モデルの欄で「実ティックに基づいたすべてのティック」を選ぶ ←ここが本題
- 「遅延」の欄は「ゼロ遅延」ではなく実際の遅延(例: 100ms前後)を選ぶ
- スタートを押す
初回は過去データのダウンロードが自動で始まるので、回線とディスクに余裕を持って待ちます(10年分だと数GB級・数十分かかることもあります)。
落とし穴1: 「実ティック」の期間はブローカー次第
実ティックはそのブローカーが保存している分しか使えません。業者によっては数年分しかなく、それより前は自動的に"作り物ティック"に切り替わります。
テスト完了後に「ジャーナル」タブを見て、real ticks がテスト期間の何%を占めたかを必ず確認してください。ここが低いのに「10年実ティックで検証済み」と言うのはアウトです。
落とし穴2: スプレッドを「現在値」で回さない
設定のスプレッド欄を「現在値」にすると、深夜や指標時の広がりが反映されないことがあります。当ラボでは、
- まず「現在値」で回す
- 次にスプレッドを2倍に固定してもう1回回す
の2本立てにしています。コストを2倍にしても生き残るか——これは当ラボが1,557通りの設定をふるいにかけたときの最終関門と同じ考え方です。2倍で死ぬ設定は、実運用のどこかで死にます。
落とし穴3: スワップ(持ち越しコスト)を見ていない
ポジションを日をまたいで持つEAは、スワップの設定次第で年単位の成績がガラッと変わります。バックテストの損益グラフがきれいでも、スワップ込みで再計算したら利益が大きく目減りした——というのは当ラボ自身が経験済みです。
長期保有型のEAを検証するときは、テスト後のレポートでスワップ合計額を必ず見てください。「利益の何割がスワップに食われているか」が数字で出ます。
まとめ:当ラボの検証テンプレ
- モデルは「実ティックに基づいたすべてのティック」一択
- ジャーナルで実ティック率を確認(低い期間の結果は信用しない)
- スプレッド2倍でもう1回回す
- スワップ込みの損益で判断する
- それでも勝ったら、いきなり実弾ではなくデモで並走
この5点を全部やって生き残るEAは、体感で100本に数本です。逆に言えば、この手順を通さずに買ったEAは「検証していないのと同じ」です。買う前に、売り手に「実ティック率は何%でしたか」と聞いてみてください。答えられない時点で答えです。