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>
Require EXCHANGE_DISPLAY_NAME in each instance .env.example and restart with --update-env so Binance/Gate no longer inherit OKX.
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>
Apply force-close defaults only when keys are missing so system-settings toggles survive pull_and_restart.
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>
Replace -q with --progress-bar so dependency installation visibly continues in setup_env and update flows.
Co-authored-by: Cursor <cursoragent@cursor.com>
Re-exec manage.sh with terminal stdin after clone or when repo exists, and route all prompts through cm_read.
Co-authored-by: Cursor <cursoragent@cursor.com>
Provides curl-friendly manage.sh so production servers can bootstrap without a prior clone, then configure API and risk settings in the browser.
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>