dekun
631aa2c0ab
Add CTP auto-connect toggle to stop off-hours reconnect attempts.
...
When disabled, disconnect immediately and skip auto-reconnect, premarket connect, and TCP probes that fail outside SimNow trading hours.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 18:53:49 +08:00
dekun
3a150dd3d6
Implement CTP-authoritative trading UI with event-driven state.
...
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 >
2026-06-26 18:12:11 +08:00
dekun
4ef33a367f
Fix CTP exchange routing for non-SHFE contracts and duplicate trade closes.
...
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 >
2026-06-26 14:06:49 +08:00
dekun
382a9a0e14
Use Sina-only market K-lines and editable admin login synced to .env.
...
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 >
2026-06-26 13:53:12 +08:00
dekun
6905373401
Make settings cards collapsible and tighten backup layout.
...
All settings sections fold by default with persisted state; backup and password sit in one compact row.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 13:10:43 +08:00
dekun
98239d29c1
Add automatic database backup with download and restore docs.
...
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 >
2026-06-26 13:04:48 +08:00
dekun
508d85a282
Fix SQLite lock errors on /api/stats under concurrent writes.
...
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 >
2026-06-26 12:23:33 +08:00
dekun
d3955309d9
Persist CTP margin, ratio, and fees to DB; use exchange commission in trade logs.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 11:36:56 +08:00
dekun
9a55c61678
Align position margin with account balance and show deducted open commission only.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 11:26:41 +08:00
dekun
038eb9a403
Use CTP contract margin rates for position margin and ratio display.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 11:14:01 +08:00
dekun
7a4a3f08e5
Fix slow CTP position sync after restart and link positions to 15m K-line.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 11:05:13 +08:00
dekun
deb9501cbe
Show product name, main contract badge, and exchange on position cards.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 10:55:37 +08:00
dekun
42f2dad52a
Remove contract profile from navigation and retire its routes.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 03:32:30 +08:00
dekun
cababd67f5
Reduce navigation flash with instant theme background and view transitions.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 03:26:57 +08:00
dekun
aaf69329cb
Use English tagline and open daily K-line when jumping from tradable symbols.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 03:23:52 +08:00
dekun
4eb5709d71
Rebrand product and enhance tradable symbols table with spec columns and K-line links.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 03:18:42 +08:00
dekun
ab9987e4c7
Add personal license agreement and rename product section to tradable symbols.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 02:52:45 +08:00
dekun
7b60f0dce5
Update documentation to match current product features.
...
Rewrite module docs for order monitor, CTP sync, and stats; remove obsolete simulated-position and UI descriptions.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 02:08:01 +08:00
dekun
bdfa21def8
Rename positions nav to order monitor and set as default landing page.
...
Remove stats recalculate button; login and home now open /positions without affecting refresh on other routes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 01:51:22 +08:00
dekun
1cc0cd5f8d
Flatten records visuals and show stats summary in one row.
...
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 >
2026-06-26 01:41:35 +08:00
dekun
64adce0e24
Flatten records page styling to match outer card background.
...
Use card-bg for equity curve and trade table instead of nested inner card colors.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 01:35:50 +08:00
dekun
f457e7d6c9
Fix trade records table scroll with sticky header and themed background.
...
Use card CSS variables for 10-row viewport, sticky column headers, and dark/light theme sync.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 01:31:06 +08:00
dekun
aad88a9e98
Add industry filter to recommendations and fix verify button width.
...
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 >
2026-06-26 01:21:53 +08:00
dekun
e5f675c6ca
Sync equity curve with card theme and keep trade actions on one row.
...
Use CSS variables for chart colors with dark/light auto-switch; prevent trade action buttons from wrapping.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 01:11:21 +08:00
dekun
eb4414f741
Fix trade sync when get_all_trades returns a list.
...
Handle both dict and list from vnpy so records page CTP sync no longer warns.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 00:58:16 +08:00
dekun
7133a0e448
Fix CTP vnctptd segfault restart loop by serializing reconnect.
...
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 >
2026-06-26 00:49:17 +08:00
dekun
9f48f22d16
Gate order cancel to trading hours and sync trade logs from CTP.
...
Disable cancel UI outside sessions, query exchange fills for records, and label local vs counterparty rows.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 00:35:51 +08:00
dekun
a23f2c80ca
Track open orders as pending until CTP fill, with cancel and timeout.
...
Add configurable pending timeout in settings and clearer CTP password save feedback.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-26 00:05:45 +08:00
dekun
7ea8fb6301
Remove pm2 300M memory restart limit for 8GB server
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 18:04:17 +08:00
dekun
ca541d5fc3
Auto-reconnect CTP with new front-end addresses after saving settings
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 17:51:18 +08:00
dekun
b641a4eaa0
Expand recommend table with gap, daily stats, and client-side sorting
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 17:36:31 +08:00
dekun
a56370d2af
Fix positions page hang by moving recommend refresh to background
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 17:29:10 +08:00
dekun
04b6f5e72d
Add daily trend status to product recommendations with breakout priority
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 17:25:34 +08:00
dekun
aba67a3d16
Compact CTP settings form into 3-row grid per card
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 17:16:52 +08:00
dekun
47dd946d66
fix: CTP 设置 SimNow/实盘卡片改为左右并列显示
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 17:11:54 +08:00
dekun
480000e195
feat: 系统设置 CTP 连接拆分为 SimNow/实盘可折叠卡片
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 17:09:56 +08:00
dekun
259d9e812d
fix: CTP登录冷却持久化到数据库,取消页面自动连并刷新JS缓存
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 17:01:36 +08:00
dekun
9c8b92d2bd
fix: 登录冷却期间不再显示 CTP 连接中,优化前端状态同步
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 16:57:06 +08:00
dekun
4aebc2df49
fix: SimNow 登录封禁(错误75)时冷却退避,停止自动重连
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 16:50:09 +08:00
dekun
5a6c89c662
feat: CTP/SimNow 配置迁入系统设置,登录失败即时报错
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 16:46:01 +08:00
dekun
72361233a0
fix: CTP重连前探测前置可达性,失败时关闭网关并明确报错
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 16:30:35 +08:00
dekun
240fbe7994
feat: 交易记录增加保证金占比与最新资金,上方展示资金曲线
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 16:17:22 +08:00
dekun
649c064c2f
feat: 期货下单写入DB来源与开仓时间,CTP同步均价保证金现价
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 15:59:15 +08:00
dekun
0741997818
fix: 持仓手数均价分列、止损止盈显示金额、CTP开仓时间含OpenTime
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 15:48:52 +08:00
dekun
de74ffe5b9
fix: 持仓卡片布局优化、闭盘禁用平仓、固定金额step修复
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 15:41:35 +08:00
dekun
9772f3d986
feat: 计仓改为固定手数/固定金额,推荐过滤与CTP保证金,下单与持仓UI优化
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 15:31:34 +08:00
dekun
c302e1f3ca
fix: avoid SQLite lock on fast position poll by skipping DB writes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 15:14:22 +08:00
dekun
12a30d4f0c
fix: ctp_list_positions pass refresh_margin to fix empty positions
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 15:09:23 +08:00
dekun
4d60b958ce
fix: 开仓时间读CTP OpenDate,止盈止损持久化且重启不丢失
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 15:05:58 +08:00
dekun
7daed9bd3a
fix: 重启后立即读库展示持仓,CTP异步重连不再阻塞
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-25 14:57:39 +08:00