docs: unify Ubuntu root /opt PM2 deployment and refresh README

Add docs/ubuntu-server.md; remove Windows and alternate process managers from deployment guides; index strategy, key monitor, TP/SL, breakeven, and replay docs in root README.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-04 11:48:54 +08:00
parent 546bc7bcf1
commit 1282293e91
16 changed files with 355 additions and 491 deletions
+56 -112
View File
@@ -1,141 +1,85 @@
# 复盘交易系统(crypto_monitor
本仓库为 **多交易所 USDT 永续** 的下单监控、关键位监控与交易复盘工具集:四个子项目分别对接 **Binance、Gate.io(主号)、Gate.io(机器人/趋势策略)、OKX**,共享相似的 Flask 架构与本地 SQLite 记账思路,可按账户独立部署、独立端口运行
多交易所 **USDT 永续** 的下单监控、**关键位**、**策略交易**、**止盈止损 / 移动保本** 与 **AI 复盘**,四所独立部署 + 可选 **中控** 聚合监控
**远程仓库(克隆地址)**[https://git.bz121.com/dekun/crypto_monitor.git](https://git.bz121.com/dekun/crypto_monitor.git)
**远程仓库**[https://git.bz121.com/dekun/crypto_monitor.git](https://git.bz121.com/dekun/crypto_monitor.git)
---
## 部署环境(必读)
| 项 | 约定 |
|----|------|
| 系统 | **Ubuntu 22.04 / 24.04** |
| 用户 | **root** |
| 路径 | **`/opt/crypto_monitor`** |
| 进程 | **PM2**(唯一推荐的常驻方式) |
**环境详解**Python 3.10+、Node、PM2 安装与启动顺序):**[docs/ubuntu-server.md](./docs/ubuntu-server.md)**
**一键 venv**`bash deploy/setup_env.sh`**[deploy/README.md](./deploy/README.md)**
```bash
git clone https://git.bz121.com/dekun/crypto_monitor.git
cd crypto_monitor
cd /opt
git clone https://git.bz121.com/dekun/crypto_monitor.git crypto_monitor
cd /opt/crypto_monitor
bash deploy/setup_env.sh --install-system-deps
```
### 一键环境部署
| 系统 | 命令 |
|------|------|
| **Windows** | 双击根目录 **`一键部署.bat`**,或 `.\deploy\setup_env.ps1` |
| **Linux / macOS** | `bash deploy/setup_env.sh` |
会为各子项目创建 `.venv`、安装依赖、从 `.env.example` 生成 `.env`(不覆盖已有)。详见 **[deploy/README.md](./deploy/README.md)**。
四所 `.env` 同步脚本(计仓 + 自动划转):见 **[docs/env-sync-scripts.md](./docs/env-sync-scripts.md)**。
计仓模式(以损定仓 / 全仓杠杆):见 **[docs/position-sizing-mode.md](./docs/position-sizing-mode.md)**。
每日自动划转(双向归集至目标 U):见 **[docs/auto-transfer-daily.md](./docs/auto-transfer-daily.md)**。
Chrome 快捷方式图标:见 **[docs/shortcut-icon.md](./docs/shortcut-icon.md)**。
配置与运维脚本: **[docs/env-sync-scripts.md](./docs/env-sync-scripts.md)** · **[备份与恢复.md](./备份与恢复.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) · [策略交易说明.md](./策略交易说明.md) |
| `crypto_monitor_okx/` | OKX 永续(功能对齐币安) | [部署文档.md](./crypto_monitor_okx/部署文档.md) · [使用说明.md](./crypto_monitor_okx/使用说明.md) · [README.md](./crypto_monitor_okx/README.md) |
| `manual_trading_hub/` | 多账户中控(监控 + **行情 K 线** + 紧急全平 + 登录;**不在中控网页下单** | [README.md](./manual_trading_hub/README.md) · [使用说明.md](./manual_trading_hub/使用说明.md) · [行情区说明.md](./manual_trading_hub/行情区说明.md) · [部署文档.md](./manual_trading_hub/部署文档.md) · [常见问题.md](./manual_trading_hub/常见问题.md) |
| 根目录 `strategy_*.py` | **策略交易**(趋势回调 + 顺势加仓共用逻辑) | [策略交易说明.md](./策略交易说明.md) |
| 根目录 `ai_client.py` | **AI 复盘**OpenAI 兼容网关 / Ollama 二选一) | [AI复盘与模型配置说明.md](./AI复盘与模型配置说明.md) |
| 功能 | 说明 | 文档 |
|------|------|------|
| **关键位监控** | 箱体/收敛自动开仓、阻力支撑提醒、斐波限价;止盈止损方案与 **移动保本** 开关 | 各所 [关键位自动下单说明.md](./crypto_monitor_binance/关键位自动下单说明.md)(Gate/OKX 目录内同名);方案细则 **[关键位止盈止损与移动保本更新说明.md](./关键位止盈止损与移动保本更新说明.md)** |
| **实盘下单 / 下单监控** | 首仓、以损定仓;监控内 **止盈 / 止损**、**移动保本**(步进 R、偏移%) | 各所 [使用说明.md](./crypto_monitor_binance/使用说明.md) · 顶栏「实盘下单」`/trade` |
| **策略交易** | **趋势回调** + **顺势加仓**`/strategy` 双栏) | **[策略交易说明.md](./策略交易说明.md)** · 趋势细则 [crypto_monitor_gate_bot/趋势回调策略说明.md](./crypto_monitor_gate_bot/趋势回调策略说明.md) |
| **策略交易记录** | 已结束计划快照(最近 100 条)、筛选与展开详情 | [策略交易说明.md §五](./策略交易说明.md) · 顶栏 `/strategy/records` |
| **交易复盘** | 平仓记录、错过机会、图表;**AI 点评** | **[AI复盘与模型配置说明.md](./AI复盘与模型配置说明.md)** · 顶栏「交易记录与复盘」`/records` |
| **中控** | 多账户持仓/委托聚合、行情 K 线、紧急全平(**不在中控网页下单**) | [manual_trading_hub/使用说明.md](./manual_trading_hub/使用说明.md) · [部署文档.md](./manual_trading_hub/部署文档.md) |
前四列为四个 **`crypto_monitor_*`** 交易/监控应用;`manual_trading_hub` 与四者 **进程独立**,无需改四者代码即可并行使用。
其它专题:[计仓模式](./docs/position-sizing-mode.md) · [每日自动划转](./docs/auto-transfer-daily.md) · [Chrome 快捷方式图标](./docs/shortcut-icon.md)
---
## 二、四个 `crypto_monitor_*` 子项目:共同点
## 仓库目录
- **技术栈**Python 3.10+、`Flask` Web、`ccxt` 调交易所 API、本地 SQLite(默认 `crypto.db`)等。
- **能力类型**(各所细节见各自 README / 部署文档):
- **关键位监控**、**下单监控**(含风控与移动保本等逻辑)、**交易复盘**(AI 点评,见 [AI复盘与模型配置说明.md](./AI复盘与模型配置说明.md));
- **策略交易**(顶栏 `/strategy`:趋势回调 + 顺势加仓双栏,四所共用根目录逻辑,见 [策略交易说明.md](./策略交易说明.md));
- **实盘(可选)**:在对应 `.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 本位永续 | [部署文档.md](./crypto_monitor_binance/部署文档.md) |
| `crypto_monitor_gate/` | Gate 主号 | [部署文档.md](./crypto_monitor_gate/部署文档.md) |
| `crypto_monitor_gate_bot/` | Gate 机器人 / 趋势户 | [部署文档.md](./crypto_monitor_gate_bot/部署文档.md) |
| `crypto_monitor_okx/` | OKX 永续 | [部署文档.md](./crypto_monitor_okx/部署文档.md) |
| `manual_trading_hub/` | 中控 + 子代理 | [部署文档.md](./manual_trading_hub/部署文档.md) |
| 根目录 `strategy_*.py` | 策略共用库 | [策略交易说明.md](./策略交易说明.md) |
| 根目录 `key_*_lib.py` | 关键位 / 止盈止损共用库 | [关键位止盈止损与移动保本更新说明.md](./关键位止盈止损与移动保本更新说明.md) |
---
## 三、四个子项目:差异速查
## 技术要点
| 项目 | 环境变量前缀(示例) | 典型用途区分 |
|------|----------------------|--------------|
| `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 变量会导致代理与密钥不生效)。
- **Python 3.10+**、Flask、ccxt、SQLite`crypto.db`
- 四所 `.env` 前缀不同(`BINANCE_*` / `GATE_*` / `OKX_*`),**不可混用**
- 实盘须 `LIVE_TRADING_ENABLED=true` 且理解 API 权限与 IP 白名单风险
-**SOCKS** 访问交易所时配置各所 `*_SOCKS_PROXY` 并安装 PySocks
---
## 四、与 `manual_trading_hub` 的关系(可选)
## 推荐阅读顺序
- **中控** `hub.py``:5100`):多账户 **监控聚合**、**行情 K 线**`/market`)、**紧急全平**、系统设置;可选 **用户名+密码** 登录(反代公网时务必配置)。
- **子代理** `agent.py`:每账户一进程,默认 **`15200``15203`**,与四所 Flask **`APP_PORT`**5000/5001/5002/5004**必须错开**。
- **下单、关键位、策略交易、复盘**:在各 `crypto_monitor_*` 原网页操作(中控 **「实例」** / **「复盘」**);中控**已移除下单区**。增加子账户见 [manual_trading_hub/使用说明.md §4.3](./manual_trading_hub/使用说明.md#43-增加账户例如再挂一个-gate)。
- 账户列表由 **`hub_settings.json`**(网页「系统设置」)维护,**不再使用** `HUB_AGENTS`
- 部署与排障:[manual_trading_hub/README.md](./manual_trading_hub/README.md)、[常见问题.md](./manual_trading_hub/常见问题.md)。
1. [docs/ubuntu-server.md](./docs/ubuntu-server.md) — 装 Python / Node / PM2PM2 启动四所 + 中控
2. 各所 **`.env`**(从 `.env.example` 复制)
3. 所用功能对应上表 **功能导航** 文档
4. [备份与恢复.md](./备份与恢复.md) — 生产机备份习惯
---
## 五、Linux 推荐目录布局(可选)
## 安全
为与仓库内《部署文档》示例一致,可将整个克隆结果置于 **`/opt/crypto_monitor/`** 下,例如:
- **勿** 将 `.env`、API Secret、`.pem` 提交 Git
- 公网暴露中控须配置登录、`HUB_BRIDGE_TOKEN`、HTTPS Cookie
- 实盘风险由使用者自行承担
- `/opt/crypto_monitor/crypto_monitor_binance`
- `/opt/crypto_monitor/crypto_monitor_gate`
- `/opt/crypto_monitor/crypto_monitor_gate_bot`
- `/opt/crypto_monitor/crypto_monitor_okx`
- `/opt/crypto_monitor/manual_trading_hub`
具体 `mkdir``venv``pm2`**SSH SOCKS** 步骤以各子目录 **《部署文档.md》** 为准。
### 备份与恢复(服务器必读)
项目路径 **`/opt/crypto_monitor`**,数据备份 **`/root/backups`**
| 类型 | 说明 |
|------|------|
| **数据库 + 复盘图片** | 每天北京时间 0:00 自动备份,保留 30 天 |
| **`.env`** | 升级 / 改配置前手动备份与恢复 |
**一键复制命令(Ubuntu SSH** 见根目录 **[备份与恢复.md](./备份与恢复.md)**:含安装 cron、手动备份、`.env` 备份/恢复、从备份还原数据库等整段脚本。
---
## 六、推荐阅读顺序
1. 克隆本仓库后,执行 **一键环境部署**(上表),或手动在各子目录 `python -m venv .venv``pip install`
2. 根据实际交易所进入对应 **`crypto_monitor_*`** 目录,编辑 **`.env`**(填入 API 与密码等;部署脚本已可从 `.env.example` 复制)。
3. 阅读该目录下的 **《部署文档.md》**Ubuntu / PM2 / 代理 / 升级说明)。
4. 服务器部署完成后,按 **[备份与恢复.md](./备份与恢复.md)** 配置自动备份与 `.env` 备份习惯。
5. 需要 **策略交易**(趋势回调 / 顺势加仓)时,阅读 [策略交易说明.md](./策略交易说明.md);趋势细则另见 [crypto_monitor_gate_bot/趋势回调策略说明.md](./crypto_monitor_gate_bot/趋势回调策略说明.md)。
6. 需要 **AI 复盘**OpenAI 网关或 Ollama)时,阅读 [AI复盘与模型配置说明.md](./AI复盘与模型配置说明.md),并在各所 `.env` 配置 `AI_PROVIDER` 等。
7. 需要 **多账户一块看 + 紧急全平** 时,阅读 [manual_trading_hub](./manual_trading_hub/) 下 [使用说明](./manual_trading_hub/使用说明.md)、[部署文档](./manual_trading_hub/部署文档.md);遇问题先查 [常见问题](./manual_trading_hub/常见问题.md)。
---
## 七、安全与合规
- **切勿**将 `.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.git` |
| 说明 | 复盘交易系统(骆驼比特币私有代码仓库,Gitea) |
| 本说明 | 仓库根目录 `README.md`,仅描述结构与文档索引,不包含业务代码变更说明 |
若各子项目 README 与根说明不一致,以 **子目录内当前代码与《部署文档》** 为准。
若子目录 README 与本文冲突,以 **子目录《部署文档》与当前代码** 为准。