# 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]