「EAって、どうやってエントリーのタイミングを決めているんですか?」
EA運用を始めた人からよく聞かれる質問です。EAは自動でトレードしてくれますが、「何を根拠にエントリーするのか」を理解していない人は意外と多いです。
結論から言うと、EAのエントリーサインは相場の中に存在する統計的な優位性をルール化したものです。感覚や直感ではなく、「この条件が揃ったときにエントリーする」という明確な根拠が必要です。
EA-LabでGENESIS・凜・AXISの3つのEAを開発してきた経験から、エントリーサインの設計における考え方と実際の手順を整理します。
エントリーサインとは何か
EAのエントリーサインとは、「この条件が満たされたときに買い(または売り)エントリーする」というルールの集合体です。
裁量トレードでは「なんとなくここが買い場に見える」という感覚的な判断ができます。しかしEAはプログラムですから、感覚を数値化・ルール化しない限り動けません。
例えば「移動平均線を使うEA」であれば、「短期MAが長期MAを上抜けたとき」という条件を数値として定義します。この条件が満たされた瞬間に自動でエントリーが発生します。
エントリーサインの設計は、EA開発の中で最も重要かつ最も難しい部分です。良いエントリーサインは相場の本質的な構造に基づいており、様々な相場環境でも再現性があります。
エントリーサインの3つの基本タイプ
EAのエントリーサインは大きく3つのタイプに分類できます。
①テクニカル指標型
移動平均線・RSI・MACDなどのテクニカル指標を使ってエントリー条件を定義するタイプです。最も一般的な設計方法で、MT5のストラテジーテスターで検証しやすいという利点があります。
ただし注意点があります。テクニカル指標は後付けで最適化しやすいため、過剰最適化に陥るリスクが高いです。「この指標の組み合わせがバックテストで最も良い結果だった」という理由だけでは、フォワードで崩れる可能性があります。
②価格構造型
チャートの価格構造そのものをエントリー条件にするタイプです。GENESISのBOXブレイクアウトがこれにあたります。「一定期間の高値安値からBOXを形成し、上抜けまたは下抜けでエントリー」という条件は、テクニカル指標を使わず価格の動きそのものをルール化しています。
価格構造型の利点は「なぜこのタイミングでエントリーするのか」を直感的に説明できることです。BOXをブレイクするということは、それまでの均衡が崩れてトレンドが発生しようとしているということ。この説明ができるため、ロジックの普遍性が高くなります。
③時間・アノマリー型
特定の時間帯・曜日・市場の開閉タイミングをエントリー条件にするタイプです。凜のアノマリー型がこれにあたります。「特定の時間帯に統計的に特定方向への動きが出やすい」という相場の癖を利用します。
このタイプは条件がシンプルになりやすく、過剰最適化のリスクが低い反面、取引回数が限られるという特性があります。
GENESIS・凜・AXISのエントリーサイン設計
3つのEAがどのようにエントリーサインを設計しているかを整理します。
GENESISのエントリーサイン
GENESISはBOXブレイクアウト型です。一定期間の高値・安値からBOXを形成し、BOX上限を上抜けたら買いエントリー・下限を下抜けたら売りエントリーという設計です。
開発で最も苦労したのは「ダマシの排除」でした。BOXをブレイクしたように見えても即反転するケースが頻繁に発生します。このダマシを減らすためにBOX形成条件の精度を上げ、エントリー条件を絞り込みました。条件を絞るほど取引数が減るというトレードオフに何度も直面しながら、現在のロジックに落ち着いています。
凜のエントリーサイン
凜はアノマリー型です。USDJPYの特定時間帯・特定曜日に発生する統計的な方向性の偏りをエントリーサインとして使います。
設計のポイントは「シンプルさの維持」です。開発過程で条件を追加するたびにバックテストのPFは改善しましたが、条件が増えるほど「なぜこの条件なのか」を説明できなくなっていきました。説明できない条件は過去データへの過剰適応である可能性が高いと判断し、最終的にシンプルな構造を選びました。
AXISのエントリーサイン
AXISはトレンドフォロー型です。トレンドの発生を確認してからエントリーし、トレンドが継続する方向にポジションを保有します。「流れに乗る」というシンプルなコンセプトをルール化しています。
開発で問題になったのはロット制御でした。エントリーサイン自体はシンプルに設計できましたが、ロット可変方式を採用していた段階でDDが不安定になりました。固定ロット・偶数ロット運用への変更で安定しました。エントリーサインの設計と資金管理の設計は切り離して考えることが重要という教訓です。
エントリーサインを設計するときの手順
実際にエントリーサインを設計するときの手順を整理します。
①相場の構造を言語化する
最初にやることは「なぜこのタイミングでエントリーするのか」を言葉で説明できるようにすることです。「この指標がこの値を超えたら」という条件だけでは不十分です。「なぜその条件が相場で優位性を持つのか」を説明できないエントリーサインは、過剰最適化のリスクが高いです。
GENESISで言えば「レンジ形成後のブレイクアウトはトレンドの始まりを示す可能性が高い」という相場の本質的な構造から出発しています。
②条件をできるだけシンプルにする
エントリー条件は少ない方が良いです。条件が多いほど特定の相場環境への過剰適応になりやすく、フォワードで崩れるリスクが上がります。
EA-Lab的な目安として「条件を3〜4個以内に抑える」ことを意識しています。それ以上の条件が必要になった場合、ロジックの根本から見直すことが多いです。
③長期バックテストで再現性を確認する
エントリー条件を決めたら、10年以上の長期バックテストで再現性を確認します。確認すべきポイントは全体のPFだけでなく、期間を分割したときに各期間でも一定のPFが出ているかどうかです。
特定の期間だけ極端に好成績で、他の期間は大きくマイナスという場合、その期間の相場環境にたまたま最適化されているだけの可能性があります。
④フォワードで未知の相場に対する耐性を確認する
バックテストで再現性が確認できたら、フォワードテストに移行します。フォワードは「未知の相場でも同じエントリーサインが機能するか」の検証です。
バックテストで良い結果が出ても、フォワードで崩れるケースは必ずあります。GENESISも凜もAXISも、フォワードに入って初めて見えてきた問題がありました。フォワードでの調整を経て初めてエントリーサインが完成します。
エントリーサイン設計でよくある失敗
後付けで条件を追加し続ける
バックテストで成績が悪い局面が見つかるたびに「この条件を追加すれば防げた」という思考で条件を足していくパターンです。これは過去データへの過剰適応であり、フォワードで必ず崩れます。EA-Labでも凜の開発でこの誘惑に何度も直面しました。
指標の組み合わせを増やしすぎる
「RSIとMACDとボリンジャーバンドが全部揃ったらエントリー」という設計は、条件が厳しくなりすぎて取引回数が激減します。条件が多いほど統計的なサンプル数が減り、信頼性が下がります。
バックテストの最良パラメータを探しすぎる
MT5の最適化機能を使って「最もPFが高くなるパラメータ」を探す行為は、過剰最適化の典型例です。最適化で見つかったパラメータは過去データに最適なだけであり、未来の相場での再現性は保証されません。
カーブフィッティングと過剰最適化の問題についてはこちらで詳しく解説しています。
まとめ
EAのエントリーサインは「感覚の数値化」ではなく「相場の構造のルール化」です。
良いエントリーサインの条件は、なぜそのタイミングでエントリーするのかを言語化できること・条件がシンプルで説明可能であること・長期バックテストで再現性があること・フォワードで未知の相場に耐えられることの4つです。
GENESIS・凜・AXISの開発を通じて一貫して感じてきたのは、複雑なエントリーサインより、シンプルで根拠のあるエントリーサインの方が長期運用に耐えられるということです。
条件を増やして精度を上げようとするほど、フォワードで崩れるリスクが上がる。この矛盾と向き合い続けることが、EA開発の本質だと考えています。
EAのロジックタイプ別の特性についてはこちらも参考にしてください。