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>
Turbo swapping broke page CSS/JS across stats, settings, market, and trade. Restore full page loads; keep external base.css and link prefetch.
Co-authored-by: Cursor <cursoragent@cursor.com>
Extract settings.js, preserve inline scripts from raw HTML (DOMParser strips them), and load trade config via JSON script tag.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wait for page CSS before swapping content, hoist inline styles to head, and boot page scripts immediately when DOM markers exist.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove view-transition lag, swap main content without full reload, prefetch pages, and tear down SSE timers on leave.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stop showing DB pending orders while disconnected, invalidate session cache when CTP is down, and add a local DB clear script without embedded credentials.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add in-memory order/position books fed by CTP events, split active orders above positions in the UI, tick-triggered local SL/TP, and 30-second full calibration.
Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve CZCE/DCE symbols to the correct exchange for orders, dedupe stop-loss closes and trade logs, and rely on CTP sync for authoritative records.
Co-authored-by: Cursor <cursoragent@cursor.com>
Market page uses Sina for quotes and bars with an auto-follow toggle and incremental chart updates while panning. Settings lets users change username and password, persisting to the database and .env.
Co-authored-by: Cursor <cursoragent@cursor.com>
All settings sections fold by default with persisted state; backup and password sit in one compact row.
Co-authored-by: Cursor <cursoragent@cursor.com>
Back up futures.db and uploads to /root/qihuo_backup on a daily schedule, expose backup downloads in settings, and document cross-server restore.
Co-authored-by: Cursor <cursoragent@cursor.com>
Retry stats cache commits, serialize refresh, and fall back to read-only compute so the stats API does not return 500 when the database is briefly locked.
Co-authored-by: Cursor <cursoragent@cursor.com>
Rewrite module docs for order monitor, CTP sync, and stats; remove obsolete simulated-position and UI descriptions.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove stats recalculate button; login and home now open /positions without affecting refresh on other routes.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use transparent chart/table surfaces on records page; merge 14 stat metrics into a single compact card row.
Co-authored-by: Cursor <cursoragent@cursor.com>
Show category, turnover, and per-industry counts; clarify volume is in lots. Prevent trade-save button from stretching full column width.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use CSS variables for chart colors with dark/light auto-switch; prevent trade action buttons from wrapping.
Co-authored-by: Cursor <cursoragent@cursor.com>
Skip duplicate auto-connect when TD is logged in, stop aggressive query_position hooks, and throttle position refresh.
Co-authored-by: Cursor <cursoragent@cursor.com>
Disable cancel UI outside sessions, query exchange fills for records, and label local vs counterparty rows.
Co-authored-by: Cursor <cursoragent@cursor.com>