このページには広告(アフィリエイトリンク)を含むことがあります。
バックテストで「勝てるEA」が偽物だった6つの正体
結論:バックテストで良い数字が出たら、まず「計算のまちがい」を疑うべきでした。運営者が EA を検証する中で、利益に見えたものを調べ直すと、6つが偽物でした。どれも相場の性質ではなく、データや計算の側の問題です。
前提:値動きの「方向」だけでは勝てなかった
最初に、いちばん大きな検証結果を書いておきます。テクニカルな売買ルールを約29万通り、取引コストをゼロにして試しても、プロフィットファクター(PF=負けた額1円に対して勝った額が何円か)はほぼ1.00でした。つまり、よくある「この形になったら上がる」というルールには、コストを払う前の段階で、勝ち越せるだけの情報がありませんでした。
だから、バックテストで PF 1.5 のような数字が出たときは、「本物を見つけた」より先に「どこかがまちがっている」を疑うようにしています。
見つかった6つの偽物
| 見かけの利益 | 正体 |
|---|---|
| 金と銀の比率が平均に戻る動きで PF 1.5〜1.75 | 時計のずれ。金と銀のデータで時刻の基準が2〜3時間ずれていて、未来の価格を見て売買していた |
| 株価指数 CFD の「値動きが小さい時に入る」ルール | 休場中の止まった価格。休みの間は価格が動かず、値動きの幅がほぼゼロになる。その止まった価格で入り、再開時の窓(ギャップ)を取っていた |
| 週明けの寄り付きで買う(5万通りの上位3件) | 週の最初の1本だけ。724回の取引すべてが週の最初の値段で、実際には約定しにくい。コストを3倍にすると消えた |
| 時間帯のルール140通りが合格 | 計算のバグ。売りの決済でスプレッドを「払う」はずが「受け取る」計算になっていた(修正済み) |
| 別のデータで初めての合格 | 桁のまちがい。価格が100倍で保存されていて、スプレッドが実質100分の1になっていた |
| 損切りと利確の比率から計算した「理論上の勝率」 | 同じ足の中の順番。1本の足で損切りと利確の両方に届いたとき、どちらが先かわからない。ランダムに入ってコストゼロでも、PF は 0.94〜0.99 と 1 を下回った |
自分のEAで確かめる5つのチェック
- データの時刻の基準をそろえる:複数の銘柄を使う EA は、全部のデータが同じ時刻の基準(UTC など)か確かめます。
- 休場や価格が止まった足を除く:値動きの幅がゼロの足で入っていないか、取引の一覧で確かめます。
- 取引が特定の足に集まっていないか見る:週の最初の足、月の最初の足などに偏っていたら要注意です。
- コストを2倍にしてもう一度テストする:それで利益が消えるなら、実際の口座ではほぼ残りません。
- 売りと買いを別々に集計する:片方だけが極端に良ければ、計算のバグを疑います。
「見つからない」も立派な結果
偽物を1つずつ消していくと、手元に残る「本物」は少なくなります。それでも、偽物の EA を本番で動かして資金を減らすより、ずっと安上がりです。
よくある質問
バックテストで勝てるEAが本番で勝てないのはなぜですか
計算やデータの問題(時刻のずれ、休場中の価格、コストの計算ミスなど)で、利益が実在しないことがあります。コストを2倍にして再テストする、取引が特定の足に偏っていないか見る、などで見抜ける場合があります。
プロフィットファクター(PF)とは何ですか
負けた合計額に対して、勝った合計額が何倍かを表す数字です。PF 1.2 なら、1円負ける間に1.2円勝っています。1.0 を下回ると損をしています。
テクニカル指標のルールでは勝てないのですか
運営者の検証では、約29万通りのルールをコストゼロで試しても PF はほぼ1.00でした。すべてのルールが無意味と言い切るものではありませんが、よくある形のルールをそのまま使うだけでは難しい、というのがこの検証の結果です。