Files
qihuo/README.md
T

157 lines
3.8 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 的国内期货监控与复盘 Web 应用,支持开单计划、关键位监控、止盈止损自动跟踪、企业微信推送与统计分析。
## 功能模块
| 模块 | 说明 |
|------|------|
| **开单计划** | 品种、方向、决策区间、止损/止盈;价格进入区间后激活并推送 |
| **关键位监控** | 箱体/收敛突破、阻力/支撑位突破提醒(触发后去重) |
| **交易记录与复盘** | 自动记录止盈/止损结果 |
| **统计分析** | 总交易、胜率,按品种/类型/方向统计 |
| **系统设置** | 修改密码、配置企业微信 Webhook |
## 品种输入
在各表单中输入中文品种名(如「白银」「螺纹钢」),自动联想新浪行情代码及主力合约标识。
## 环境要求
- Ubuntu 20.04+(推荐)
- Python 3.10+
- Node.js(仅 PM2 进程守护需要)
- 网络可访问 `hq.sinajs.cn`(行情)及企业微信 API
## 快速部署(Ubuntu + /opt
```bash
# 克隆仓库后,在项目目录执行一键部署
sudo bash deploy.sh
```
默认安装路径:`/opt/qihuo`,服务端口:`6600`
部署完成后访问:`http://服务器IP:6600`
## 手动部署
### 1. 安装系统依赖
```bash
sudo apt update
sudo apt install -y python3 python3-venv python3-pip git
# PM2(进程守护)
curl -fsSL https://get.pnpm.io/install.sh | sh - # 或直接用 npm
sudo npm install -g pm2
```
### 2. 克隆到 /opt
```bash
sudo mkdir -p /opt
sudo git clone https://git.bz121.com/dekun/qihuo.git /opt/qihuo
sudo chown -R $USER:$USER /opt/qihuo
cd /opt/qihuo
```
### 3. 虚拟环境与依赖
```bash
python3 -m venv venv
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=首次登录密码
WECHAT_WEBHOOK=企业微信机器人地址(可选,也可在页面配置)
```
> 管理员密码首次从 `.env` 写入数据库并哈希存储,之后请在「系统设置」中修改。
### 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
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python app.py
```
## 目录结构
```
qihuo/
├── app.py # 主程序
├── symbols.py # 期货品种映射
├── requirements.txt
├── .env.example
├── deploy.sh # Ubuntu 一键部署
├── ecosystem.config.cjs # PM2 配置
├── static/js/symbol.js # 品种联想
├── templates/ # 页面模板
└── futures.db # SQLite 数据库(运行后生成)
```
## 监控逻辑说明
### 开单计划
1. **待触发**:当前价进入「决策区间 [下限, 上限]」→ 企业微信通知,状态变为「已激活」
2. **已激活**:监控止盈止损直至触发,写入交易记录,计划关闭
### 关键位监控
- 箱体/收敛:突破上沿或跌破下沿各推送一次
- 阻力/支撑:单向突破推送一次
后台线程每 3 秒轮询行情。
## 安全建议
- 部署后立即修改默认密码
- 勿将 `.env` 提交到仓库
- 生产环境建议用 Nginx 反代并配置 HTTPS
- 限制 6600 端口仅内网或 VPN 访问
## 仓库地址
https://git.bz121.com/dekun/qihuo.git
## License
Private / 个人使用