02bc3c14bc
Add docs/env-sync-scripts.md; cross-link from deploy README, feature docs, README, and script headers. Co-authored-by: Cursor <cursoragent@cursor.com>
141 lines
9.7 KiB
Markdown
141 lines
9.7 KiB
Markdown
# 复盘交易系统(crypto_monitor)
|
||
|
||
本仓库为 **多交易所 USDT 永续** 的下单监控、关键位监控与交易复盘工具集:四个子项目分别对接 **Binance、Gate.io(主号)、Gate.io(机器人/趋势策略)、OKX**,共享相似的 Flask 架构与本地 SQLite 记账思路,可按账户独立部署、独立端口运行。
|
||
|
||
**远程仓库(克隆地址)**:[https://git.bz121.com/dekun/crypto_monitor.git](https://git.bz121.com/dekun/crypto_monitor.git)
|
||
|
||
```bash
|
||
git clone https://git.bz121.com/dekun/crypto_monitor.git
|
||
cd crypto_monitor
|
||
```
|
||
|
||
### 一键环境部署
|
||
|
||
| 系统 | 命令 |
|
||
|------|------|
|
||
| **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)**。
|
||
|
||
---
|
||
|
||
## 一、仓库目录一览
|
||
|
||
| 目录 | 交易所 / 角色 | 说明文档 |
|
||
|------|-----------------|----------|
|
||
| `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) |
|
||
|
||
前四列为四个 **`crypto_monitor_*`** 交易/监控应用;`manual_trading_hub` 与四者 **进程独立**,无需改四者代码即可并行使用。
|
||
|
||
---
|
||
|
||
## 二、四个 `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 本位永续;止盈止损以 `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`(`: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)。
|
||
|
||
---
|
||
|
||
## 五、Linux 推荐目录布局(可选)
|
||
|
||
为与仓库内《部署文档》示例一致,可将整个克隆结果置于 **`/opt/crypto_monitor/`** 下,例如:
|
||
|
||
- `/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 与根说明不一致,以 **子目录内当前代码与《部署文档》** 为准。
|