Loaded 30 candidates for 2026-09-28: ['CLRO', 'MSGY', 'QTTB', 'SATL', 'VG', 'SG', 'TTD', 'RDW', 'INFQ', 'ONDS', 'HAFN', 'IMMX', 'CRML', 'QUBT', 'NCLH', 'RCAT', 'NOK', 'ACHR', 'MARA', 'VNCE', 'JOBY', 'IBRX', 'USAR', 'AGNC', 'F', 'FLNC', 'CLSK', 'DX', 'LTRX', 'SBET']
Ensuring tick-data cache in /var/www/screener/trade/data/simulations/cache/2026-09-28 ...
  [cache hit] CLRO
  [cache hit] MSGY
  [cache hit] QTTB
  [cache hit] SATL
  [cache hit] VG
  [cache hit] SG
  [cache hit] TTD
  [cache hit] RDW
  [cache hit] INFQ
  [cache hit] ONDS
  [cache hit] HAFN
  [cache hit] IMMX
  [cache hit] CRML
  [cache hit] QUBT
  [cache hit] NCLH
  [cache hit] RCAT
  [cache hit] NOK
  [cache hit] ACHR
  [cache hit] MARA
  [cache hit] VNCE
  [cache hit] JOBY
  [cache hit] IBRX
  [cache hit] USAR
  [cache hit] AGNC
  [cache hit] F
  [cache hit] FLNC
  [cache hit] CLSK
  [cache hit] DX
  [cache hit] LTRX
  [cache hit] SBET
Using fixed equity snapshot: $8755.84
Driving replay off 3774 REAL logged poll timestamps (data/decisions/2026-09-28.jsonl)

Wrote /var/www/screener/trade/data/simulations/2026-09-28_sim_maxpos99_gr_r25_es0p_rs45_reabove_entry_fixed_v2_xv2_trailfalse_cf.json

=== max_positions=99 +giveback-room-exit(min=15.0c,ratio=0.250) +resistance-stall(45m) +entry-slope(0 bars,positive) (4 trades) ===
  13:45:14 DX     BUY  145 @ 11.4450  -> 15:19:25 SELL @ 11.3300  P/L -1.00% ($-16.68)  [exit_v2 stop: price 11.33 <= 11.33 (entry stop)]
  13:56:03 QTTB   BUY  183 @ 9.0839  -> 16:07:04 SELL @ 9.2900  P/L +2.27% ($+37.72)  [exit_v2 smooth break: smoothness 0.54 < 0.6 (trend broke)]
  17:53:21 AGNC   BUY  174 @ 9.5350  -> 19:55:00 SELL @ 9.4500  P/L -0.89% ($-14.79)  [END_OF_DAY]
  18:29:21 QTTB   BUY  178 @ 9.3438  -> 19:55:00 SELL @ 9.2815  P/L -0.67% ($-11.09)  [END_OF_DAY]
  --- total: 4 trades, 1W/3L, $-4.84 ---
