5ceacd8077
range=history serves archive seed through close (not now). Default view focuses hold period; user can scroll/zoom left to see global morphology before entry. Co-authored-by: Cursor <cursoragent@cursor.com>
83 lines
3.3 KiB
Markdown
83 lines
3.3 KiB
Markdown
# 中控币种档案与永久 K 线
|
||
|
||
## 概述
|
||
|
||
「币种档案」页(`/archive`)按 **交易所 + 币种** 一行汇总历史已平仓记录,支持筛选、交易时间线、备注/犯病情绪标签,以及基于 **永久 5m 真源** 的 K 线大图(15m/1h/4h 由 5m 聚合)。
|
||
|
||
与行情区 `hub_kline.db`(15 天滚动缓存)**完全独立**:档案库只增不删,从建档起永久保留。
|
||
|
||
## 数据约定
|
||
|
||
| 项 | 约定 |
|
||
|----|------|
|
||
| 列表粒度 | 一所一币一行 |
|
||
| 交易来源 | 四所 `trade_records` + 未落库的 `strategy_trade_snapshots`(gate_bot 趋势漏记时补全),经 `/api/hub/trades/archive` 拉取 |
|
||
| 筛选 | 交易所、有盈利单、有亏损单、犯病、情绪(中控 overlay) |
|
||
| K 线真源 | 仅 **5m** 写入 `hub_symbol_archive.db` |
|
||
| 建档种子 | 该币 **最早开仓** 向前 **30 天** 5m |
|
||
| 增量同步 | 默认每 **4 小时** 补新 5m 至当前 |
|
||
| 展示周期 | Tab:**5m / 15m / 1h / 4h**,默认 **15m** |
|
||
| 视窗模式 | **持仓过程**(锚平仓,默认)/ **进场决策**(锚开仓);历史段为建档→平仓,可拖动/滚轮缩放看建仓前全局,**不拉到「现在」** |
|
||
| 时间跳转 | 上方输入 `YYYY-MM-DD HH:MM` 后点「跳转」 |
|
||
| 图片 | **不上传** |
|
||
|
||
## 存储
|
||
|
||
- 默认路径:`manual_trading_hub/data/hub_symbol_archive.db`
|
||
- 环境变量:`HUB_ARCHIVE_DB_PATH`
|
||
- 表:
|
||
- `archive_meta` — 建档元数据
|
||
- `archive_bars_5m` — 永久 5m K 线
|
||
- `archive_trade_cache` — 从实例同步的交易快照
|
||
- `trade_overlay` — 犯病/情绪标签与备注(仅中控)
|
||
|
||
## API(中控 FastAPI)
|
||
|
||
| 方法 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| GET | `/api/archive/meta` | 周期、交易所、同步间隔等 |
|
||
| GET | `/api/archive/list` | 币种列表(筛选 query) |
|
||
| GET | `/api/archive/detail` | 单币种交易时间线 |
|
||
| GET | `/api/archive/ohlcv` | K 线视窗(`timeframe` / `mode` / `anchor_ms` / `at`) |
|
||
| PATCH | `/api/archive/trade/{exchange_key}/{trade_id}` | 更新标签/备注 |
|
||
| POST | `/api/archive/sync` | 立即同步四所交易 + K 线 |
|
||
|
||
实例侧新增:
|
||
|
||
| 方法 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| GET | `/api/hub/trades/archive` | 近 N 天已平仓(`days` / `limit`) |
|
||
|
||
## 后台任务
|
||
|
||
Hub 启动后在 lifespan 中运行 `hub-archive-sync`:
|
||
|
||
1. 对各启用交易所调用 `/api/hub/trades/archive`
|
||
2. 写入 `archive_trade_cache`
|
||
3. 未建档币种:拉 30 天 5m 种子
|
||
4. 已建档币种:增量补 5m
|
||
|
||
间隔:`HUB_ARCHIVE_SYNC_INTERVAL_SEC`(默认 14400)。
|
||
|
||
## 代码位置
|
||
|
||
- `hub_symbol_archive_lib.py` — 库表、种子、增量、聚合、列表
|
||
- `hub_trades_lib.py` — `fetch_trades_for_archive`
|
||
- `hub_bridge.py` — 实例 `/api/hub/trades/archive`
|
||
- `manual_trading_hub/hub.py` — 路由与后台同步
|
||
- `manual_trading_hub/static/archive.js` — 前端页
|
||
|
||
## 与行情区的区别
|
||
|
||
| | 行情区 | 币种档案 |
|
||
|--|--------|----------|
|
||
| DB | `hub_kline.db` | `hub_symbol_archive.db` |
|
||
| 保留 | 15 天滚动删除 | 建档起永久 |
|
||
| 周期 | 多周期直存/拉取 | 仅存 5m,高周期聚合 |
|
||
| 用途 | 实时看盘 | 复盘与档案 |
|
||
|
||
## 相关文档
|
||
|
||
- [中控平仓与交易记录](trend-hub-close-and-trade-records.md)
|
||
- [中控使用说明](../manual_trading_hub/使用说明.md)
|