文档:补充中控行情区 K 线说明与索引
- 新增 manual_trading_hub/行情区说明.md - 更新使用说明、README、部署文档、常见问题与仓库根 README Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+37
-12
@@ -1,6 +1,6 @@
|
||||
# 多账户交易中控 — 使用说明
|
||||
|
||||
本文档说明 **manual_trading_hub** 的架构、启动方式、界面操作与故障排查。中控聚合四所 **持仓/条件单/余额/关键位/趋势计划监控 + 撤单/紧急全平**;**人工下单、关键位、策略交易(趋势回调 / 顺势加仓)、交易复盘** 均在各实例网页操作(点监控卡片 **「实例」**)。
|
||||
本文档说明 **manual_trading_hub** 的架构、启动方式、界面操作与故障排查。中控聚合四所 **持仓/条件单/余额/关键位/趋势计划监控 + 撤单/紧急全平**,并提供 **行情区 K 线**;**人工下单、关键位、策略交易(趋势回调 / 顺势加仓)、交易复盘** 均在各实例网页操作(点监控卡片 **「实例」**)。行情区细则见 **[行情区说明.md](./行情区说明.md)**。
|
||||
|
||||
---
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
```
|
||||
浏览器
|
||||
├─ /monitor 监控区(持仓、关键位、趋势计划、全平)
|
||||
├─ /market 行情区(K 线、技术指标、持仓价格线)
|
||||
└─ /settings 系统设置(hub_settings.json)
|
||||
|
||||
中控 hub.py(默认 :5100)
|
||||
@@ -157,6 +158,7 @@ python hub.py
|
||||
浏览器打开:
|
||||
|
||||
- 监控区:http://127.0.0.1:5100/monitor
|
||||
- 行情区:http://127.0.0.1:5100/market
|
||||
- 系统设置:http://127.0.0.1:5100/settings
|
||||
- 登录页:http://127.0.0.1:5100/login(已设 `HUB_PASSWORD` 时)
|
||||
- 旧链接 `/trade` 会自动跳转到 `/monitor`
|
||||
@@ -194,7 +196,21 @@ curl -s http://127.0.0.1:5100/api/ping
|
||||
|
||||
持仓数据以 **子代理 ccxt** 为准;关键位/趋势/机器人单以 **Flask 数据库** 为准。若 Flask 未启动,卡片仍会显示 agent 持仓,但下方策略信息可能为空或报错。
|
||||
|
||||
### 4.2 系统设置 `/settings`
|
||||
### 4.2 行情区 `/market`
|
||||
|
||||
| 功能 | 说明 |
|
||||
|------|------|
|
||||
| **K 线** | 选择已启用交易所 + 币种 + 周期;按需拉取,本地 `data/hub_kline.db` 缓存(默认保留 15 天) |
|
||||
| **周期** | `1m` `5m` `15m` `1h` `2h` `4h` `12h` `1d` `1w` |
|
||||
| **加载 / 强制刷新** | 普通加载优先缓存;强制刷新重拉并覆盖缓存 |
|
||||
| **从监控跳转** | 点击持仓合约名带入品种,并显示入场/止损/止盈/委托与 K 线价格线 |
|
||||
| **技术指标** | 可选 EMA 21/55、MACD、RSI |
|
||||
| **快捷键** | **`F`** 全屏/退出;全屏时 **`Esc`** 退出;数字键切换周期(见 [行情区说明.md](./行情区说明.md)) |
|
||||
| **自动刷新** | 约 5 秒更新最新 OHLCV |
|
||||
|
||||
数据经中控 → 各实例 `GET /api/hub/ohlcv`(`hub_ohlcv_lib`)。升级 hub 与四实例 Flask 后请 **强刷浏览器**;异常 K 线可点 **强制刷新**。
|
||||
|
||||
### 4.3 系统设置 `/settings`
|
||||
|
||||
**可用**:打开 http://127.0.0.1:5100/settings ,修改表格后点 **保存设置** 即写入 `hub_settings.json`;**重新加载** 从磁盘/默认再读(会重新套用 `HUB_DISABLED_IDS`)。保存后监控区立即使用新 URL/启用状态,**无需重启 hub**。
|
||||
|
||||
@@ -212,7 +228,7 @@ curl -s http://127.0.0.1:5100/api/ping
|
||||
| id | 与 `HUB_DISABLED_IDS`、全平 API 路径中的 id 对应;新增户勿与已有 id 重复 |
|
||||
|
||||
- **保存设置**:写入 `hub_settings.json`,重启 hub 后仍生效。
|
||||
- **添加交易所**:见下文 §4.3(须先自建 Flask + agent,再在中控登记)。
|
||||
- **添加交易所**:见下文 §4.4(须先自建 Flask + agent,再在中控登记)。
|
||||
- **删**:从列表移除(保存后生效)。
|
||||
|
||||
#### 能力与「策略交易」的关系(重要)
|
||||
@@ -227,11 +243,11 @@ curl -s http://127.0.0.1:5100/api/ping
|
||||
|
||||
---
|
||||
|
||||
### 4.3 增加账户(例如再挂一个 Gate)
|
||||
### 4.4 增加账户(例如再挂一个 Gate)
|
||||
|
||||
中控 **不会** 自动启动进程,也 **不** 保存交易所 API Key。新增一户 = **复制/新建一套实例目录 + 独立 `.env` + 新端口 Flask/agent + 在中控登记一行**。
|
||||
|
||||
#### 4.3.1 端口勿冲突(示例)
|
||||
#### 4.4.1 端口勿冲突(示例)
|
||||
|
||||
| 用途 | 目录(示例) | Flask `APP_PORT` | Agent `PORT` |
|
||||
|------|----------------|------------------|--------------|
|
||||
@@ -241,7 +257,7 @@ curl -s http://127.0.0.1:5100/api/ping
|
||||
|
||||
`agent` 的 `PORT` 与 Flask 的 `APP_PORT` **必须不同**;且不要与币安 5001、OKX 5004、中控 5100 等占用端口相同。
|
||||
|
||||
#### 4.3.2 新建实例目录
|
||||
#### 4.4.2 新建实例目录
|
||||
|
||||
1. 复制整个 `crypto_monitor_gate` 到新目录(仓库内副本或 `/opt/` 下均可)。
|
||||
2. 在新目录:`cp .env.example .env`,至少修改:
|
||||
@@ -268,7 +284,7 @@ python ..\manual_trading_hub\agent.py
|
||||
|
||||
验收:`curl http://127.0.0.1:5005/login` 能开页;`curl http://127.0.0.1:15204/status` 返回 `ok`。
|
||||
|
||||
#### 4.3.3 在中控登记
|
||||
#### 4.4.3 在中控登记
|
||||
|
||||
1. 打开 **系统设置** → **添加交易所**(或手改 `manual_trading_hub/hub_settings.json`)。
|
||||
2. 填写 **Flask URL**、**Agent URL**、**id**(如 `4`)、**显示名**。
|
||||
@@ -313,6 +329,8 @@ PM2:仓库 `ecosystem.config.cjs` 默认只有四 agent;第五户需自行 `
|
||||
| POST | `/api/auth/login` | body `{"username":"...","password":"..."}` |
|
||||
| POST | `/api/auth/logout` | 退出 |
|
||||
| GET | `/api/ping` | 版本与健康检查(**免登录**) |
|
||||
| GET | `/api/chart/meta` | 行情区:交易所、周期、limit |
|
||||
| GET | `/api/chart/ohlcv` | 行情区 K 线(`exchange_key`、`symbol`、`timeframe`、可选 `refresh=1`) |
|
||||
|
||||
已移除的 `/api/trade/*` 若被旧缓存页面请求,返回 **410** 并提示前往各实例网页。
|
||||
|
||||
@@ -322,6 +340,7 @@ PM2:仓库 `ecosystem.config.cjs` 默认只有四 agent;第五户需自行 `
|
||||
|------|------|
|
||||
| `/api/hub/ping` | 连通与能力 |
|
||||
| `/api/hub/monitor` | 关键位、机器人单、趋势计划 |
|
||||
| `/api/hub/ohlcv` | 行情区 OHLCV(ccxt 拉取,供中控聚合缓存) |
|
||||
|
||||
---
|
||||
|
||||
@@ -341,6 +360,8 @@ PM2:仓库 `ecosystem.config.cjs` 默认只有四 agent;第五户需自行 `
|
||||
| `HUB_SESSION_SECRET` | 用户名+密码 | 会话 Cookie 签名密钥 |
|
||||
| `HUB_COOKIE_SECURE` | `false` | HTTPS 反代建议 `true`(仅 HTTPS 发 Secure Cookie,HTTP 内网 IP 仍可登) |
|
||||
| `HUB_SESSION_DAYS` | `7` | 登录保持天数 |
|
||||
| `HUB_KLINE_RETENTION_DAYS` | `15` | 行情区 K 线库保留天数 |
|
||||
| `HUB_KLINE_DB_PATH` | `data/hub_kline.db` | K 线 SQLite 路径 |
|
||||
|
||||
### 子代理 agent.py
|
||||
|
||||
@@ -384,6 +405,8 @@ PM2:仓库 `ecosystem.config.cjs` 默认只有四 agent;第五户需自行 `
|
||||
| 域名能登、IP:5100 不能 | Secure Cookie + HTTP | 见常见问题 §2.1;或分别登录 |
|
||||
| 添加关键位报错 / SyntaxError | 旧前端或旧 hub 代码 | 强刷浏览器;`git pull` + `verify_hub_deploy.sh` |
|
||||
| `curl /api/ping` 非 JSON | hub 未启动 | `pm2 restart manual-trading-hub` |
|
||||
| K 线只有约 300 根 | 旧版未分页 | `git pull` 四实例 + hub,强制刷新 |
|
||||
| 12h 周期异常 | 无原生 12h 或旧缓存 | 强制刷新;见 [行情区说明.md](./行情区说明.md) |
|
||||
|
||||
**运维脚本**(在 `manual_trading_hub` 目录执行):
|
||||
|
||||
@@ -407,7 +430,7 @@ Invoke-WebRequest -Uri "http://127.0.0.1:5001/api/hub/ping" -Headers @{"X-Hub-To
|
||||
早期中控 **仅监控 + 全平**,使用环境变量 `HUB_AGENTS` 列表。当前版本改为:
|
||||
|
||||
- **hub_settings.json**(或内置默认)管理四所 URL 与能力;
|
||||
- **两页 UI**:监控 / 设置;
|
||||
- **三页 UI**:监控 / 行情 / 设置;
|
||||
- 通过 **hub_bridge** 只读聚合监控数据。
|
||||
|
||||
子代理 `agent.py` 仍负责持仓与全平;`HUB_AGENTS` 环境变量在新版 hub 中 **不再使用**(以设置文件为准)。
|
||||
@@ -434,11 +457,12 @@ pm2 save && pm2 startup
|
||||
|
||||
1. 启动四所 **agent** + **Flask**(OKX 按需)。
|
||||
2. 启动 **hub.py**,打开监控区确认持仓与关键位门控正常。
|
||||
3. 开仓、关键位、趋势 → 点击监控卡片「实例」进入对应 Flask。
|
||||
4. 复盘、导出记录 → 点击「复盘」进入 `/records`。
|
||||
5. 异常行情 → 单户全平或全局紧急全平。
|
||||
3. 看 K 线 → **行情区** 或监控区点击合约名跳转;异常图表点 **强制刷新**。
|
||||
4. 开仓、关键位、趋势 → 点击监控卡片「实例」进入对应 Flask。
|
||||
5. 复盘、导出记录 → 点击「复盘」进入 `/records`。
|
||||
6. 异常行情 → 单户全平或全局紧急全平。
|
||||
|
||||
增加账户步骤见 **§4.3**;无需改 `hub.py` 源码,但须该户 Flask 已 `git pull` 并 **重启**(`hub_bridge` + `has_trend`),且 agent 已部署。
|
||||
增加账户步骤见 **§4.4**;无需改 `hub.py` 源码,但须该户 Flask 已 `git pull` 并 **重启**(`hub_bridge` + `has_trend` + `ohlcv`),且 agent 已部署。
|
||||
|
||||
---
|
||||
|
||||
@@ -447,6 +471,7 @@ pm2 save && pm2 startup
|
||||
| 文档 | 内容 |
|
||||
|------|------|
|
||||
| [使用说明.md](./使用说明.md) | 本文 |
|
||||
| [行情区说明.md](./行情区说明.md) | K 线周期、缓存、快捷键、API |
|
||||
| [部署文档.md](./部署文档.md) | Ubuntu / PM2 / 反代 |
|
||||
| [常见问题.md](./常见问题.md) | 故障实录与排障 |
|
||||
| [README.md](./README.md) | 速览 |
|
||||
|
||||
Reference in New Issue
Block a user