fb61153a4d
Co-authored-by: Cursor <cursoragent@cursor.com>
4.5 KiB
4.5 KiB
国内期货交易监控复盘系统
基于 Flask 的国内期货监控与复盘 Web 应用,支持开单计划、关键位监控、止盈止损自动跟踪、企业微信推送与统计分析。
功能模块
| 模块 | 说明 |
|---|---|
| 开单计划 | 品种、方向、决策区间、止损/止盈;价格进入区间后激活并推送 |
| 关键位监控 | 箱体/收敛突破、阻力/支撑位突破提醒(触发后去重) |
| 交易记录与复盘 | 自动记录止盈/止损结果 |
| 统计分析 | 总交易、胜率,按品种/类型/方向统计 |
| 系统设置 | 修改密码、配置企业微信 Webhook |
品种与合约代码(同花顺格式)
输入中文品种名(如「白银」「螺纹钢」)或同花顺合约代码(如 ag2606、SR609、IF2606),系统自动匹配当前主力月份合约。
| 交易所 | 同花顺示例 | 说明 |
|---|---|---|
| 上期所 / 大商所 / 上期能源 | ag2606、rb2605、m2609 |
小写品种 + 4 位年月 |
| 郑商所 | SR609、MA606 |
大写品种 + 3 位年月 |
| 中金所 | IF2606、IH2606 |
大写品种 + 4 位年月 |
界面展示同花顺代码;行情优先走同花顺 iFinD HTTP API,未配置或失败时自动回退新浪。
快速部署(Ubuntu root + /opt/qihuo)
# root 登录后执行
cd /opt/qihuo # 或先 git clone 再 bash deploy.sh
bash deploy.sh
默认安装路径:/opt/qihuo,服务端口:6600。
部署完成后访问:http://服务器IP:6600
环境要求
- Ubuntu 20.04+(推荐)
- root 用户运行(部署目录
/opt/qihuo) - Python 3.10+
- Node.js + PM2(进程守护)
- 网络可访问
hq.sinajs.cn(行情)及企业微信 API
手动部署
1. 安装系统依赖
apt update
apt install -y python3 python3-venv python3-pip git nodejs npm
npm install -g pm2
2. 克隆到 /opt/qihuo
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 主要字段:
HOST=0.0.0.0
PORT=6600
SECRET_KEY=随机长字符串
ADMIN_USERNAME=admin
ADMIN_PASSWORD=首次登录密码
WECHAT_WEBHOOK=企业微信机器人地址(可选,也可在页面配置)
QUOTE_SOURCE=auto
THS_REFRESH_TOKEN=同花顺 refresh_token(可选,也可在页面配置)
同花顺行情需在 同花顺数据接口 申请 iFinD HTTP 权限,在「超级命令 → 工具」获取
refresh_token。未配置时自动使用新浪行情。
管理员密码首次从
.env写入数据库并哈希存储,之后请在「系统设置」中修改。
5. PM2 启动
pm2 start ecosystem.config.cjs
pm2 save
pm2 startup # 按提示执行生成的命令,实现开机自启
6. 常用 PM2 命令
pm2 status
pm2 logs qihuo
pm2 restart qihuo
pm2 stop qihuo
本地开发
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
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 数据库(运行后生成)
监控逻辑说明
开单计划
- 待触发:当前价进入「决策区间 [下限, 上限]」→ 企业微信通知,状态变为「已激活」
- 已激活:监控止盈止损直至触发,写入交易记录,计划关闭
关键位监控
- 箱体/收敛:突破上沿或跌破下沿各推送一次
- 阻力/支撑:单向突破推送一次
后台线程每 3 秒轮询行情。
安全建议
- 部署后立即修改默认密码
- 勿将
.env提交到仓库 - 生产环境建议用 Nginx 反代并配置 HTTPS
- 限制 6600 端口仅内网或 VPN 访问
仓库地址
https://git.bz121.com/dekun/qihuo.git
License
Private / 个人使用