补充功能说明与独立部署文档,精简 README 为文档入口

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-15 15:30:34 +08:00
parent bea7804d47
commit 613b88f2d3
3 changed files with 681 additions and 142 deletions
+32 -142
View File
@@ -1,128 +1,44 @@
# 国内期货交易监控复盘系统
基于 Flask 的国内期货监控与复盘 Web 应用支持开单计划、关键位监控、止盈止损自动跟踪、企业微信推送与统计分析
基于 Flask 的国内期货**监控 + 模拟持仓 + 复盘** Web 应用支持开单计划、关键位监控、持仓监控、交易记录、复盘 K 线、手续费估算与企业微信推送。
## 功能模块
## 文档
| 文档 | 说明 |
|------|------|
| **[功能说明文档](docs/FEATURES.md)** | 各模块功能、操作逻辑、费率与数据库说明 |
| **[部署文档](docs/DEPLOY.md)** | 一键部署、手动部署、更新、PM2、故障排查 |
## 功能一览
| 模块 | 说明 |
|------|------|
| **开单计划** | 品种、方向、决策区间、止损/止盈;价格进入区间激活并推送 |
| **关键位监控** | 箱体/收敛突破、阻力/支撑突破提醒(触发后去重) |
| **交易记录与复盘** | 自动记录止盈/止损结果 |
| **统计分析** | 总交易、胜率,按品种/类型/方向统计 |
| **系统设置** | 修改密码、配置企业微信 Webhook |
| **开单计划** | 当日决策区间、止损止盈;进入区间激活并推送 |
| **关键位监控** | 箱体/阻力支撑突破提醒,监控历史归档 |
| **持仓监控** | 模拟持仓录入、实时卡片、平仓记入交易记录 |
| **交易记录与复盘** | 平仓记录核对、填入复盘、K 线自动生成 |
| **统计分析** | 胜率、手续费与净盈亏汇总 |
| **手续费配置** | 本地费率表(默认标准×2),可选 AKShare 同步 |
| **系统设置** | 实盘资金、企业微信、改密码、深色/浅色主题 |
## 品种与合约代码(同花顺格式)
## 快速开始
输入中文品种名(如「白银」「螺纹钢」)或同花顺合约代码(如 `ag2606``SR609``IF2606`),系统自动匹配**当前主力月份合约**
| 交易所 | 同花顺示例 | 说明 |
|--------|-----------|------|
| 上期所 / 大商所 / 上期能源 | `ag2606``rb2605``m2609` | 小写品种 + 4 位年月 |
| 郑商所 | `SR609``MA606` | 大写品种 + 3 位年月 |
| 中金所 | `IF2606``IH2606` | 大写品种 + 4 位年月 |
界面展示**同花顺合约代码**(ag2608、IF2606),与看盘软件一致;**行情默认走新浪财经**(免费,普通用户无需 token)。
## 行情说明
| 项目 | 说明 |
|------|------|
| 合约代码 | 同花顺格式,输入中文自动匹配主力月份 |
| 价格数据 | 新浪财经 API(免费) |
| 同花顺 iFinD | 仅机构/付费数据接口用户可用,**普通期货通用户无 refresh_token** |
因此个人用户使用本系统:**看同花顺代码,价格走新浪**,两者在主力合约价格上基本一致,满足监控需求。
## 快速部署(Ubuntu root + /opt/qihuo
**服务器(Ubuntu root**
```bash
# root 登录后执行
cd /opt/qihuo # 或先 git clone 再 bash deploy.sh
bash deploy.sh
cd /opt/qihuo && bash deploy.sh
# 访问 http://<IP>:6600
```
默认安装路径:`/opt/qihuo`,服务端口:`6600`
部署完成后访问:`http://服务器IP:6600`
## 环境要求
- Ubuntu 20.04+(推荐)
- **root 用户**运行(部署目录 `/opt/qihuo`
- Python 3.10+
- Node.js + PM2(进程守护)
- 网络可访问 `hq.sinajs.cn`(行情)及企业微信 API
## 手动部署
### 1. 安装系统依赖
**更新**
```bash
apt update
apt install -y python3 python3-venv python3-pip git nodejs npm
npm install -g pm2
cd /opt/qihuo && git pull && pm2 restart qihuo
```
### 2. 克隆到 /opt/qihuo
详细步骤见 [部署文档](docs/DEPLOY.md)。
```bash
git clone https://git.bz121.com/dekun/qihuo.git /opt/qihuo
cd /opt/qihuo
```
### 3. 虚拟环境与依赖
source venv/bin/activate
pip install -r requirements.txt
```
### 4. 配置环境变量
```bash
cp .env.example .env
# 编辑 .env,至少修改 SECRET_KEY 和 ADMIN_PASSWORD
nano .env
```
`.env` 主要字段:
```env
HOST=0.0.0.0
PORT=6600
SECRET_KEY=随机长字符串
ADMIN_USERNAME=admin
ADMIN_PASSWORD=你的密码
ADMIN_SYNC_FROM_ENV=false
WECHAT_WEBHOOK=企业微信机器人地址(可选)
QUOTE_SOURCE=sina
```
**改密码说明**:账号存在 `futures.db` 里,改 `.env` 后不会自动生效。
- **首次部署**:写好 `ADMIN_USERNAME` / `ADMIN_PASSWORD` 后启动即可。
- **已部署后**:在 `.env``ADMIN_SYNC_FROM_ENV=true`,改密码后 `pm2 restart qihuo`;或在网页「系统设置」改密。
- **忘记密码**`source venv/bin/activate && python reset_admin.py`
普通用户保持 `QUOTE_SOURCE=sina` 即可。
### 5. PM2 启动
```bash
pm2 start ecosystem.config.cjs
pm2 save
pm2 startup # 按提示执行生成的命令,实现开机自启
```
### 6. 常用 PM2 命令
```bash
pm2 status
pm2 logs qihuo
pm2 restart qihuo
pm2 stop qihuo
```
## 本地开发
**本地开发**
```bash
python3 -m venv venv
@@ -132,44 +48,18 @@ cp .env.example .env
python app.py
```
## 目录结构
## 品种与行情
```
qihuo/
├── app.py # 主程序
├── market.py # 同花顺/新浪行情拉取
├── symbols.py # 期货品种与同花顺代码映射
├── requirements.txt
├── .env.example
├── deploy.sh # Ubuntu 一键部署
├── ecosystem.config.cjs # PM2 配置
├── static/js/symbol.js # 品种联想
├── templates/ # 页面模板
└── futures.db # SQLite 数据库(运行后生成)
```
- 合约代码:**同花顺格式**`ag2606``SR609``IF2606`),输入中文自动匹配主力
- 行情:默认**新浪财经**(免费);机构用户可配置同花顺 iFinD token
## 监控逻辑说明
## 环境要求
### 开单计划
- Python 3.10+
- PM2(生产部署)
- 网络可访问 `hq.sinajs.cn`
1. **待触发**:当前价进入「决策区间 [下限, 上限]」→ 企业微信通知,状态变为「已激活」
2. **已激活**:监控止盈止损直至触发,写入交易记录,计划关闭
### 关键位监控
- 箱体/收敛:突破上沿或跌破下沿各推送一次
- 阻力/支撑:单向突破推送一次
后台线程每 3 秒轮询行情。
## 安全建议
- 部署后立即修改默认密码
- 勿将 `.env` 提交到仓库
- 生产环境建议用 Nginx 反代并配置 HTTPS
- 限制 6600 端口仅内网或 VPN 访问
## 仓库地址
## 仓库
https://git.bz121.com/dekun/qihuo.git