MT5のバックテストと実運用の乖離を防ぐため、スプレッド・スリッページ・約定条件をロジックに内生化するEA設計を解説。バックテストは通常、価格データと固定スプレッドを前提にしている。一方、実運用では以下の要素が影響する。
- スプレッドの拡大
- スリッページ(約定価格のズレ)
- 約定遅延
これらは価格そのものではなく「執行条件」に関する要素であり、短期市場では需給の偏りによって変動しやすい。特に流動性が薄い時間帯では、想定より不利な価格で約定するケースが増える。したがって、バックテストは「理想的な約定モデル」、実運用は「不確実性を含む約定モデル」として区別する必要がある。
Execution-aware EAでは、シグナル条件に加えて執行条件を明示的に組み込む。
基本設計は以下の通り。
- スプレッド制御
- スプレッドが閾値以下の場合のみエントリー
- スリッページ許容
- 許容範囲を超えた場合は注文をキャンセル
- 時間帯フィルター
- 流動性が低い時間帯を除外
条件分岐例:
- if spread < threshold → エントリー許可
- else → スキップ
- if slippage <= limit → 約定継続
- else → 注文取消
さらに、連続で不利な約定が発生した場合は、一定期間エントリーを停止する制御も検討できる。以下の条件では本ロジックの重要性は相対的に低下する可能性がある。
- 高流動性時間帯でスプレッドが安定している場合
- スリッページが極めて小さい市場
- 中長期戦略でエントリー価格の影響が限定的な場合
この場合、執行条件よりも価格ロジック自体の優位性が支配的になる。
現時点では、短期市場は執行条件の影響を受けやすい環境がベースシナリオ。ただし、スプレッドとスリッページが安定する場合、この見方は見直す必要がある。






