Reject target and depth closes when bid is a residual tick, and show invalid-bid UI instead of recycling at junk prices.
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>
Use available (free) balances for full-amount ops, support sub-account scope, and show clear success/failure feedback.
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>
Filter OKX positions-history to type 2/3/6, format premium and bid recovery to 2 decimals, and allow locally hiding rows via delete button.
Co-authored-by: Cursor <cursoragent@cursor.com>
Format prices by tickSz, move bid depth/recovery to card end with plain styling, and load option history from OKX positions-history instead of local DB.
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>