Files
qihuo/docs/FEATURES.md
T
dekun 169136dd4a Add modular docs with index, WeChat templates, and AI guide.
Document per-module order logic, risk rules, and WeChat message templates with a central INDEX for navigation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 10:49:10 +08:00

288 lines
9.3 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)。
> **分板块详细说明(含下单逻辑、风控、微信模板)** → [INDEX.md](./INDEX.md)
> 重点:[WECHAT.md](./WECHAT.md) · [AI.md](./AI.md) · [RISK.md](./RISK.md)
---
## 系统概览
| 项目 | 说明 |
|------|------|
| 访问端口 | 默认 `6600` |
| 默认首页 | 登录后 `/`**下单监控** `/positions` |
| 数据存储 | SQLite `futures.db` |
| 行情 | 默认新浪;可选同花顺 iFinD |
| 合约代码 | 同花顺格式(`ag2606``SR609``IF2606` |
| 主题 | 页头深色 / 浅色切换 |
### 导航结构
| 菜单 | 路径 | 可关闭 |
|------|------|--------|
| **下单监控** | `/positions` | 否(默认首页) |
| 策略交易 | `/strategy` | 是 |
| 开单计划 | `/plans` | 是 |
| 关键位监控 | `/keys` | 否 |
| 行情 K 线 | `/market` | 是 |
| 交易记录与复盘 | `/records` | 否 |
| 统计分析 | `/stats` | 否 |
| AI 分析 | `/ai` | 是 |
| 手续费配置 | `/fees` | 是 |
| 系统设置 | `/settings` | 否 |
关闭项在 **系统设置 → 导航显示** 配置;直接访问 URL 会提示并跳回下单监控。
---
## 下单监控
**路径**`/positions` · 详见 [ORDER_MONITOR.md](./ORDER_MONITOR.md)
### 顶栏
- 模拟盘 / 实盘模式、CTP 连接状态、风险状态
- 权益、可用资金(连接 CTP 后来自柜台)
- **连接 CTP** / 重连;断线自动重连;开盘前 30 分钟自动连接
### 期货下单
- 品种联想(可开仓品种表与下拉一致;小账户或 CTP 未连接时仅四品种,见 [TRADING.md](./TRADING.md)
- 方向、手数(固定手数 / 固定金额计仓)
- 限价 / 市价(FAK)、止盈、止损
- **移动保本**(默认关闭):开启后隐藏止盈与盈亏比,仅填止损;由移动止损监控平仓,不设固定止盈
- 非交易时段禁止报单
### 当前持仓
- 开仓委托先显示 **挂单中**,成交后显示为 active 持仓
- 挂单超时自动撤单;交易时段内可 **手动撤单**
- 持仓卡片:浮盈亏、保证金、止盈止损、平仓等
- 数据经 SSE 推送,无需整页刷新
### 可开仓品种
- 按当前权益与保证金上限筛选可开品种,养成开仓纪律、限制仓位
- **权益 ≤20 万** 或 **CTP 未连接** 时,仅展示并可交易:玉米、豆粕、甲醇、螺纹钢(SimNow/实盘一致);未连接时最大手数按 **10 万权益** 估算
- **夜盘时段** 仅显示有夜盘品种,并标注「夜盘」
- **行业分类**、走势(多头/空头/震荡/转多/转空)、跳空、昨日成交量(手)、成交额
- 支持行业筛选与多字段排序
- 每日后台刷新缓存
详见 [TRADING.md](./TRADING.md)。
---
## 策略交易
**路径**`/strategy``/strategy/records` · 详见 [STRATEGY.md](./STRATEGY.md)
- 趋势回调自动补仓、顺势加仓等(需 CTP 已连接且有 active 持仓监控)
- 策略记录单独归档
---
## 开单计划
**路径**`/plans` · 详见 [PLANS.md](./PLANS.md)
- 录入当日计划:主力合约、方向、决策区间、止损、止盈
- 状态:`planned``active``closed` / `expired`
- 现价进入区间 → 企业微信推送并激活
- 激活后监控止盈/止损,触发写入 `trade_records` 并关闭计划
- 列表约 1 秒轮询 `/api/plan_prices`
---
## 关键位监控
**路径**`/keys` · 详细规则见 [KEY_MONITORS.md](./KEY_MONITORS.md)
- **箱体突破 / 收敛突破**:5m 收盘突破 → 顺势/反转自动市价单;止损=突破 K±2 跳;盈亏比默认 2(可改);可选移动保本(默认 3R 止盈)
- **关键支阻区**:上沿阻力 + 下沿支撑;5m 收盘突破 → 微信提醒最多 3 次(间隔约 5 分钟),不自动开仓
- 删除后归档至监控历史;列表约 1 秒轮询 `/api/key_prices`
---
## 行情 K 线
**路径**`/market` · 详见 [MARKET.md](./MARKET.md)
- 多周期 K 线(TradingView Lightweight Charts
- 支持 CTP 连接后部分数据增强
- 需在导航中开启
---
## 交易记录与复盘
**路径**`/records``/trades` 重定向至此) · 详见 [RECORDS.md](./RECORDS.md)
### 资金曲线
- 页顶 Lightweight Charts 资金曲线
- 随深色/浅色主题自动切换颜色
### 交易记录
- **CTP 已连接** 时打开页面自动同步柜台成交(来源「柜台」)
- 程序写入的记录来源为「本地」,可核对、删除
- 表头固定,表体约 10 行高度内滚动
- **修改/核对开关**:开启后可编辑并「核对修改」
- **填入复盘**:预填复盘表单
主要字段:品种、类型、方向、成交价、止损/止盈、手数、保证金、盈亏、手续费、净盈亏、最新资金、结果。
### 复盘上传 / 复盘历史
- 手动复盘表单、截图、自动 K 线图(matplotlib
- 按本日/本周/本月/自定义日期筛选历史
---
## 统计分析
**路径**`/stats` · 详见 [STATS.md](./STATS.md)
### 汇总指标(单行卡片)
总交易次数、胜率、平均盈利/亏损、盈亏比、连续亏损、最大回撤、最大盈亏金额及占比、累计手续费、情绪单数量/占比。
进入页面自动加载(`/api/stats`),无手动「重新计算」按钮。
### 分项统计
下拉选择维度:按时间、周、月、品种、手续费、方向、交易类型、情绪单等,表格展示分组指标。
数据来源:`trade_logs`(主)+ `review_records`(情绪单等)。
---
## AI 分析
**路径**`/ai` · 详见 [AI.md](./AI.md)
- 开仓/平仓/关键位成交后后台 AI 复盘(Ollama 或 OpenAI 兼容 API
- 日终持仓与交易报告(可推微信)
- 消息存档于 `/ai` 页面;配置见系统设置 → AI 分析
---
## 手续费配置
**路径**`/fees`
- **默认**:连接 CTP 后同步柜台费率(`source=ctp`
- 备选:本地 `data/fee_rates.json`、AKShare 参考表 × 倍率
- 详见 [FEES.md](./FEES.md)
---
## 系统设置
**路径**`/settings` · 详见 [SETTINGS.md](./SETTINGS.md)
| 功能 | 说明 |
|------|------|
| 导航显示 | 开关可选菜单项 |
| 交易模式 | SimNow / 实盘 CTP |
| 计仓模式 | 固定手数、固定金额 |
| 保证金上限、移动保本缓冲、挂单超时 | 保证金上限默认 30%;移动保本缓冲为达 1R 后止损相对开仓价的跳数(默认 2 跳) |
| CTP 连接 | SimNow / 实盘前置与账号(可覆盖 `.env` |
| 参考资金 | CTP 未连接时用于可开仓筛选与估算 |
| 企业微信 Webhook | 计划/关键位/交易/AI 推送 · 见 [WECHAT.md](./WECHAT.md) |
| 登录账号 | 用户名/密码,同步写入 `.env` |
| 数据备份与恢复 | 自动/手动备份、下载压缩包、恢复说明 |
| 深色/浅色主题 | 页头切换 |
备份详情见 [BACKUP.md](./BACKUP.md)。
忘记密码:`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 持仓监控线程 |
| 数据库自动备份 | 每日定时(默认 03:00)写入 `/root/qihuo_backup` |
---
## 核心文件
```
qihuo/
├── app.py # 主路由、计划/关键位/记录/统计
├── install_trading.py # 下单、可开仓品种、策略路由
├── vnpy_bridge.py # CTP 连接、报单、持仓
├── ctp_trade_sync.py # 柜台成交同步到 trade_logs
├── product_recommend.py # 可开仓品种计算
├── stats_engine.py # 统计分析
├── db_backup.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