Stop treating total_received=0 as a real bid recycle, fall back to exchange upl for display totals, and keep row/summary aligned.
Co-authored-by: Cursor <cursoragent@cursor.com>
Prefer perpetual symbols and normalize before market.contractSize lookup so Gate BTC float matches ~0.4U not thousands.
Co-authored-by: Cursor <cursoragent@cursor.com>
Compute float_pnl and tp_profit from mark/entry/contracts using each exchange contract size during dashboard enrich.
Co-authored-by: Cursor <cursoragent@cursor.com>
Background poll builds a memory snapshot; the page reads snapshot and refreshes on SSE instead of hitting heavy exchange APIs on each load.
Co-authored-by: Cursor <cursoragent@cursor.com>
Show 进行中 in green for active hedges; options columns include source/target/expiry; merge live mark/contracts/pnl from price snapshot.
Co-authored-by: Cursor <cursoragent@cursor.com>
Read-only overview of live orders, key monitors, and strategy; show options/hedge only when present. Toggle via system settings nav prefs.
Co-authored-by: Cursor <cursoragent@cursor.com>