Calendar shows daily closed trade count and PnL with emotion-day highlighting; day click loads review-first trade list. Use exchange-only entry average and improve vnpy position sync after CTP reconnect.
Stop clipping pos cards and match trailing-BE stop detection for the badge. On tablet, align order and live-trading panels to equal height with internal scroll; keep desktop positions scrollable after three cards.
Co-authored-by: Cursor <cursoragent@cursor.com>
Reduce poll pressure on phone/tablet, cache key prices, and handle live API errors gracefully. Rework mobile position and close cards with inline direction, compact P/L line, and detail modal.
Co-authored-by: Cursor <cursoragent@cursor.com>
Mobile gets compact trade/records UI with detail modals; static assets are cache-busted and settings cards fold correctly on tablet grid layout.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace percent-based risk with system fixed amount, support market/breakout add modes only, allow pending submission outside trading hours, and fix short breakout geometry plus route registration.
Co-authored-by: Cursor <cursoragent@cursor.com>
Read margin ratios from CTP instrument query and margin-rate API instead of vnpy ContractData (which lacks ratios). Keep occupied margin on position UseMargin; use per-lot max rate for recommend table.
Co-authored-by: Cursor <cursoragent@cursor.com>
Recalculate tradable symbol budgets from remaining margin after CTP usage and refresh the table on position updates.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use modal for monitor upsert with trailing checkbox, refresh CTP tick every second, and push full snapshot after orders.
Co-authored-by: Cursor <cursoragent@cursor.com>
Match pending monitors to filled positions, reconcile pending on fast refresh, and refresh CTP before promote.
Co-authored-by: Cursor <cursoragent@cursor.com>
Unpack margin_one_lot correctly for fixed-amount sizing, use exchange klines for breakout detection, and notify on pending auto orders.
Co-authored-by: Cursor <cursoragent@cursor.com>
Correct main_code order in product refresh, refresh on CTP connect, and limit reconnect to trading or premarket windows.
Co-authored-by: Cursor <cursoragent@cursor.com>
Document per-module order logic, risk rules, and WeChat message templates with a central INDEX for navigation.
Co-authored-by: Cursor <cursoragent@cursor.com>
Key monitors use 5m close triggers with WeChat alerts and box/convergence auto orders; add pending-order worker, structured WeChat notify, AI settings/messages, session clock, CTP margin sizing, and dual-layer position limits.
Co-authored-by: Cursor <cursoragent@cursor.com>
When SimNow or live CTP is disconnected, the tradable-products section shows four whitelisted symbols and calculates max lots from a fixed 100,000 capital instead of reference capital in settings.
Co-authored-by: Cursor <cursoragent@cursor.com>
When SimNow or live CTP is disconnected, default to the four-product whitelist regardless of reference capital. Trailing breakeven defaults off; when enabled hide take-profit and risk-reward, monitor exits via trailing stop only. Document both behaviors in TRADING.md and FEATURES.md.
Co-authored-by: Cursor <cursoragent@cursor.com>
Mark tradable varieties with a night tag; during 21:00-02:30 filter out index futures and other products without night sessions from symbol picker and recommend list.
Co-authored-by: Cursor <cursoragent@cursor.com>
When the exchange rejects or cancels an order, close local pending monitors once the order leaves CTP active list instead of waiting for the full timeout.
Co-authored-by: Cursor <cursoragent@cursor.com>