diff --git a/README.md b/README.md index 442de29..f791759 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ cd crypto_monitor | `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/` | 多账户中控(监控 + 紧急全平 + 登录;**不在中控网页下单**) | [README.md](./manual_trading_hub/README.md) · [使用说明.md](./manual_trading_hub/使用说明.md) · [部署文档.md](./manual_trading_hub/部署文档.md) · [常见问题.md](./manual_trading_hub/常见问题.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) | @@ -68,7 +68,7 @@ cd crypto_monitor ## 四、与 `manual_trading_hub` 的关系(可选) -- **中控** `hub.py`(`:5100`):多账户 **监控聚合**、**紧急全平**、系统设置;可选 **用户名+密码** 登录(反代公网时务必配置)。 +- **中控** `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`。 diff --git a/manual_trading_hub/README.md b/manual_trading_hub/README.md index b220767..99dc1c1 100644 --- a/manual_trading_hub/README.md +++ b/manual_trading_hub/README.md @@ -1,6 +1,6 @@ # 复盘系统中控(manual_trading_hub) -> **完整说明**:[使用说明.md](./使用说明.md) · **部署**:[部署文档.md](./部署文档.md) · **云服务器**:[云服务器部署说明.md](./云服务器部署说明.md) · **本地→云端迁移**:[本地数据迁移到云端.md](./本地数据迁移到云端.md) · **局域网/反代**:[局域网与反代部署说明.md](./局域网与反代部署说明.md) · **故障**:[常见问题.md](./常见问题.md) +> **完整说明**:[使用说明.md](./使用说明.md) · **行情区**:[行情区说明.md](./行情区说明.md) · **部署**:[部署文档.md](./部署文档.md) · **云服务器**:[云服务器部署说明.md](./云服务器部署说明.md) · **本地→云端迁移**:[本地数据迁移到云端.md](./本地数据迁移到云端.md) · **局域网/反代**:[局域网与反代部署说明.md](./局域网与反代部署说明.md) · **故障**:[常见问题.md](./常见问题.md) 多账户 **监控聚合 + 紧急全平**;**不在中控网页下单**。人工下单、关键位、**策略交易**(`/strategy`)、复盘请在各 `crypto_monitor_*` 实例网页操作(监控卡片 **「实例」** / **「复盘」**)。**增加子账户**见 [使用说明 §4.3](./使用说明.md#43-增加账户例如再挂一个-gate)。 @@ -11,6 +11,7 @@ | 能力 | 说明 | |------|------| | 监控区 | 持仓、余额、关键位摘要、趋势计划、机器人单(只读) | +| 行情区 | K 线(多周期、本地缓存、技术指标、从监控跳转持仓线) | | 紧急全平 | 单户 / 全局市价减仓 | | 系统设置 | `hub_settings.json` 管理 URL、启用、**监控关键位 / 监控趋势计划**(不控制策略交易页) | | Web 登录 | `.env` 设 `HUB_PASSWORD` 后用户名+密码保护(反代公网**务必**配置) | @@ -21,7 +22,7 @@ ## 架构 ``` -浏览器 → hub.py (:5100) 监控 / 设置 / 登录 +浏览器 → hub.py (:5100) 监控 / 行情 / 设置 / 登录 ├→ agent.py × N (:15200~15203) 持仓、全平 └→ 各 Flask (:5000/5001/5002/5004) /api/hub/monitor 只读聚合 ``` @@ -47,7 +48,7 @@ bash scripts/verify_hub_deploy.sh curl -s http://127.0.0.1:5100/api/ping ``` -浏览器:`http://<本机IP>:5100/monitor`(已设密码则先 `/login`)。 +浏览器:`http://<本机IP>:5100/monitor`(行情 `/market`;已设密码则先 `/login`)。 --- @@ -95,6 +96,7 @@ curl -s http://127.0.0.1:5100/api/ping | 文档 | 内容 | |------|------| | [使用说明.md](./使用说明.md) | 页面、API、环境变量、日常流程 | +| [行情区说明.md](./行情区说明.md) | K 线周期、缓存、快捷键、拉取逻辑 | | [部署文档.md](./部署文档.md) | Ubuntu、PM2、反代、升级 | | [常见问题.md](./常见问题.md) | 已遇到问题与处理 | | [.env.example](./.env.example) | 环境变量模板 | diff --git a/manual_trading_hub/SNAPSHOT_ROLLBACK.md b/manual_trading_hub/SNAPSHOT_ROLLBACK.md index d54cca8..73a1360 100644 --- a/manual_trading_hub/SNAPSHOT_ROLLBACK.md +++ b/manual_trading_hub/SNAPSHOT_ROLLBACK.md @@ -1,5 +1,7 @@ # 更新前快照(行情区 + K 线库) +> 行情区使用说明见 [行情区说明.md](./行情区说明.md)。 + 更新前已打 Git 标签,回滚方式: ```bash diff --git a/manual_trading_hub/使用说明.md b/manual_trading_hub/使用说明.md index b928901..6cdf100 100644 --- a/manual_trading_hub/使用说明.md +++ b/manual_trading_hub/使用说明.md @@ -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) | 速览 | diff --git a/manual_trading_hub/常见问题.md b/manual_trading_hub/常见问题.md index acf2c34..ae611ca 100644 --- a/manual_trading_hub/常见问题.md +++ b/manual_trading_hub/常见问题.md @@ -302,7 +302,33 @@ PM2 须重启:`pm2 restart manual-trading-hub`(`run_hub.sh` 每次启动会 --- -## 十、相关脚本 +## 十、行情区 K 线 + +### 10.1 只加载约 300 根(目标 1000) + +**原因**:旧版 `hub_ohlcv_lib` 无 `since` 分页时,OKX/Gate 单次 API 常只返回 ~300 根。 + +**处理**:`git pull` 后重启 **hub + 四实例 Flask**,行情区点 **强制刷新**;浏览器强刷(`chart.js` 带版本号)。 + +### 10.2 6h / 8h 周期错乱(已移除) + +中控行情区 **已不再提供** `6h`、`8h`(以及 `3m`/`10m`/`20m`/`30m`)。若 URL 或旧缓存仍带这些周期,会回退为 `5m`。请改用 `4h` / `12h` 等当前列表,见 [行情区说明.md](./行情区说明.md)。 + +### 10.3 12h 数据异常 + +**原因**:部分交易所无原生 12h;或本地 `hub_kline.db` 存有升级前的错误缓存。 + +**处理**:强制刷新;仍异常可停 hub 后备份并删除 `manual_trading_hub/data/hub_kline.db` 再拉取。 + +### 10.4 快捷键无效 + +- 全屏请用 **`F`**(Win 下 Ctrl+空格常被输入法占用,已不作为全屏键)。 +- 须在 **行情区** 页面且焦点不在币种输入框。 +- 升级后确认加载 `chart.js?v=...` 新版本。 + +--- + +## 十一、相关脚本 | 脚本 | 作用 | |------|------| @@ -315,11 +341,12 @@ PM2 须重启:`pm2 restart manual-trading-hub`(`run_hub.sh` 每次启动会 --- -## 十一、文档索引 +## 十二、文档索引 | 文档 | 内容 | |------|------| | [使用说明.md](./使用说明.md) | 架构、页面、环境变量、API | +| [行情区说明.md](./行情区说明.md) | K 线周期、缓存、快捷键 | | [部署文档.md](./部署文档.md) | Ubuntu/PM2 安装与运维 | | [云服务器部署说明.md](./云服务器部署说明.md) | VPS 配置、安全组、宝塔、env、验收 | | [局域网与反代部署说明.md](./局域网与反代部署说明.md) | 内网 IP:端口 / 域名反代、SSO | diff --git a/manual_trading_hub/行情区说明.md b/manual_trading_hub/行情区说明.md new file mode 100644 index 0000000..8150aee --- /dev/null +++ b/manual_trading_hub/行情区说明.md @@ -0,0 +1,121 @@ +# 行情区(K 线)说明 + +中控 **行情区** `/market` 提供多交易所 K 线查看:按需拉取、本地 SQLite 缓存、可选技术指标与持仓价格线。数据经各实例 Flask 的 `/api/hub/ohlcv`(底层 `hub_ohlcv_lib` + ccxt)获取。 + +相关代码:`manual_trading_hub/static/chart.js`、`hub_kline_store.py`(仓库根目录)、`hub.py` 的 `/api/chart/*`。 + +--- + +## 1. 入口与导航 + +| 方式 | 说明 | +|------|------| +| 顶栏 **行情区** | 打开 `/market` | +| 监控区持仓 | 点击合约名(**打开行情区**)→ 跳转 `/market?exchange_key=...&symbol=...`,并带入入场/止损/止盈等标记(`sessionStorage`) | +| 全屏工具条 | K 线全屏时可在顶部切换交易所、币种、周期并 **加载** | + +--- + +## 2. 支持的周期 + +下拉框与后端 `CHART_TIMEFRAMES` 一致: + +| 周期 | 数字快捷键(分钟) | +|------|-------------------| +| 1m | `1`(稍停或 Enter 确认;连按 `1`→`5` 为 15m) | +| 5m | `5` | +| 15m | `15` | +| 1h | `60` | +| 2h | `120` | +| 4h | `240` | +| 12h | `720` | +| 1d | `1440` | +| 1w | `10080` | + +- 快捷键仅在行情页、且焦点不在输入框/下拉框时生效。 +- **全屏**:按 **`F`** 切换;全屏时 **`Esc`** 退出。 +- 无效或已移除的周期(如 URL 带 `6h`)会回退为默认 **5m**。 + +--- + +## 3. 数据拉取与本地库 + +| 项 | 说明 | +|------|------| +| **策略** | 先读本地库,不足或过期则向对应实例拉取并写入库;无后台定时全量同步 | +| **库文件** | 默认 `manual_trading_hub/data/hub_kline.db`(不纳入 Git) | +| **保留** | 默认 **15 天**(`HUB_KLINE_RETENTION_DAYS`),每次请求顺带清理更早数据 | +| **根数** | 日内周期约 **1000** 根;`1d` / `1w` 约 **500** 根 | +| **刷新** | 约 **5 秒** 自动刷新最新一根;**加载** 用缓存;**强制刷新** 忽略缓存重拉 | +| **分页** | OKX/Gate 等单次常限 ~300 根,中控会自动分页补全 | +| **12h** | 若交易所无原生 12h 或 K 线间隔异常,会从 **1h** 聚合生成 | + +环境变量(`manual_trading_hub/.env`): + +```bash +# HUB_KLINE_RETENTION_DAYS=15 +# HUB_KLINE_DB_PATH=/opt/crypto_monitor/manual_trading_hub/data/hub_kline.db +``` + +--- + +## 4. 图表功能 + +- **主图**:K 线 + 成交量(Lightweight Charts)。 +- **价格轴**:「自动」切换是否跟随最新价缩放。 +- **技术指标**(可选勾选):EMA 21/55、MACD、RSI(含 30/70 参考线);副图自上而下为 MACD、RSI。 +- **持仓标记**(从监控跳转时):展示入场、止损、止盈、委托摘要;K 线上绘制对应价格线。趋势回调若止盈为程序监控,止盈栏显示「程序监控」且不与止损同价误显。 +- **背离**:MACD/RSI 与价格简易背离标注(箭头 + 图例说明)。 + +--- + +## 5. HTTP API(中控) + +须登录(与监控区相同,`/api/ping` 等白名单除外)。 + +| 方法 | 路径 | 说明 | +|------|------|------| +| GET | `/api/chart/meta` | 已启用交易所列表、周期列表、各周期 limit、保留天数 | +| GET | `/api/chart/ohlcv` | 查询参数:`exchange_key`、`symbol`、`timeframe`、可选 `refresh=1` 强制刷新 | + +实例侧(中控转发): + +| 路径 | 说明 | +|------|------| +| GET | `/api/hub/ohlcv` | 各 `crypto_monitor_*` 经 `hub_bridge` 注册;参数 `symbol`、`timeframe`、`since_ms`、`limit` | + +--- + +## 6. 部署与升级注意 + +1. **hub** 与 **四实例 Flask** 均需 `git pull` 到含 `hub_ohlcv_lib.py`、`hub_kline_store.py` 的版本。 +2. 重启:`pm2 restart manual-trading-hub` 及 `crypto_binance`、`crypto_okx`、`crypto_gate`、`crypto_gate_bot`(名称以你环境为准)。 +3. 浏览器 **强刷**(`chart.js` 带版本 query,避免旧前端缓存)。 +4. 周期或拉取逻辑升级后,对异常图表点一次 **强制刷新**,必要时可删 `data/hub_kline.db` 后重拉(会丢失本地缓存,不影响策略库)。 + +回滚标签说明见 [SNAPSHOT_ROLLBACK.md](./SNAPSHOT_ROLLBACK.md)。 + +--- + +## 7. 常见问题 + +| 现象 | 处理 | +|------|------| +| 只显示约 300 根 | `git pull` 实例与 hub,强制刷新;确认 `hub_ohlcv_lib` 已含分页逻辑 | +| 12h 错乱或过少 | 强制刷新;Gate 等无原生 12h 时依赖 1h 聚合,需实例 OHLCV 正常 | +| 周期下拉无某项 | 以当前 `CHART_TIMEFRAMES` 为准;已移除 3m/10m/20m/30m/6h/8h 等 | +| 快捷键无效 | 确认在行情页;全屏用 **F**;数字键勿在币种输入框内按 | +| 持仓线不显示 | 须从监控区点击合约进入;或清除标记后重新跳转 | + +更多中控共性问题见 [常见问题.md](./常见问题.md)。 + +--- + +## 8. 文档索引 + +| 文档 | 内容 | +|------|------| +| [使用说明.md](./使用说明.md) | 中控总览(含行情区摘要) | +| [行情区说明.md](./行情区说明.md) | 本文 | +| [部署文档.md](./部署文档.md) | PM2 / 反代 / 验收 | +| [.env.example](./.env.example) | `HUB_KLINE_*` 等变量 | diff --git a/manual_trading_hub/部署文档.md b/manual_trading_hub/部署文档.md index ef94e50..4637e48 100644 --- a/manual_trading_hub/部署文档.md +++ b/manual_trading_hub/部署文档.md @@ -198,8 +198,9 @@ bash scripts/run_hub.sh 1. **http://127.0.0.1:5100/login** — 若 `.env` 已设 `HUB_PASSWORD`,用 `HUB_USERNAME` / `HUB_PASSWORD` 登录。 2. **http://127.0.0.1:5100/monitor** — 已启用账户显示持仓;Flask 已起时有关键位/趋势信息。 -3. **http://127.0.0.1:5100/settings** — 保存后生成 `hub_settings.json`(增加第五户、Gate 子账户等见 [使用说明.md §4.3](./使用说明.md#43-增加账户例如再挂一个-gate))。 -4. 监控卡片 **「实例」** — 在各 `crypto_monitor_*` 网页做下单、关键位、趋势;中控**不提供**下单表单。 +3. **http://127.0.0.1:5100/market** — 行情区可选交易所与周期拉 K 线;升级后强刷浏览器,详见 [行情区说明.md](./行情区说明.md)。 +4. **http://127.0.0.1:5100/settings** — 保存后生成 `hub_settings.json`(增加第五户、Gate 子账户等见 [使用说明.md §4.4](./使用说明.md#44-增加账户例如再挂一个-gate))。 +5. 监控卡片 **「实例」** — 在各 `crypto_monitor_*` 网页做下单、关键位、趋势;中控**不提供**下单表单。 **命令行验收**(推荐):