Files
2026-05-21 17:51:21 +08:00

145 lines
8.7 KiB
Markdown
Raw Permalink 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.
# 复盘交易系统(crypto_monitor_user
本仓库为 **多交易所 USDT 永续** 的下单监控、关键位监控与交易复盘工具集:四个子项目分别对接 **Binance、Gate.io(主号)、Gate.io(机器人/趋势策略)、OKX**,共享相似的 Flask 架构与本地 SQLite 记账思路,可按账户独立部署、独立端口运行。
**远程仓库(克隆地址)**[https://git.bz121.com/dekun/crypto_monitor_user.git](https://git.bz121.com/dekun/crypto_monitor_user.git)
```bash
git clone https://git.bz121.com/dekun/crypto_monitor_user.git
cd crypto_monitor_user
```
### 一键环境部署
| 系统 | 命令 |
|------|------|
| **Windows** | 双击根目录 **`一键部署.bat`**,或 `.\deploy\setup_env.ps1` |
| **Linux / macOS** | `bash deploy/setup_env.sh` |
会为各子项目创建 `.venv`、安装依赖、从 `.env.example` 生成 `.env`(不覆盖已有)。详见 **[deploy/README.md](./deploy/README.md)**。
---
## 一、仓库目录一览
| 目录 | 交易所 / 角色 | 说明文档 |
|------|-----------------|----------|
| `crypto_monitor_binance/` | Binance USDT-M 永续 | [部署文档.md](./crypto_monitor_binance/部署文档.md) · [README.md](./crypto_monitor_binance/README.md) |
| `crypto_monitor_gate/` | Gate.io 永续(主号) | [部署文档.md](./crypto_monitor_gate/部署文档.md) |
| `crypto_monitor_gate_bot/` | Gate.io 永续(机器人;含趋势回调等) | [部署文档.md](./crypto_monitor_gate_bot/部署文档.md) · [趋势回调策略说明.md](./crypto_monitor_gate_bot/趋势回调策略说明.md) |
| `crypto_monitor_okx/` | OKX 永续 | [部署文档.md](./crypto_monitor_okx/部署文档.md) |
| `manual_trading_hub/` | 多账户中控(监控 + 紧急全平,**不参与开仓**) | [README.md](./manual_trading_hub/README.md) · [部署文档.md](./manual_trading_hub/部署文档.md) · [scripts/后台运行-Ubuntu.md](./manual_trading_hub/scripts/后台运行-Ubuntu.md) |
前四列为四个 **`crypto_monitor_*`** 交易/监控应用;`manual_trading_hub` 与四者 **进程独立**,无需改四者代码即可并行使用。
---
## 二、四个 `crypto_monitor_*` 子项目:共同点
- **技术栈**Python 3.10+、`Flask` Web、`ccxt` 调交易所 API、本地 SQLite(默认 `crypto.db`)等。
- **能力类型**(各所细节见各自 README / 部署文档):
- **关键位监控**、**下单监控**(含风控与移动保本等逻辑)、**交易复盘**;
- **实盘(可选)**:在对应 `.env` 中开启 `LIVE_TRADING_ENABLED=true` 并配置各所 API 后,由程序发起真实委托(请务必理解风险并做好权限与 IP 白名单控制)。
- **网络**:若本机直连交易所不稳定,可通过 **SSH 动态转发 SOCKS** 或 HTTP/S 代理;经 SOCKS 时依赖中需包含 **`PySocks`**(各《部署文档》中有说明)。
- **进程托管**Linux 上常用 **PM2** 托管 `app.py`;各目录内一般有 `ecosystem.config.cjs` 或文档中的等价命令。
---
## 三、四个子项目:差异速查
| 项目 | 环境变量前缀(示例) | 典型用途区分 |
|------|----------------------|--------------|
| `crypto_monitor_binance` | `BINANCE_*` | 币安 U 本位永续;止盈止损以 `STOP_MARKET` / `TAKE_PROFIT_MARKET` 等与币安规则对齐 |
| `crypto_monitor_gate` | `GATE_*` | Gate 主账户监控与交易页面 |
| `crypto_monitor_gate_bot` | `GATE_*` | Gate 侧 **独立子账户 / 机器人**;文档中含 **趋势回调** 等策略说明 |
| `crypto_monitor_okx` | `OKX_*` | OKX 永续;需 API Key / Secret / Passphrase |
各目录根下:
- **`.env.example`**:配置模板(**可** `git pull` 同步),新机执行 `cp .env.example .env` 后编辑。
- **`.env`**:本机真实配置(**勿**提交 Git);`app.py` 只读此文件。`git pull` **不会**覆盖 `.env`;升级前建议 `cp .env .env.backup.$(date +%Y%m%d)`
变量名以前缀区分,**不可混用**(例如在 Gate 项目中写 OKX 变量会导致代理与密钥不生效)。
---
## 四、与 `manual_trading_hub` 的关系(可选)
- **中控** `hub.py`:汇总各子代理状态,提供网页与 HTTP API。
- **子代理** `agent.py`:每个进程绑定一个交易所账户,默认监听 **`15200``15203`**,与四个 Flask 应用的 **`APP_PORT`**(如 5000、5001**必须错开**。
- 详细端口、`EXCHANGE``HUB_AGENTS` 等见 [manual_trading_hub/README.md](./manual_trading_hub/README.md)。
---
## 五、Linux 推荐目录布局(可选)
为与仓库内《部署文档》示例一致,可将整个克隆结果置于 **`/opt/crypto_monitor_user/`** 下,例如:
- `/opt/crypto_monitor_user/crypto_monitor_binance`
- `/opt/crypto_monitor_user/crypto_monitor_gate`
- `/opt/crypto_monitor_user/crypto_monitor_gate_bot`
- `/opt/crypto_monitor_user/crypto_monitor_okx`
- `/opt/crypto_monitor_user/manual_trading_hub`
具体 `mkdir``venv``pm2`**SSH SOCKS** 步骤以各子目录 **《部署文档.md》** 为准。
### 备份与恢复(服务器必读)
项目路径 **`/opt/crypto_monitor_user`**,数据备份 **`/root/backups`**
| 类型 | 说明 |
|------|------|
| **数据库 + 复盘图片** | 每天北京时间 0:00 自动备份,保留 30 天 |
| **`.env`** | 升级 / 改配置前手动备份与恢复 |
**一键复制命令(Ubuntu SSH** 见根目录 **[备份与恢复.md](./备份与恢复.md)**:含安装 cron、手动备份、`.env` 备份/恢复、从备份还原数据库等整段脚本。
---
## 六、整机许可(月卡 / 季卡 / 年卡)
- 云端授权地址(已预置):**https://sq.bz121.com/** — 配置见仓库根目录 **`license.env`**(四个子项目启动时自动加载)。
- 服务器 `crypto_monitor_web``CLIENT_API_KEY` 须与 `license.env``LICENSE_CLIENT_KEY` **完全一致**
- 用户自备电脑部署;**整机**一个设备 ID,四个 `crypto_monitor_*` 共用仓库根目录 **`.license/`** 缓存。
- 未授权或已过期:关键位监控、复盘、统计等 **全部不可用**(后台监控线程亦停止)。
-**3** 天联网校验一次(`LICENSE_CHECK_INTERVAL_DAYS`);断网宽限默认 **7** 天。
- 购买:微信 **`dekun03`**,添加好友时 **备注必须填写设备 ID**(打开任意实例的 **`/license`** 页复制)。
- 定价:月卡 ¥199 / 季卡 ¥399 / 年卡 ¥699;续费在剩余天数上叠加(由云端实现)。
- 签发与管理 Web 为 **独立云端项目**,不在本仓库;用户端 API 约定见 **[docs/LICENSE_API.md](./docs/LICENSE_API.md)**。
- 配置:优先 **`license.env`**(可提交 Git);本地覆盖可写仓库根 `.env``LICENSE_*`。本地调试可设 `LICENSE_DISABLED=true`
---
## 七、推荐阅读顺序
1. 克隆本仓库后,执行 **一键环境部署**(上表),或手动在各子目录 `python -m venv .venv``pip install`
2. 根据实际交易所进入对应 **`crypto_monitor_*`** 目录,编辑 **`.env`**(填入 API 与密码等;部署脚本已可从 `.env.example` 复制)。
3. 阅读该目录下的 **《部署文档.md》**Ubuntu / PM2 / 代理 / 升级说明)。
4. 服务器部署完成后,按 **[备份与恢复.md](./备份与恢复.md)** 配置自动备份与 `.env` 备份习惯。
5. 需要 **Gate 趋势回调** 规则时,阅读 [crypto_monitor_gate_bot/趋势回调策略说明.md](./crypto_monitor_gate_bot/趋势回调策略说明.md)。
6. 需要 **多账户一块看 + 紧急全平** 时,阅读 [manual_trading_hub](./manual_trading_hub/) 下 README 与部署文档。
---
## 八、安全与合规
- **切勿**将 `.env``.env.backup*`、API Secret、SSH 私钥 `.pem` 等提交到版本库或公开渠道;仅 **`.env.example`** 可提交(占位符,无真实密钥)。
### 从旧版仓库升级(曾把 `.env` 提交进 Git
**`git pull` 之前**按 **[备份与恢复.md](./备份与恢复.md)** 备份 `.env` 与数据库;pull 后若本地 `.env` 被误删,用备份恢复;再对照新的 **`.env.example`** 补全可能新增的变量名。
- 实盘前务必在 **`LIVE_TRADING_ENABLED=false`** 下验证页面与网络;API 权限与 IP 白名单遵循各交易所要求。
- 使用本仓库进行实盘交易的风险由使用者自行承担;请遵守当地法律法规与交易所用户协议。
---
## 九、仓库信息摘要
| 项 | 内容 |
|----|------|
| 远程地址 | `https://git.bz121.com/dekun/crypto_monitor_user.git` |
| 说明 | 复盘交易系统(骆驼比特币私有代码仓库,Gitea) |
| 本说明 | 仓库根目录 `README.md`,仅描述结构与文档索引,不包含业务代码变更说明 |
若各子项目 README 与根说明不一致,以 **子目录内当前代码与《部署文档》** 为准。