テクニカルEA化
テクニカル指標を増やしすぎるとEAが壊れる理由
公開 2026.06.15最終確認 2026.06.15
EAの勝率を上げようとテクニカル指標(フィルター)を追加しすぎると、過去データにだけ適合した「過剰最適化(カーブフィッティング)」に陥る。実運用で機能しなくなる理由と対策を整理する。
EAのバックテストを回す。
「勝率55%、PF1.2。悪くないけど、もう少し無駄な負けを減らしたいな」
そう思って、負けたトレードのチャートを見直す。
「あ、ここでRSIが買われすぎになってる。じゃあRSIのフィルターを追加しよう」
再びバックテスト。勝率が60%に上がった。
「よし。でも、まだここで負けてるな。移動平均線の傾きフィルターも追加しよう」
勝率65%。PF1.5。
どんどんグラフが綺麗になっていく。まるで自分が天才プログラマーになったような気分になる。
でも、この「綺麗すぎる右肩上がりのEA」をリアル口座で回すと、どうなるか。
全く勝てない。バックテストが嘘だったかのように、負け続ける。
これが、EA開発者が必ず陥る「過剰最適化(カーブフィッティング)」の罠だ。
フィルターは「過去の答え合わせ」でしかない
テクニカル指標(フィルター)を追加すればするほど、バックテストの成績は必ず良くなる。
なぜか。
過去の相場データという「すでに答えが出ているテスト」に対して、後出しジャンケンで条件を書き足しているからだ。
「この日は雨だったから負けたんだ。じゃあ雨の日は休むルールにしよう」
「この日は火曜日だったから負けたんだ。火曜日も休もう」
こうやって条件(フィルター)を増やしていけば、過去のテストで100点を取るのは簡単だ。
でも、そのルールは「過去の特定のデータにだけ完璧にフィットした(過剰最適化された)ルール」にすぎない。
取引回数が減るという致命傷
フィルターを増やすと、もう一つ重大な問題が起きる。「取引回数の激減」だ。
- フィルターなし:月間100回のトレード
- RSI追加:月間50回
- MA傾き追加:月間20回
- ボリバン追加:月間5回
3つのインジケーターの条件が「すべて同時に一致する瞬間」など、相場にはめったにやってこない。
月間5回(年間60回)のトレードでPFが3.0だったとしても、それは「たまたま過去の60回で上手くいっただけ」の可能性が高い(統計的な優位性がない)。
未来の相場環境が少し変わっただけで、条件に一致しなくなり、1年間一度もトレードしない「置物」になるか、全く見当違いのタイミングで被弾するようになる。
裁量の「総合判断」とEAの「AND条件」は違う
裁量トレーダーは「複数の指標を総合的に見て判断する」と言う。
だからEAでも複数の指標を組み合わせた方がいいと思いがちだ。
しかし、裁量の「総合判断」は、ある指標のシグナルが弱くても、別の指標のシグナルが強ければカバーするような柔軟性(ファジーさ)を持っている。
EAのコードで if (条件A && 条件B && 条件C) と書いた場合、それは「全てが完璧に揃わないと動かない」というガチガチのAND条件になる。裁量の柔軟さとは対極にある。
フィルターは「3つまで」が限界
私がEAを作るとき、意識しているルールがある。
「エントリーに関するテクニカル指標は、最大でも3つまでに絞る」
- 環境認識(上位足のトレンド判定)
- トリガー(短期足のエントリータイミング)
- 撤退(損切り・トレーリングストップ)
これ以上のフィルターを足したくなったら、それはロジック自体が弱く、小手先の条件でごまかそうとしているサインだ。
この記事のメモ
EA開発は「削る作業」だ。
最初はたくさん指標を入れたくなる。でも、テストを重ねるうちに「このフィルター、実はなくても成績変わらないな」「この条件を外したほうが、取引回数が増えて利益総額(期待値)が上がるな」ということに気づく。
本当に強いEAのロジックは、驚くほどシンプルだ。
「バックテストのグラフを綺麗にしたい」という誘惑に負けてフィルターを足し始めたら、一度キーボードから手を離す。
そのフィルターは、未来の相場でも本当に機能する普遍的なルールなのか。それとも、過去の自分の負けトレードを消したいだけの「言い訳」なのか。
チェックリスト
- [ ] エントリーに関するテクニカル指標が4つ以上になっていないか
- [ ] フィルターを追加したことで、取引回数が極端(月間10回未満など)に減っていないか
- [ ] フィルターを1つ外しても、PFが1.0以上を維持できるか(特定のフィルターに依存しすぎていないか)
- [ ] バックテスト期間をずらして(アウトオブサンプル)も、追加したフィルターが機能しているか
FAQ
Q: 勝率が低くてもフィルターを追加しないほうがいいですか?
勝率が50%未満でも、リスクリワード(平均利益と平均損失の比率)が良ければEAの期待値はプラスになります。無理に勝率を上げるフィルターを足すより、損切り幅を調整してリスクリワードを保つほうが、未知の相場には強くなります。
Q: 複数の時間足を見る(マルチタイムフレーム)のは過剰最適化ですか?
「4時間足でトレンドを見て、15分足でエントリーする」といった環境認識は、相場の本質を突いた普遍的なアプローチであり、過剰最適化にはなりにくいです。ただし、見る時間足を増やしすぎ(日足と4時間足と1時間足と15分足と5分足を全て見るなど)ると、条件が一致しなくなりカーブフィッティングに陥ります。
免責
本記事は個人の検証メモであり、投資助言ではありません。