Monitor board only needs positions, balances, and targets; drop the OKX positions-history pull each poll, and surface timeout errors via msg.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match hedge/roll/trend/order/key monitors for source badges, show option target monitors in green, and refresh the dashboard with the board 5s cycle.
Co-authored-by: Cursor <cursoragent@cursor.com>
Header float PnL now uses bid recycle minus premium like position cards. Stats adds realized/open/total net PnL.
Co-authored-by: Cursor <cursoragent@cursor.com>
Rename floating P/L to net P/L, align ROI, and display bid depth as price/liquidity for only the levels needed to close.
Co-authored-by: Cursor <cursoragent@cursor.com>
Commit monitor status before notify, and use a closing state so unfilled limits retry silently instead of re-alerting.
Co-authored-by: Cursor <cursoragent@cursor.com>
Position and order forms can arm a target; right-side and hub panels show active monitors; expiry remains the stop with no separate SL.
Co-authored-by: Cursor <cursoragent@cursor.com>
Enrich hub options snapshot with close preview and render read-only option position cards in exchange fullscreen view.
Co-authored-by: Cursor <cursoragent@cursor.com>
Share history loading between history and stats APIs so average profit/loss matches the option history tab.
Co-authored-by: Cursor <cursoragent@cursor.com>
Show average hold duration for wins and losses, open positions, and CSS ring/bar visualizations in the stats tab.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use stale-while-revalidate for positions API and UI, throttle sync calls, and avoid overwriting displayed PnL with null on transient failures.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose /api/hub/options/snapshot from OKX instance and render options summary on hub monitor cards when the options capability is enabled.
Co-authored-by: Cursor <cursoragent@cursor.com>