# 开仓计划 中控顶栏 **开仓计划**(`/plan`)用于记录开仓前的计划、跟踪进行中条目,并在填写结果后归档;支持按币种、趋势周期、入场方案统计胜率。 ## 入口 - 顶栏:**资金概况** 与 **监控区** 之间 → **开仓计划** - 路由:`/plan` ## 页面结构 | 区域 | 功能 | |------|------| | 左侧 · 新建计划 | 填写计划字段,保存后进入「进行中」 | | 左侧 · 进行中 | 修改、删除、填写结果并归档 | | 右侧 · 计划历史 | 一行一条摘要,点击查看详情 | | 右侧 · 数据统计 | 胜率表(可切换维度与时间范围) | ## 字段说明 | 字段 | 说明 | |------|------| | 日期 | 计划日期(日期选择器,可手输 `YYYY-MM-DD`) | | 交易所 | 四所:binance / okx / gate / gate_bot(来自 hub 已启用账户) | | 币种 | 输入 `BTC` 或 `BTC/USDT`,自动规范为 `XXX/USDT` | | 类型 | 趋势单 / 波段单 / 日内短线 | | 趋势周期 | 5m / 15m / 30m / 1h / 4h / 1d | | 入场周期 | 1m / 5m / 15m / 30m / 1h | | 方向 | 多 / 空 | | 目标位 | 文本 | | 当前区间 | 文本 | | 入场方案 | **仅进行中**填写:突破 / 假突破 / 箱体拐点(根据实际进场选择;归档前必选) | | 结果 | **仅进行中**可填:盈 / 亏;**必选其一才归档** | | 盈亏 | **可选**数字(U),不参与是否归档 | | 备注 | 文本 | ## 业务流程 1. **新建** → 状态 `active`(进行中),**不含入场方案** 2. **进行中** → 选择/修改 **入场方案**(根据实际进场填写),可改备注、价位等 3. **删除** → 仅 **未填结果** 的进行中计划可删 4. **归档** → 在进行中选择 **盈/亏** 并点「填写结果并归档」→ 状态 `archived`,移入计划历史 ## 数据统计 - **默认**:全部历史 - **时间**:全部 / 本周 / 本月 / 自选区间 - **维度 Tab**:币种 | 趋势周期 | 入场方案 - **胜率**:盈利 ÷ (盈利 + 亏损),仅统计已归档且结果=盈/亏 的计划 ## API | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/entry-plans/meta` | 枚举项 + 交易所列表 | | GET | `/api/entry-plans?status=active\|archived` | 列表 | | GET | `/api/entry-plans/{id}` | 详情 | | POST | `/api/entry-plans` | 新建 | | PATCH | `/api/entry-plans/{id}` | 更新;写入 `result` 时自动归档 | | DELETE | `/api/entry-plans/{id}` | 删除(仅 active) | | GET | `/api/entry-plans/stats` | 统计;参数 `dimension`、`period`、`date_from`、`date_to` | ## 存储 - SQLite:`manual_trading_hub/data/hub_entry_plans.db` - 环境变量:`HUB_ENTRY_PLAN_DB_PATH`(可选自定义路径) ## 部署 ```bash git pull pm2 restart manual-trading-hub ``` 浏览器访问 `/plan` 并 **Ctrl+F5** 强刷静态资源。 ## 相关代码 | 文件 | 说明 | |------|------| | `hub_entry_plan_lib.py` | 库表、CRUD、统计 | | `manual_trading_hub/hub.py` | REST API | | `manual_trading_hub/static/plan.js` | 前端逻辑 | | `manual_trading_hub/static/index.html` | 页面 DOM | | `tests/test_hub_entry_plan_lib.py` | 单元测试 |