# ORB Strategy Parameter Sweep
# Tests key ORB parameters on shared data (loaded once).
# 4 × 4 × 2 × 2 × 3 × 3 × 2 = 1,152 combinations
# Simulation-only time: ~1,152 × <0.5s ≈ ~10 minutes

base_config: configs/intraday/strategies/orb_default.yaml

sweep:
  # Simulation bar interval for breakout/stop management (ORB candle always 5-min)
  sim_bar_minutes: [5, 15, 30]

  # Stop distance: how far below ATR to set initial stop
  # 10% = paper default; test tighter (5%) and wider (15%, 20%)
  atr_stop_multiplier: [0.05, 0.10, 0.15, 0.20]

  # RVOL threshold: filters by relative volume at open
  # Note: RVOL here is approximate (daily avg based), not true first-5-min RVOL
  min_rvol: [0.8, 1.0, 1.5, 2.0]

  # Candidate pool size per day
  max_candidates: [10, 20]

  # R-multiple to move stop to breakeven
  breakeven_at_r: [1.0, 1.5]

  # R-multiple to activate trailing stop
  trailing_at_r: [1.5, 2.0, 3.0]

  # Order timeout: cancel unfilled breakout orders after N minutes
  order_timeout_minutes: [30, 45, 60]

  # Risk per trade (% of equity)
  risk_per_trade_pct: [0.0025, 0.005]

  # GFV / settlement constraint: 0=disabled (legacy), 1=T+1 (realistic cash account)
  settlement_days: [0, 1]

  # Max opening gap: null=no cap, 3%=tight, 5%=moderate, 10%=loose
  max_gap_pct: [0.03, 0.05, 0.10, null]
