增加说明
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# 复盘交易系统(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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 一、仓库目录一览
|
||||
|
||||
| 目录 | 交易所 / 角色 | 说明文档 |
|
||||
|------|-----------------|----------|
|
||||
| `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`**(勿提交 Git),变量名以前缀区分,**不可混用**(例如在 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》** 为准。
|
||||
|
||||
---
|
||||
|
||||
## 六、推荐阅读顺序
|
||||
|
||||
1. 克隆本仓库后,根据你实际交易的所,进入对应 **`crypto_monitor_*`** 目录。
|
||||
2. 阅读该目录下的 **《部署文档.md》**(Ubuntu / PM2 / 代理 / `.env` 模板)。
|
||||
3. 需要 **Gate 趋势回调** 规则时,阅读 [crypto_monitor_gate_bot/趋势回调策略说明.md](./crypto_monitor_gate_bot/趋势回调策略说明.md)。
|
||||
4. 需要 **多账户一块看 + 紧急全平** 时,阅读 [manual_trading_hub](./manual_trading_hub/) 下 README 与部署文档。
|
||||
|
||||
---
|
||||
|
||||
## 七、安全与合规
|
||||
|
||||
- **切勿**将 `.env`、API Secret、SSH 私钥 `.pem` 等提交到版本库或公开渠道。
|
||||
- 实盘前务必在 **`LIVE_TRADING_ENABLED=false`** 下验证页面与网络;API 权限与 IP 白名单遵循各交易所要求。
|
||||
- 使用本仓库进行实盘交易的风险由使用者自行承担;请遵守当地法律法规与交易所用户协议。
|
||||
|
||||
---
|
||||
|
||||
## 八、仓库信息摘要
|
||||
|
||||
| 项 | 内容 |
|
||||
|----|------|
|
||||
| 远程地址 | `https://git.bz121.com/dekun/crypto_monitor.git` |
|
||||
| 说明 | 复盘交易系统(骆驼比特币私有代码仓库,Gitea) |
|
||||
| 本说明 | 仓库根目录 `README.md`,仅描述结构与文档索引,不包含业务代码变更说明 |
|
||||
|
||||
若各子项目 README 与根说明不一致,以 **子目录内当前代码与《部署文档》** 为准。
|
||||
@@ -28,13 +28,13 @@
|
||||
将包含 `app.py` 的项目放到固定目录,例如:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/apps
|
||||
cd ~/apps
|
||||
mkdir -p /opt/crypto_monitor
|
||||
cd /opt/crypto_monitor
|
||||
# git clone ... 或解压同步的包
|
||||
cd crypto_monitor_binance
|
||||
```
|
||||
|
||||
下文用 **`/root/crypto_monitor_binance`** 仅为示例,请换成你的实际绝对路径。
|
||||
下文用 **`/opt/crypto_monitor/crypto_monitor_binance`** 仅为示例,请换成你的实际绝对路径。
|
||||
|
||||
---
|
||||
|
||||
@@ -94,7 +94,7 @@ curl -4 -sS --max-time 15 --proxy socks5h://127.0.0.1:1080 https://api.binance.c
|
||||
## 4. Python 虚拟环境
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_binance
|
||||
cd /opt/crypto_monitor/crypto_monitor_binance
|
||||
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
@@ -155,7 +155,7 @@ BINANCE_SOCKS_PROXY=socks5h://127.0.0.1:1080
|
||||
在已配置 `.env` 且网络可达的前提下:
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_binance
|
||||
cd /opt/crypto_monitor/crypto_monitor_binance
|
||||
source .venv/bin/activate
|
||||
python scripts/verify_binance_funding.py
|
||||
```
|
||||
@@ -171,7 +171,7 @@ python scripts/verify_binance_funding.py
|
||||
3. `.env` 已按需配置 `BINANCE_SOCKS_PROXY` 等
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_binance
|
||||
cd /opt/crypto_monitor/crypto_monitor_binance
|
||||
source .venv/bin/activate
|
||||
python app.py
|
||||
```
|
||||
@@ -194,7 +194,7 @@ pm2 -v
|
||||
在项目根目录:
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_binance
|
||||
cd /opt/crypto_monitor/crypto_monitor_binance
|
||||
pm2 start ecosystem.config.cjs
|
||||
pm2 status
|
||||
pm2 logs --lines 200
|
||||
@@ -231,9 +231,9 @@ ssh -N -D 127.0.0.1:1080 bn-vps \
|
||||
### 10.2 Flask
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_binance
|
||||
pm2 start /root/crypto_monitor_binance/.venv/bin/python --name crypto-monitor-binance -- \
|
||||
/root/crypto_monitor_binance/app.py
|
||||
cd /opt/crypto_monitor/crypto_monitor_binance
|
||||
pm2 start /opt/crypto_monitor/crypto_monitor_binance/.venv/bin/python --name crypto-monitor-binance -- \
|
||||
/opt/crypto_monitor/crypto_monitor_binance/app.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
将包含 `app.py` 的项目放到固定目录,例如:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/apps
|
||||
cd ~/apps
|
||||
mkdir -p /opt/crypto_monitor
|
||||
cd /opt/crypto_monitor
|
||||
# git clone ... 或解压同步的包
|
||||
cd crypto_monitor_gate
|
||||
```
|
||||
|
||||
下文用 **`/root/crypto_monitor_gate`** 仅为示例,请换成你的实际绝对路径。
|
||||
下文用 **`/opt/crypto_monitor/crypto_monitor_gate`** 仅为示例,请换成你的实际绝对路径。
|
||||
|
||||
---
|
||||
|
||||
@@ -91,7 +91,7 @@ curl -4 -sS --max-time 15 --proxy socks5h://127.0.0.1:1080 https://api.gateio.ws
|
||||
## 4. Python 虚拟环境
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_gate
|
||||
cd /opt/crypto_monitor/crypto_monitor_gate
|
||||
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
@@ -143,7 +143,7 @@ GATE_SOCKS_PROXY=socks5h://127.0.0.1:1080
|
||||
3. `.env` 已含 `GATE_SOCKS_PROXY`
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_gate
|
||||
cd /opt/crypto_monitor/crypto_monitor_gate
|
||||
source .venv/bin/activate
|
||||
python app.py
|
||||
```
|
||||
@@ -166,7 +166,7 @@ pm2 -v
|
||||
在项目根目录:
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_gate
|
||||
cd /opt/crypto_monitor/crypto_monitor_gate
|
||||
pm2 start ecosystem.config.cjs
|
||||
pm2 status
|
||||
pm2 logs --lines 200
|
||||
@@ -203,9 +203,9 @@ ssh -N -D 127.0.0.1:1080 gate-vps \
|
||||
### 9.2 Flask
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_gate
|
||||
pm2 start /root/crypto_monitor_gate/.venv/bin/python --name crypto-monitor-gate -- \
|
||||
/root/crypto_monitor_gate/app.py
|
||||
cd /opt/crypto_monitor/crypto_monitor_gate
|
||||
pm2 start /opt/crypto_monitor/crypto_monitor_gate/.venv/bin/python --name crypto-monitor-gate -- \
|
||||
/opt/crypto_monitor/crypto_monitor_gate/app.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
将包含 `app.py` 的项目放到固定目录,例如:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/apps
|
||||
cd ~/apps
|
||||
mkdir -p /opt/crypto_monitor
|
||||
cd /opt/crypto_monitor
|
||||
# git clone ... 或解压同步的包
|
||||
cd crypto_monitor_gate
|
||||
cd crypto_monitor_gate_bot
|
||||
```
|
||||
|
||||
下文用 **`/root/crypto_monitor_gate`** 仅为示例,请换成你的实际绝对路径。
|
||||
下文用 **`/opt/crypto_monitor/crypto_monitor_gate_bot`** 仅为示例,请换成你的实际绝对路径。
|
||||
|
||||
---
|
||||
|
||||
@@ -91,7 +91,7 @@ curl -4 -sS --max-time 15 --proxy socks5h://127.0.0.1:1080 https://api.gateio.ws
|
||||
## 4. Python 虚拟环境
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_gate
|
||||
cd /opt/crypto_monitor/crypto_monitor_gate_bot
|
||||
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
@@ -159,7 +159,7 @@ TREND_PREVIEW_MAX_BALANCE_DRIFT_PCT=5
|
||||
3. `.env` 已含 `GATE_SOCKS_PROXY`
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_gate
|
||||
cd /opt/crypto_monitor/crypto_monitor_gate_bot
|
||||
source .venv/bin/activate
|
||||
python app.py
|
||||
```
|
||||
@@ -182,7 +182,7 @@ pm2 -v
|
||||
在项目根目录:
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_gate
|
||||
cd /opt/crypto_monitor/crypto_monitor_gate_bot
|
||||
pm2 start ecosystem.config.cjs
|
||||
pm2 status
|
||||
pm2 logs --lines 200
|
||||
@@ -219,9 +219,9 @@ ssh -N -D 127.0.0.1:1080 gate-vps \
|
||||
### 9.2 Flask
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor_gate
|
||||
pm2 start /root/crypto_monitor_gate/.venv/bin/python --name crypto-monitor-gate -- \
|
||||
/root/crypto_monitor_gate/app.py
|
||||
cd /opt/crypto_monitor/crypto_monitor_gate_bot
|
||||
pm2 start /opt/crypto_monitor/crypto_monitor_gate_bot/.venv/bin/python --name crypto-monitor-gate -- \
|
||||
/opt/crypto_monitor/crypto_monitor_gate_bot/app.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
+11
-11
@@ -28,7 +28,7 @@
|
||||
在云服务器项目目录(包含 `app.py` 的目录)执行:
|
||||
|
||||
```bash
|
||||
cd /path/to/crypto_monitor
|
||||
cd /opt/crypto_monitor/crypto_monitor_okx
|
||||
|
||||
# 可选:清理 Python 缓存,减少小文件传输
|
||||
find . -type d -name __pycache__ -prune -exec rm -rf {} +
|
||||
@@ -40,10 +40,10 @@ tar -czf crypto_monitor.tgz .
|
||||
下载 `crypto_monitor.tgz` 到本机后解压:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/apps
|
||||
cd ~/apps
|
||||
tar -xzf crypto_monitor.tgz -C crypto_monitor
|
||||
cd crypto_monitor
|
||||
mkdir -p /opt/crypto_monitor/crypto_monitor_okx
|
||||
cd /opt/crypto_monitor
|
||||
tar -xzf crypto_monitor.tgz -C crypto_monitor_okx
|
||||
cd crypto_monitor_okx
|
||||
```
|
||||
|
||||
---
|
||||
@@ -108,7 +108,7 @@ curl -4 -Iv --max-time 15 --proxy socks5h://127.0.0.1:1080 https://www.okx.com/a
|
||||
在本机项目目录:
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor
|
||||
cd /opt/crypto_monitor/crypto_monitor_okx
|
||||
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate
|
||||
@@ -177,7 +177,7 @@ AI_MODEL=你的模型名
|
||||
启动:
|
||||
|
||||
```bash
|
||||
cd ~/apps/crypto_monitor
|
||||
cd /opt/crypto_monitor/crypto_monitor_okx
|
||||
source .venv/bin/activate
|
||||
python app.py
|
||||
```
|
||||
@@ -232,13 +232,13 @@ pm2 startup
|
||||
`pm2` 管理 Python 的常用方式是直接启动解释器:
|
||||
|
||||
```bash
|
||||
cd /root/crypto_monitor
|
||||
cd /opt/crypto_monitor/crypto_monitor_okx
|
||||
|
||||
pm2 start /root/crypto_monitor/.venv/bin/python --name crypto-monitor -- \
|
||||
/root/crypto_monitor/app.py
|
||||
pm2 start /opt/crypto_monitor/crypto_monitor_okx/.venv/bin/python --name crypto-monitor -- \
|
||||
/opt/crypto_monitor/crypto_monitor_okx/app.py
|
||||
```
|
||||
|
||||
> 请把路径里的 `你的用户名` 换成实际用户名;或用 `readlink -f app.py` 得到绝对路径。
|
||||
> 若项目目录与上文不一致,请替换为实际绝对路径;或用 `readlink -f app.py` 得到绝对路径。
|
||||
|
||||
查看日志:
|
||||
|
||||
|
||||
@@ -20,9 +20,9 @@ chmod +x manual_trading_hub/scripts/stop_hub_screen.sh
|
||||
./manual_trading_hub/scripts/stop_agents_3screen.sh
|
||||
```
|
||||
|
||||
脚本默认认为:`manual_trading_hub` 的**上一级目录**里并列放着三个 `crypto_monitor_*`。若你把 hub 单独放在 `/opt/manual_trading_hub`,而策略项目在例如 `/opt/交易复盘系统/`,请先执行
|
||||
`export MANUAL_TRADING_REPO_ROOT=/opt/交易复盘系统` 再运行 `start_agents_3screen.sh`。
|
||||
启动后若 `screen -ls` 里没有 `mt-agent-*`,看日志:`tail -80 /opt/manual_trading_hub/logs/mt-agent-bn.log`。
|
||||
脚本默认认为:`manual_trading_hub` 的**上一级目录**里并列放着三个 `crypto_monitor_*`。若你把 hub 单独放在 `/opt/crypto_monitor/manual_trading_hub`,而策略项目在例如 `/opt/crypto_monitor/` 下的其他位置,请先执行
|
||||
`export MANUAL_TRADING_REPO_ROOT=/opt/crypto_monitor` 再运行 `start_agents_3screen.sh`。
|
||||
启动后若 `screen -ls` 里没有 `mt-agent-*`,看日志:`tail -80 /opt/crypto_monitor/manual_trading_hub/logs/mt-agent-bn.log`。
|
||||
|
||||
### 局域网内其他电脑访问中控
|
||||
|
||||
@@ -37,14 +37,14 @@ chmod +x manual_trading_hub/scripts/stop_hub_screen.sh
|
||||
```bash
|
||||
# 新建会话,在里面照常启动 agent 或 hub,然后按键 Ctrl+B 再按 D 脱离
|
||||
tmux new -s hub
|
||||
cd /你的路径/交易复盘系统/manual_trading_hub && source .venv/bin/activate && python hub.py
|
||||
cd /opt/crypto_monitor/manual_trading_hub && source .venv/bin/activate && python hub.py
|
||||
# Ctrl+B, D
|
||||
|
||||
tmux new -s agent-bn
|
||||
cd /你的路径/交易复盘系统/crypto_monitor_binance && set -a && source .env && set +a
|
||||
cd /opt/crypto_monitor/crypto_monitor_binance && set -a && source .env && set +a
|
||||
export EXCHANGE=binance PORT=15200 HOST=127.0.0.1
|
||||
source /你的路径/交易复盘系统/manual_trading_hub/.venv/bin/activate
|
||||
python /你的路径/交易复盘系统/manual_trading_hub/agent.py
|
||||
source /opt/crypto_monitor/manual_trading_hub/.venv/bin/activate
|
||||
python /opt/crypto_monitor/manual_trading_hub/agent.py
|
||||
# Ctrl+B, D
|
||||
```
|
||||
|
||||
@@ -55,7 +55,7 @@ python /你的路径/交易复盘系统/manual_trading_hub/agent.py
|
||||
## 二、nohup(快速、无守护重启)
|
||||
|
||||
```bash
|
||||
cd /你的路径/交易复盘系统/manual_trading_hub
|
||||
cd /opt/crypto_monitor/manual_trading_hub
|
||||
source .venv/bin/activate
|
||||
nohup python hub.py > /tmp/manual-hub.log 2>&1 &
|
||||
```
|
||||
@@ -68,7 +68,7 @@ nohup python hub.py > /tmp/manual-hub.log 2>&1 &
|
||||
|
||||
## 三、systemd(推荐:开机自启、崩溃自动拉起)
|
||||
|
||||
1. 把下面两个示例里的 **`YOUR_REPO`** 改成你本机「交易复盘系统」的绝对路径,`YOUR_USER` 改成 Linux 用户名。
|
||||
1. 把下面两个示例里的 **`YOUR_REPO`** 改成 **`/opt/crypto_monitor`**(或你本机实际仓库根目录),`YOUR_USER` 改成 Linux 用户名。
|
||||
2. 复制到 `/etc/systemd/system/`(需 sudo),文件名例如 `manual-hub.service`、`manual-agent-binance.service`。
|
||||
3. 执行:
|
||||
|
||||
@@ -148,7 +148,7 @@ ExecStart=/bin/bash -lc 'set -a; source YOUR_REPO/crypto_monitor_binance/.env; s
|
||||
## 四、常见问题(子代理 / screen / 依赖)
|
||||
|
||||
1. **`curl http://127.0.0.1:15202/status`(或其它端口)返回 `ok:false`,错误里提到 pysocks / SOCKS**
|
||||
策略目录 `.env` 里配置了 `GATE_SOCKS_PROXY`(或 `BINANCE_SOCKS_PROXY`、`OKX_SOCKS_PROXY`)时,ccxt 需要 **PySocks**。在 **`/opt/manual_trading_hub/.venv`**(或你本机的 `manual_trading_hub/.venv`)中执行:
|
||||
策略目录 `.env` 里配置了 `GATE_SOCKS_PROXY`(或 `BINANCE_SOCKS_PROXY`、`OKX_SOCKS_PROXY`)时,ccxt 需要 **PySocks**。在 **`/opt/crypto_monitor/manual_trading_hub/.venv`**(或你本机的 `manual_trading_hub/.venv`)中执行:
|
||||
`pip install PySocks` 或 `pip install -r requirements.txt`。
|
||||
|
||||
2. **已经 `pip install PySocks`,错误文案完全不变**
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
1. 已安装 **Python 3.10+**,且 `pip` 可用。
|
||||
2. 各策略目录下已配置好交易所 API(与平时运行 Flask 时相同的 `.env` 或环境变量)。各项目 `app.py` 会读取同目录 `.env` 中的 **`APP_HOST` / `APP_PORT`** 用于 **Flask**;子代理使用环境变量 **`PORT`**,二者不能占用同一端口。
|
||||
3. 本机端口 **`15200`~`15203`、5100**(及你各策略 `.env` 里的 `APP_PORT`)无冲突;若被占用,须改子代理 `PORT` 并同步修改 `HUB_AGENTS`。
|
||||
4. **Linux 路径约定(可选)**:若部署在 Ubuntu 等环境,建议将整个代码树放在 **`/opt/crypto_monitor/`** 下(与 `scripts/后台运行-Ubuntu.md` 示例一致),例如策略目录为 `/opt/crypto_monitor/crypto_monitor_binance`、中控为 `/opt/crypto_monitor/manual_trading_hub`。
|
||||
|
||||
---
|
||||
|
||||
@@ -190,7 +191,7 @@ Windows 可将 `hub.py` 与各 `agent.py` 写入「启动」文件夹,或使
|
||||
| `/status` 里 `ok:false`,文案含 **pysocks** / **SOCKS** | 使用 SOCKS 代理但未装 **PySocks** | 在 **`manual_trading_hub/.venv`** 执行 `pip install PySocks` 或 `pip install -r requirements.txt` |
|
||||
| **已安装 PySocks**,`/status` 仍报同样 pysocks 文案 | 子代理进程未重启 | 子代理是常驻进程,**仅 pip 不会替换已运行进程**;退出对应 screen / systemd 单元后重新拉起(Ubuntu 见 `scripts/后台运行-Ubuntu.md` §四) |
|
||||
| 跑 `start_agents_3screen.sh` 无新会话 | screen 会话已存在被脚本跳过 | 先 `stop_agents_3screen.sh`,或 `screen -S mt-agent-xxx -X quit` 后再启动 |
|
||||
| 子代理行为异常、依赖已装仍报错 | 实际用的不是 hub 的 venv | `ps aux` 查看命令行,应为 `…/manual_trading_hub/.venv/bin/python …/manual_trading_hub/agent.py`;否则在**当前使用的解释器**对应环境中装依赖,或改用官方脚本启动 |
|
||||
| 子代理行为异常、依赖已装仍报错 | 实际用的不是 hub 的 venv | `ps aux` 查看命令行,应为 **`/opt/crypto_monitor/manual_trading_hub/.venv/bin/python`** `…/manual_trading_hub/agent.py`(路径按你机器实际根目录调整);否则在**当前使用的解释器**对应环境中装依赖,或改用官方脚本启动 |
|
||||
| 子代理端口与 Flask 抢端口 | `PORT` 与策略目录 `.env` 的 `APP_PORT` 相同 | 子代理用 **15200~15203**(或自改),Flask 继续用 `APP_PORT`,二者勿重复 |
|
||||
| 全平失败 | 持仓模式、精度、交易所维护 | 看返回 JSON 中 `errors` 字段;对照交易所 App |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user