# 复盘交易系统(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)**。 --- ## 一、仓库目录一览 | 目录 | 交易所 / 角色 | 说明文档 | |------|-----------------|----------| | `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/`** 下,例如: - `/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` 备份/恢复、从备份还原数据库等整段脚本。 --- ## 六、整机许可(月卡 / 季卡 / 年卡) - 用户自备电脑部署;**整机**一个设备 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)**。 - 配置:各子目录 `.env` 或仓库根 `.env` 中的 `LICENSE_API_URL`、`LICENSE_CLIENT_KEY` 等(见各 `.env.example`)。本地开发可设 `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.git` | | 说明 | 复盘交易系统(骆驼比特币私有代码仓库,Gitea) | | 本说明 | 仓库根目录 `README.md`,仅描述结构与文档索引,不包含业务代码变更说明 | 若各子项目 README 与根说明不一致,以 **子目录内当前代码与《部署文档》** 为准。