Files
qihuo/docs/FEATURES.md
T

276 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 功能说明文档
国内期货 · 交易复盘系统(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](./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](./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 访问范围
---
## 仓库
https://git.bz121.com/dekun/qihuo.git