ここからは完全にEA設計者向けの話になります。
あなたがここまで理解している
- 深夜帯スプレッド歪み逆張り
- スプレッド安定=レバ解放トリガー
- ブレイク無効化ルール
これらをEAで統合制御する中核が
👉 スプレッド動的フィルター戦略です。
目次
EA用:スプレッド動的フィルター戦略【完全設計編】
① 戦略の本質(1行)
スプレッドを「条件」ではなく
「状態変数」として扱う
ON / OFF ではなく
連続的に評価してEAの挙動を変えるのがポイント。
② なぜ「動的」である必要があるか
静的フィルター(失敗例)
if Spread < 3.0pips:
EntryAllowed = true
❌ 問題点
- 瞬間的縮小で誤作動
- 再拡大を検知できない
- 深夜帯ではノイズだらけ
動的フィルター(正解)
- 過去平均との差
- 変化率(拡大 / 縮小)
- 継続時間
- 再拡大耐性
③ スプレッド状態の4フェーズ定義
EAは常に以下のどれかに属します。
| フェーズ | 状態 | EAの動作 |
|---|---|---|
| Phase 0 | 通常 | 通常ロジック |
| Phase 1 | 拡大中 | エントリー禁止 |
| Phase 2 | 不安定 | 監視のみ |
| Phase 3 | 安定回復 | レバ解放OK |
④ 数値化:スプレッド正規化
基準スプレッド(Baseline)
- 過去N分(例:30分)
- 中央値(Median)推奨
BaseSpread = median(Spread[Last 30min])
正規化スプレッド比
SpreadRatio = CurrentSpread / BaseSpread
⑤ フェーズ遷移条件(例)
Phase 0 → Phase 1(拡大)
if SpreadRatio > 1.8 and dSpread/dt > 0:
Phase = 1
Phase 1 → Phase 2(不安定)
if SpreadRatio < 1.8 and SpreadRatio > 1.3:
Phase = 2
Phase 2 → Phase 3(安定回復)
if SpreadRatio < 1.3
and StableTime > 60sec:
Phase = 3
Phase 3 → Phase 1(再拡大)
if SpreadRatio > 1.6:
Phase = 1
👉 ヒステリシスを必ず入れる
⑥ フェーズ別EA制御ルール
Phase 1 / 2
- 新規エントリー ❌
- ブレイク判定 ❌
- ナンピン ❌
- 既存ポジは最小管理
Phase 3(ここが核心)
- 初期ポジ許可(低ロット)
- 逆張り有効
- 段階ロット解放
- 利確優先、粘らない
⑦ レバ(ロット)動的制御
ロット係数例
if Phase == 1:
LotMultiplier = 0.0
elif Phase == 2:
LotMultiplier = 0.2
elif Phase == 3:
LotMultiplier = min(1.0, StableTime / 120)
⑧ ブレイク無効化の組み込み
if Phase >= 1:
BreakoutSignal = false
Phase 3のみ:
- 出来高増
- スプレッド再拡大なし
→ 初めて有効化
⑨ 実戦で効く「再拡大検知」
再拡大フラグ
if Phase == 3 and SpreadRatio > 1.4:
Phase = 1
ForceReducePosition()
👉 逃げるロジックを先に書く
⑩ EA設計者が必ずやる検証
- スプレッドログ保存(ms単位)
- Phase遷移回数
- 再拡大→損失の相関
- 業者別比較
⑪ この戦略の強み
- 環境変化に強い
- 業者差を吸収
- 深夜帯に特化
- 裁量思想をEA化できる
⑫ よくある失敗
❌ Spread閾値だけで判断
❌ StableTimeなし
❌ 再拡大対策なし
❌ ロット固定
⑬ まとめ(設計思想)
EAは「いつ入るか」より
「いつ何をしてはいけないか」を決める
スプレッド動的フィルターは
深夜帯EAの生存装置です。
あわせて読みたい




TradersTrust(トレーダーズトラスト)総合案内|口座開設ボーナス・出金拒否などについて
TradersTrust(トレーダーズトラスト)はTTCMとも呼ばれ、2009年からサービスを開始して、10年を超える歴史があります。 設立された国のキプロスは難関ライセンスの一つで…
\ TradersTrust(TTCM)は低スプレッド・ECN方式の取引手数料が安い! /






