【検証#12】AI生成EAの途中経過で見えた「ボツEA」の黄金パターン — 14本の失敗作が教えてくれたこと¶

この記事の3行まとめ
- 🤖 目標1000本のEA自動生成チャレンジはまだ途中です。現時点で14本のEAがバックテストで不合格(FAILED)になっています。
- 失敗作を細かく分析した結果、ボツになるEAには4つの「黄金パターン」があることがわかりました。
- 失敗を隠さず「なぜダメだったか」をデータ化し、次のAI生成ロジックへフィードバックすることが、最も重要だと感じています。
この記事の前提
この記事は、1000本を作り終えた後の総括ではありません。2026年5月21日時点で集まっている不合格EAをもとにした、途中経過の失敗分析です。
はじめに ― 正直に言います。失敗のほうが圧倒的に多いです¶
みなさん、こんにちは!FXおもしろラボ管理人です。
当サイトでは、AIをフル活用して最終的に1000本のEA生成・検証を目指す「EA1000個生成チャレンジ」を行っています。
2026年5月21日時点で、厳しいバックテストをクリアして「合格(LIVE)」となったEAは3本。
一方で、途中で不合格となった「FAILED」のEAは14本あります。
判定が固まったLIVE/FAILEDの17本だけで見ると、合格率は17.6%。まだ母数は小さいものの、成功例より失敗例のほうが多いのが現状です。
ネット上のFXブログでは「勝てるEAができました!」という華やかな成功体験ばかりが目立ちますが、AIを使った開発のリアルは、この「ボツEAの山」のほうにあります。
でも、データを分析するのが大好きな私としては、この14本の失敗作もかなり重要な材料です。なぜなら、彼らは「こういうロジックを作るとFXでは負けやすい」という貴重な負けパターンを、身をもって教えてくれたからです。
今回は、この14本のFAILED EAを分析して見えてきた、ボツEAの4つの黄金パターンを共有します。EA開発で行き詰まっている方の参考になれば幸いです!
パターン①:過剰最適化(オーバーフィッティング)の罠¶
まず最も多かったのが、バックテストの期間内だけ完璧に合わせてしまう「過剰最適化(オーバーフィッティング)」のパターンです。
- 該当EAの例:
EA0001_Statistical_Anomaly_Reversal(統計的アノマリーの逆張り) - 特徴: バックテスト(In-Sample)ではきれいな右肩上がりのグラフを描くのに、検証期間外(Out-of-Sample)のフォワードテストに入った瞬間、崖から落ちるように右肩下がりの赤字に転落する。
graph TD
A["📈 バックテスト期間 (完璧な右肩上がり)"] -->|期間外の相場に適用| B["📉 リアル/検証期間 (一気に赤字転落)"]
style A fill:#e3f2fd,stroke:#1e88e5
style B fill:#ffebee,stroke:#e53935 なぜこれが起きるのか?¶
AIに「プロフィットファクター(PF)が高くなるようにプログラムを作って」と指示すると、AIは過去のチャートデータに完璧にフィットするような細かいパラメータ(RSIの境界線やATRの乗数など)を探し出してしまいます。
しかし、相場は常に変化しています。過去の特定の時期だけに合わせた「過去問の丸暗記」のようなEAは、未来の新しい問題(未知の相場環境)が出題された瞬間に全く通用しなくなってしまいます。
対策と学び¶
- バックテスト期間を「最適化用(IS)」と「検証用(OOS)」に厳密に分割し、検証期間で成績が落ちるものは即座に排除するルールを徹底しました。
- AIに対して「あまり複雑なフィルターを追加しすぎないように」と制限をかけることで、シンプルなロジックを維持させ、過剰最適化を防ぐようにしています。
パターン②:取引数極小(LOW_SAMPLE / エントリーなし)の罠¶
次に多かったのが、アイデアは非常に面白いのに、実際の相場ではほとんどエントリーしない「取引数極小」のパターンです。
- 該当EAの例:
EA0014_InterventionShort(為替介入リスクを狙った逆張り),EA0027_TakaminaLong(噂ベースのロング) - 特徴: バックテスト期間全体(例えば数年間)を通して、取引回数が0回、または数回程度しか発生しない。
| EA番号・名称 | 狙った戦略 | バックテスト結果 |
|---|---|---|
| EA0014 InterventionShort | 161円到達時の為替介入狙いショート | 🚫 取引数 0回(条件未成立) |
| EA0027 TakaminaLong | 特定の噂(ファンダ)に基づくロング | 🚫 取引数 0回(条件未成立) |
| EA0002 StatAnomalyReversion | 統計的アノマリーの逆張り(調整版) | ⚠️ 取引数 8回(LOW_SAMPLEで却下) |
なぜこれが起きるのか?¶
「為替介入のような大イベントの直後にエントリーする」「特定のファンダメンタルズ条件が完璧に一致した時だけ動く」といった、発生頻度が極端に低いイベントをトリガーにしているためです。
また、AIがリスクを恐れるあまり、フィルター(エントリーの制限条件)を何重にも重ねてしまった結果、「すべての条件をクリアする瞬間が1年に1回もない」という、極端に臆病なEAが出来上がってしまいます。
対策と学び¶
- どんなにバックテストのPFが高くても、取引回数が少なすぎるものは統計的に信頼できません。たまたまその数回が勝てただけかもしれないからです。
- 当ラボの生産ラインでは、「バックテスト期間中に最低〇〇回以上の取引があること」という取引数フィルター(LOW_SAMPLE判定)を導入し、データが不足しているものは自動的にボツにする仕様にしました。
パターン③:時間帯ブレイクアウトの「騙し(フェイクアウト)」の罠¶
特定の時間(東京市場の開始時やロンドン市場の開始時など)のブレイクアウトを狙うEAも、高い確率でボツになりました。
- 該当EAの例:
EA0003/EA0038/EA0039_Session_Micro_Breakoutなどのブレイクアウトシリーズ - 特徴: 取引数は十分に確保できているものの、エントリーした直後に逆行される「騙し(フェイクアウト)」に遭いやすく、スプレッドや取引手数料のコストも重なってジリジリと資金を減らしていく。
なぜこれが起きるのか?¶
「高値を更新したら買い」「安値を更新したら売り」という単純なブレイクアウト戦略は、現代のアルゴリズム取引(大口投資家の仕掛け)によって最も騙されやすいポイントになっています。
高値を更新した瞬間に大口が売りを浴びせ、ブレイクアウトしたと信じた個人トレーダーが損切りさせられる――いわゆる「ダマシの山」に巻き込まれやすいのです。特にスプレッドが広がる早朝や指標発表時などは、コスト負けも重なります。
対策と学び¶
- 単純な価格ブレイクアウトではなく、ボラティリティの拡大(ATRなど)や、時間帯の制限フィルター(東京セッションのみ、など)を組み合わせる必要があります。
- それでも改善しないSession Breakout系統は、現在「一時開発休止(DNAアーカイブ)」とし、基本設計から見直すことにしました。
パターン④:強力なトレンドへの「逆張り踏み上げ」の罠¶
最後は、押し目買いや戻り売りを狙うはずが、強力な一方通行トレンドに逆らって大怪我をするパターンです。
- 該当EAの例:
EA0029_InterventionPullbackShort(戻り売りショート) - 特徴: 勝率は悪くないが、1回の大きな逆行トレンドで損切りが遅れ、過去の利益をすべて吹き飛ばすような大きなドローダウンを記録する。
なぜこれが起きるのか?¶
相場が「レンジ(平均回帰)」であるという前提のロジックを、強い「トレンド(一方向への進行)」の相場に適用してしまうことが原因です。
特にドル円などで発生する「国策級の強力な上昇トレンド」の最中に、「そろそろ下がるだろう」と戻り売りを入れると、損切りラインにかかるまで何度も踏み上げられ、一気に破綻ラインに達してしまいます。
対策と学び¶
- 逆張り(平均回帰)のEAを動かす際は、「いまはレンジ相場なのか、トレンド相場なのか」を判定する強力なフィルターが絶対に不可欠です。
- この反省から生まれたのが、当ラボの主力EAにも搭載されている「ハースト指数フィルター」や「レジーム判定インジケータ」です。市場にトレンドの記憶が残っているうちは逆張りを絶対にしない、という制限をかけることで、大怪我を防ぐことができるようになりました。
まとめ ― 失敗をAIにフィードバックする仕組み¶
こうして14本のボツEAを並べてみると、失敗は決して無駄ではなかったことがよくわかります。
当ラボのEA開発ラインでは、これらの失敗から得られた学びを失敗ログや改善メモとして蓄積しています。
AIが新しいEAの設計図(仕様)を作る際、この失敗ログを参照し、「過去にボツになったEA0029と同じような、トレンドに逆行するリスクのある設計になっていないか?」をチェックするプロセスを入れています。
graph LR
A["ボツEA (FAILED) 発生"] --> B["🧠 失敗パターンを記録"]
B --> C["🤖 AIが新しいEAを設計する際、過去の失敗を参照"]
C --> D["🛡️ より堅牢な合格EA (LIVE) の誕生"]
style A fill:#ffebee,stroke:#e53935
style B fill:#fff9c4,stroke:#fbc02d
style D fill:#e8f5e9,stroke:#4caf50 失敗を隠すのではなく、むしろ詳細に記録してシステムの一部として学習させる。これこそが、平凡なサラリーマンである私がAIを武器に戦うための、最も強力な武器なのだと信じています。
これからも、合格したEAだけでなく、「なぜ不合格だったのか」まで含めた実験ログを公開していきます。目標1000本までの途中経過として、失敗も含めて追えるページにしていきます。
関連記事¶
この記事を読んだ方におすすめ
- 📈 【検証#01】ハースト指数による市場のトレンド/レンジ分析 — 逆張りEAの踏み上げを防ぐために必須のインジケータ解説。
- 🏢 コードは完璧、戦略は赤字:AiTEAM EA開発記録 — 自動化されたEA開発システムの構築と、直面した壁の記録。
- 🎯 EA1000個生成チャレンジ ダッシュボード — 合格EA、FAILED EAのリアルタイムの件数と一覧はこちら。
関連用語¶
- 用語集 - プロフィットファクター (PF)
- 用語集 - バックテスト
- 用語集 - 過剰最適化 (オーバーフィッティング)
- 用語集 - アウトオブサンプル (OOS)
- 用語集 - スプレッド
- 用語集 - ハースト指数
- 用語集 - ドローダウン