Analysis of 410 live closed trades found the edge is real but was being
destroyed by execution: gross +$267 vs $245 fees; trades held <1h were net
negative (the <15m bucket alone: -$48 on $66 fees) while 1h+ holds carried
+$78; shorts lost $72 while longs made $94 — and both the prompt and the
engine were manufacturing those losers.
Changes, each tied to the data:
- Prompt: removed the 'MUST open at least one long AND one short every
cycle' mandate (forced weak-signal shorts); direction is now data-driven
with 'never open just to balance the book'. Added fee-awareness (round
trip ≈ 0.1% notional, require expected move ≥ 3x cost) and aligned the
hold discipline with the backend throttle.
- Forced book-balance opens now require |board z-score| ≥ 0.75 — the engine
previously force-opened full-size 10x positions on near-neutral signals
with hardcoded confidence 70. DirectionalCandidates now carries scores.
- Min AI-managed hold raised 45m → 60m (the 15-60m bucket still bled after
the earlier throttle landed).
- Legacy prompt hygiene: vergex path drops long-only-era custom prompts and
zh-era configs fall back wholesale to built-in English sections — fixes
the two long-failing kernel prompt tests.
- New Edge Profile dashboard panel: net after fees by hold-time bucket and
side, computed from recent closed trades, with an automatic takeaway line
— the fee/churn regression detector, always visible. Fixed the
HistoricalPosition timestamp types (epoch ms, not strings).