Show five pending trades per page, reveal the upload form only after clicking 复盘, and list saved reviews with image detail above stats.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pure options and hedge plans use separate strategy/entry selects, with auto-filled direction and PnL result including breakeven.
Co-authored-by: Cursor <cursoragent@cursor.com>
Hide deleted rows by history key and contract/close fingerprint so local options_trades imports no longer resurrect them.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop exchange sync for the review page, auto-import closed local options and hedge plans, and match contract-style multi-timeframe upload styling with smaller fonts.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the multi-timeframe journal card visible like contract review instead of hiding it until a row is selected.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add source-type tabs, open an inline journal form from list rows, and match contract-style 5m/15m/1h/4h screenshot slots.
Co-authored-by: Cursor <cursoragent@cursor.com>
Import closed OKX option history and closed hedge plans into one list for journaling, images, and stats without mixing contract reviews.
Co-authored-by: Cursor <cursoragent@cursor.com>
Block mark-as-ask opens, show reference mark when no depth, cap sheets to ask size; leave close paths unchanged. Document in docs/更新文档.md.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the order host out of tbody wipes, sync pick-button labels, and retry/fallback OKX meta under rate limits so live contracts are not reported as missing.
Co-authored-by: Cursor <cursoragent@cursor.com>
Thead rows used a .hidden class with no CSS rule on instance pages, so both header sets stayed visible.
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>
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>
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>
Expose avg_win and avg_loss from stats API and update chart labels and values to match the average-based P/L ratio.
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>
Default to in-the-money view with at-the-money contracts included; update expiry counts and empty states for the active filter.
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>