重构期货监控系统:多页面导航、开单计划、Ubuntu PM2 部署
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
# 国内期货交易监控复盘系统
|
||||
|
||||
基于 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 / 个人使用
|
||||
Reference in New Issue
Block a user