Add key-level auto trade, AI analysis, and trading UX improvements.

Key monitors use 5m close triggers with WeChat alerts and box/convergence auto orders; add pending-order worker, structured WeChat notify, AI settings/messages, session clock, CTP margin sizing, and dual-layer position limits.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-28 10:36:56 +08:00
parent 0109b59f27
commit 840e88daad
33 changed files with 2514 additions and 143 deletions
+64
View File
@@ -0,0 +1,64 @@
# 关键位监控
**页面路径**`/keys`
关键位监控用于在指定价格区间上设置 **5 分钟收盘** 触发规则,分为 **自动单**(箱体/收敛突破)与 **仅微信提醒**(关键支阻区)两类。
---
## 监控类型
### 箱体突破 / 收敛突破(自动单)
| 项目 | 规则 |
|------|------|
| 触发 | 5 分钟 K 线 **收盘价** 高于上沿或低于下沿 |
| 顺势 / 反转 | 顺势:上破做多、下破做空;反转:上破做空、下破做多 |
| 下单 | CTP 已连接且在交易时段内,自动 **市价开仓** |
| 手数 | 按系统设置的风险比例与保证金上限计算 |
| 止损 | 突破 K 线最低价(多)/ 最高价(空)± **2 个最小变动价位** |
| 盈亏比 | 默认 **2**,可在新增监控时修改(0.5~10) |
| 移动保本 | 可选;开启后盈亏比默认 **3**,达 3R 止盈价自动平仓;同时启用移动保本止损逻辑(达 1R 后抬止损) |
| 成交后 | 进入 **下单监控** 持仓列表,`monitor_type` 显示为「箱体突破」或「收敛突破」 |
| 结案 | 触发并尝试下单后,本条监控移入历史(无论成败,同一根 5m K 线不重复触发) |
**前提**:CTP 已连接、处于交易时段、账户风控允许开仓。
### 关键支阻区(仅提醒)
| 项目 | 规则 |
|------|------|
| 区间 | **上沿 = 阻力**,**下沿 = 支撑**,合并为一个关键支阻区 |
| 触发 | 5m 收盘突破上沿或跌破下沿 |
| 推送 | 企业微信,格式含突破方向、触发收盘、区间上下沿等 |
| 次数 | 最多 **3 次**,间隔约 **5 分钟**(人工盯盘提醒) |
| 自动开仓 | **否** |
| 结案 | 第 3 次推送后自动归档 |
历史数据中的「关键阻力位」「关键支撑位」按 **关键支阻区** 同样规则处理。
---
## 与旧版差异
- 旧版:tick 现价触碰即推送,箱体/收敛仅微信提醒
- 新版:**统一 5m 收盘** 触发;箱体/收敛改为 **自动市价单**;阻力/支撑合并为 **关键支阻区** 三轮微信提醒
---
## 相关配置
- **企业微信 Webhook**:系统设置 → 企业微信推送
- **风险比例 / 保证金上限**:系统设置 → 交易相关(影响自动单手数)
- **移动保本跳数缓冲**:系统设置 → `trailing_be_tick_buffer`(自动单开启移动保本时生效)
---
## 技术说明
- 后台任务 `background_task` 约每 3 秒扫描一次 `key_monitors`
- 5m K 线优先 CTP,否则新浪/本地缓存
- 自动单逻辑:`key_monitor_lib.py` + `install_trading._execute_key_breakout`
- 止盈止损监控:`sl_tp_guard.py`(移动保本 + 显式止盈价可同时生效)
详见 [FEATURES.md](./FEATURES.md) 功能总览。