7b60f0dce5
Rewrite module docs for order monitor, CTP sync, and stats; remove obsolete simulated-position and UI descriptions. Co-authored-by: Cursor <cursoragent@cursor.com>
7.5 KiB
7.5 KiB
功能说明文档
国内期货交易监控复盘系统(Flask + SQLite + vnpy_ctp + PM2)。
系统概览
| 项目 | 说明 |
|---|---|
| 访问端口 | 默认 6600 |
| 默认首页 | 登录后 / → 下单监控 /positions |
| 数据存储 | SQLite futures.db |
| 行情 | 默认新浪;可选同花顺 iFinD |
| 合约代码 | 同花顺格式(ag2606、SR609、IF2606) |
| 主题 | 页头深色 / 浅色切换 |
导航结构
| 菜单 | 路径 | 可关闭 |
|---|---|---|
| 下单监控 | /positions |
否(默认首页) |
| 策略交易 | /strategy |
是 |
| 开单计划 | /plans |
是 |
| 关键位监控 | /keys |
否 |
| 行情 K 线 | /market |
是 |
| 交易记录与复盘 | /records |
否 |
| 统计分析 | /stats |
否 |
| 手续费配置 | /fees |
是 |
| 品种简介 | /contract |
是 |
| 系统设置 | /settings |
否 |
关闭项在 系统设置 → 导航显示 配置;直接访问 URL 会提示并跳回下单监控。
下单监控
路径:/positions
顶栏
- 模拟盘 / 实盘模式、CTP 连接状态、风险状态
- 权益、可用资金(连接 CTP 后来自柜台)
- 连接 CTP / 重连;断线自动重连;开盘前 30 分钟自动连接
期货下单
- 品种联想(仅推荐可开品种或全部主力,取决于计仓模式)
- 方向、手数(固定手数 / 固定金额计仓)
- 限价 / 市价(FAK)、止盈、止损
- 非交易时段禁止报单
当前持仓
- 开仓委托先显示 挂单中,成交后显示为 active 持仓
- 挂单超时自动撤单;交易时段内可 手动撤单
- 持仓卡片:浮盈亏、保证金、止盈止损、平仓等
- 数据经 SSE 推送,无需整页刷新
品种推荐
- 按当前权益与保证金上限筛选可开品种
- 行业分类、走势(多头/空头/震荡/转多/转空)、跳空、昨日成交量(手)、成交额
- 支持行业筛选与多字段排序
- 每日后台刷新缓存
详见 TRADING.md。
策略交易
路径:/strategy、/strategy/records
- 趋势回调自动补仓、顺势加仓等(需 CTP 已连接且有 active 持仓监控)
- 策略记录单独归档
开单计划
路径:/plans
- 录入当日计划:主力合约、方向、决策区间、止损、止盈
- 状态:
planned→active→closed/expired - 现价进入区间 → 企业微信推送并激活
- 激活后监控止盈/止损,触发写入
trade_records并关闭计划 - 列表约 1 秒轮询
/api/plan_prices
关键位监控
路径:/keys
- 类型:箱体突破、收敛突破、关键阻力、关键支撑
- 突破规则推送(去重);删除后归档至监控历史
- 列表约 1 秒轮询
/api/key_prices
行情 K 线
路径:/market
- 多周期 K 线(TradingView Lightweight Charts)
- 支持 CTP 连接后部分数据增强
- 需在导航中开启
交易记录与复盘
路径:/records(/trades 重定向至此)
资金曲线
- 页顶 Lightweight Charts 资金曲线
- 随深色/浅色主题自动切换颜色
交易记录
- CTP 已连接 时打开页面自动同步柜台成交(来源「柜台」)
- 程序写入的记录来源为「本地」,可核对、删除
- 表头固定,表体约 10 行高度内滚动
- 修改/核对开关:开启后可编辑并「核对修改」
- 填入复盘:预填复盘表单
主要字段:品种、类型、方向、成交价、止损/止盈、手数、保证金、盈亏、手续费、净盈亏、最新资金、结果。
复盘上传 / 复盘历史
- 手动复盘表单、截图、自动 K 线图(matplotlib)
- 按本日/本周/本月/自定义日期筛选历史
统计分析
路径:/stats
汇总指标(单行卡片)
总交易次数、胜率、平均盈利/亏损、盈亏比、连续亏损、最大回撤、最大盈亏金额及占比、累计手续费、情绪单数量/占比。
进入页面自动加载(/api/stats),无手动「重新计算」按钮。
分项统计
下拉选择维度:按时间、周、月、品种、手续费、方向、交易类型、情绪单等,表格展示分组指标。
数据来源:trade_logs(主)+ review_records(情绪单等)。
手续费配置
路径:/fees
- 默认:连接 CTP 后同步柜台费率(
source=ctp) - 备选:本地
data/fee_rates.json、AKShare 参考表 × 倍率 - 详见 FEES.md
品种简介
路径:/contract
- 查询合约规格(东方财富 + 新浪补充)
- API:
GET /api/contract_profile?symbol=...
系统设置
路径:/settings
| 功能 | 说明 |
|---|---|
| 导航显示 | 开关可选菜单项 |
| 交易模式 | SimNow / 实盘 CTP |
| 计仓模式 | 固定手数、固定金额 |
| 保证金上限、移动保本、挂单超时 | 见表单说明 |
| CTP 连接 | SimNow / 实盘前置与账号(可覆盖 .env) |
| 参考资金 | CTP 未连接时用于推荐与估算 |
| 企业微信 Webhook | 计划/关键位推送 |
| 修改密码 | 管理员密码 |
| 深色/浅色主题 | 页头切换 |
忘记密码:python reset_admin.py
品种与行情
合约代码格式
| 交易所 | 示例 |
|---|---|
| 上期所 / 大商所 / 能源 | ag2606、rb2605(小写+4位年月) |
| 郑商所 | SR609、MA606(大写+3位年月) |
| 中金所 | IF2606 |
行情源
| 配置 | 说明 |
|---|---|
QUOTE_SOURCE=sina |
默认新浪 |
QUOTE_SOURCE=ths |
iFinD token |
QUOTE_SOURCE=auto |
有 token 优先同花顺 |
数据库表(简要)
| 表名 | 用途 |
|---|---|
settings |
密码、微信、资金、导航、交易参数 |
order_plans |
开单计划 |
key_monitors |
关键位监控 |
trade_logs |
平仓交易记录(含 source、ctp_trade_key) |
review_records |
复盘 |
trade_records |
计划自动止盈止损记录 |
fee_rates |
手续费缓存 |
product_recommend_cache |
品种推荐缓存 |
stats_cache |
统计缓存 |
数据库文件:项目根目录 futures.db。
后台任务
| 任务 | 说明 |
|---|---|
| 计划/关键位轮询 | 约 3 秒,触发判断与微信推送 |
| 品种推荐刷新 | 每日 + 按需 |
| 持仓 SSE | 前端订阅 /api/trading/stream |
| CTP 开盘前连接 | 默认开盘前 30 分钟 |
| 挂单超时撤单 | 可配置分钟数 |
| 止盈止损守护 | CTP 持仓监控线程 |
核心文件
qihuo/
├── app.py # 主路由、计划/关键位/记录/统计
├── install_trading.py # 下单、推荐、策略路由
├── vnpy_bridge.py # CTP 连接、报单、持仓
├── ctp_trade_sync.py # 柜台成交同步到 trade_logs
├── product_recommend.py # 品种推荐计算
├── stats_engine.py # 统计分析
├── fee_specs.py / ctp_fee_sync.py
├── market.py / kline_chart.py
├── templates/ static/
└── docs/
安全提示
- 部署后立即修改默认密码
- 勿将
.env提交仓库 - 生产建议 Nginx + HTTPS,限制 6600 访问范围