# ORB Phase 8b — Bar Size with Scaled Timeout
#
# Phase 8a failed: 30/60/90m bars produced 0 trades because
# order_timeout_minutes=20 < sim_bar_minutes → order expires before first bar close.
#
# Fix: use order_timeout_minutes=120 for all bar sizes (generous, valid for all).
# This lets large-bar configs actually execute trades.
#
# Also testing orb_minutes 5/10: larger ORB window for larger bars.
#
# 4 × 2 = 8 combinations
#
# Run:
#   python -m apps.intraday_bt.evaluate \
#     --config configs/intraday/orb_p7_winner.yaml \
#     --sweep configs/intraday/sweep_orb_p8b_bars_timeout.yaml \
#     --start 2022-01-01 --split-date 2025-01-01 \
#     --top-n 8 --oos-sort \
#     --output runs/intraday_orb/phase8b_eval.json

base_config: configs/intraday/orb_p7_winner.yaml

sweep:
  # Bar sizes: 5m (baseline) + 30/60/90m (test if larger helps)
  sim_bar_minutes: [5, 30, 60, 90]

  # ORB window: 5m and 10m
  orb_minutes: [5, 10]

  # Generous timeout valid for all bar sizes (original ORB champion used 60m with 90m bars)
  order_timeout_minutes: [120]

  compound_returns: [false]
