145 lines
8.7 KiB
Markdown
145 lines
8.7 KiB
Markdown
# 复盘交易系统(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 与根说明不一致,以 **子目录内当前代码与《部署文档》** 为准。
|