Move the theme toggle inside body and stack it above the form so flex no longer pushes the card to the right.
Co-authored-by: Cursor <cursoragent@cursor.com>
Show Binance/OKX/Gate 交易系统 with distinct exchange icons in manifests, apple titles, and login branding.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose period delta from equity curve start and surface it in the toolbar and summary cards with green/red cues.
Co-authored-by: Cursor <cursoragent@cursor.com>
The /strategy/roll/docs link looked under lib/strategy/ while 顺势加仓滚仓说明.md lives at the repository root.
Co-authored-by: Cursor <cursoragent@cursor.com>
Skip full card redraw while the monitor target field is focused, and format mark/avg without relying on dusty server strings.
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>
Manual close checks liquidity only; target auto still requires 2x recycle hold once, then reuses the shared bid1 executor. Add /options/guide doc and update hedge-plan refs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Require bid-side recoverable premium at least 2x cost continuously before target auto-close or depth close can fire.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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委托 row keeps the field empty for new entry and displays target value plus estimated PnL after arming.
Co-authored-by: Cursor <cursoragent@cursor.com>
Prevents duplicate sells from stacking into short opens when the bid book is empty and mark fallback retries.
Co-authored-by: Cursor <cursoragent@cursor.com>
OKX expects reduceOnly as the string true; target auto-close also falls back to the live position mark price on empty books.
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>
Replace single S* with up/down targets across UI, preview, persist, monitor, and alerts so ranging breakouts can close the winner either way.
Co-authored-by: Cursor <cursoragent@cursor.com>
History shows contract names with clickable fill details; stats split perp vs options plans for win rate, profit factor, max win/loss, and drawdown.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire idempotent notify on open/close/partial fail, settle OO at expiry, and close orphaned TP option legs without rewriting plan totals.
Co-authored-by: Cursor <cursoragent@cursor.com>
Swap-all targets funding account but ccxt free was often empty; fall back to trading USDT for unified accounts and show balances in errors.
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>
OKX requires quote_ccy/base_ccy for market orders; include trading_usdt in balance display and total funds.
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>