Commit Graph

30 Commits

Author SHA1 Message Date
dekun da3975e42e Fix BTC option prices losing trailing zeros in display.
Integer tick formatting was stripping zeros (1370 -> 137), so hedge-plan quotes looked wrong versus the options list.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 17:12:33 +08:00
dekun bcb229fc9d Fix option close reduceOnly flag and use position mark when quote has no bid.
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>
2026-07-15 15:43:19 +08:00
dekun c4753ffb89 Fix swap-all balance by reading OKX funding via asset/balances API.
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>
2026-07-13 09:01:37 +08:00
dekun c4bac23c48 Parse OKX spot swap errors into friendly Chinese instead of raw JSON.
Map sCode 51008 to a clear insufficient-balance message for the currency exchange UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 08:54:53 +08:00
dekun 44657e0484 Add confirm dialogs and busy states for swap/transfer all actions.
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>
2026-07-12 09:10:29 +08:00
dekun 5eb9b9f5c5 Force-refresh header balances after transfers and balance SSE events.
Invalidate balance caches on mutation, push SSE balance tick, and bypass 60s cache when refreshing funds.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 09:03:15 +08:00
dekun 551c86264a Fix OKX spot swap tgtCcy and show options trading USDT in header.
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>
2026-07-12 08:42:33 +08:00
dekun bf2d668d3c Fix option history to full closes only, 2-decimal USDC, restore hide-delete.
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>
2026-07-11 09:24:24 +08:00
dekun fdea5bb610 Align option display precision with OKX and use exchange position history.
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>
2026-07-11 09:14:43 +08:00
dekun 6e45604d93 Add depth-based option close flow.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-11 08:46:07 +08:00
dekun f99900ac40 Fix intermittent loss of options positions and realtime PnL on refresh.
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>
2026-07-09 18:09:58 +08:00
dekun f41af0bf1c Improve OKX options sizing, expiry sync, and multi-position accordion UI.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-09 16:51:48 +08:00
dekun b733e551a0 Normalize fullwidth punctuation to ASCII across codebase.
Add scripts/normalize_ambiguous_unicode.py; fix corrupted patch_instance_theme_templates.py. Preserves curly quotes in string literals; removes Git homoglyph warnings on .env.example.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 23:42:26 +08:00
dekun 189b27e076 Add live expiry countdown for options positions on instance page and trading hub.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 11:14:30 +08:00
dekun f68197b775 Include options unrealized PnL in OKX instance header realtime PnL total.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 11:05:52 +08:00
dekun 75a64c5d24 Show premium paid on options position card and parse strike/type from instId when OKX omits them.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 10:40:07 +08:00
dekun 43fa1ad1f3 Show OTM options in chain even when ticker has no quotes.
Stop skipping contracts with empty ask, bid, and mark so out-of-the-money strikes remain visible in the list.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 07:28:11 +08:00
dekun 7f225c7407 Estimate missing option ask from mark or intrinsic on chain list.
Deep ITM contracts often have no ask on the book; show mark-based estimates with a tilde and restore breakeven calculations.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 17:50:25 +08:00
dekun 2cfc1a490f Show bid/ask liquidity as price per sheet in options chain.
Display OKX askSz and bidSz beside top-of-book prices in the chain table and order panel using price/sheets format.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 16:28:08 +08:00
dekun 99f13817f8 Add pre-buy expiry breakeven columns to options chain table.
Show estimated expiry balance and distance from index in the chain list and order panel using ask price before opening a position.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 16:21:22 +08:00
dekun 3570a6900e Add OKX options expiry and close breakeven to hub monitor and dashboard.
Expose bePx-based expiry balance and mark-to-close breakeven on positions so monitor and dashboard can show both labels per contract.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 16:10:03 +08:00
dekun 2ad9e049f3 fix(okx): cache options balances and stop SSE from hammering exchange API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 11:15:06 +08:00
dekun 5fdfc67438 fix: use isolated margin for OKX option buys (error 51019)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 10:24:33 +08:00
dekun 75aa4b1391 feat: single-row funds strip on header and system settings page
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 10:09:51 +08:00
dekun e82fd15bb7 feat: options UI scroll layout, stats card, funding balance, and cross-account transfer
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:57:13 +08:00
dekun 090b9c6215 feat: restructure OKX options UI with header funds, settings card, and dual-column layout
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:36:00 +08:00
dekun c1647822fb feat: options sheet sizing, ITM/OTM labels, and 14-day chain view
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:06:45 +08:00
dekun e1c14977e6 fix: OKX option quote requires instFamily with instId
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 08:58:31 +08:00
dekun 05586242f0 fix: OKX options buy/close orders with tick alignment and reduceOnly
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 08:52:18 +08:00
dekun 806bb074ab feat: add OKX options module with dual API, USDT/USDC convert, and docs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 08:17:27 +08:00