From ac25dd334e75a650d70ceed54cccac2e7f870f2d Mon Sep 17 00:00:00 2001 From: tinkle-community Date: Sat, 17 Jan 2026 20:46:02 +0800 Subject: [PATCH] docs: add grid market regime detection design Design for enhanced market state recognition with: - Multi-dimensional indicators (ATR, Bollinger, EMA, MACD, RSI) - Multi-period box indicators (72/240/500 1h candles) - 4-level ranging classification - Breakout detection and handling - Frontend risk control panel --- .../2026-01-17-grid-market-regime-design.md | 151 ++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 docs/plans/2026-01-17-grid-market-regime-design.md diff --git a/docs/plans/2026-01-17-grid-market-regime-design.md b/docs/plans/2026-01-17-grid-market-regime-design.md new file mode 100644 index 00000000..bd9ba7c1 --- /dev/null +++ b/docs/plans/2026-01-17-grid-market-regime-design.md @@ -0,0 +1,151 @@ +# 网格策略市场状态识别与风控设计 + +## 概述 + +增强网格策略的市场状态识别能力,实现震荡/趋势的精准判断,并根据不同震荡级别自动调整网格参数和风控策略。 + +--- + +## 一、市场状态识别 + +### 1.1 识别维度(3个) + +| 维度 | 指标 | 作用 | +|------|------|------| +| 价格波动 | ATR14 + Bollinger带宽 | 判断震荡幅度 | +| 趋势强度 | EMA20/50距离 + MACD | 判断是否有趋势 | +| 动量 | RSI14 + 1h/4h涨跌幅 | 判断超买超卖 | + +### 1.2 箱体指标(新增) + +基于1小时K线的多周期Donchian通道: + +| 箱体级别 | 周期 | 覆盖时间 | 用途 | +|----------|------|----------|------| +| 短期箱体 | 72根1小时 | 3天 | 日内波动边界 | +| 中期箱体 | 240根1小时 | 10天 | 周级别震荡区间 | +| 长期箱体 | 500根1小时 | ~21天 | 大级别趋势边界 | + +### 1.3 判断方式 + +由AI综合分析以上指标 + 原始K线序列 + 箱体位置,输出市场状态判断。 + +--- + +## 二、震荡分级与网格策略 + +### 2.1 四级震荡分类 + +| 级别 | 特征 | 判断依据 | +|------|------|----------| +| 窄幅震荡 | 价格在短期箱体内小幅波动 | Bollinger带宽 < 2%,ATR低 | +| 标准震荡 | 价格在中期箱体内正常波动 | Bollinger带宽 2-3%,ATR正常 | +| 宽幅震荡 | 价格接近中期箱体边缘 | Bollinger带宽 3-4%,ATR较高 | +| 剧烈震荡 | 价格接近长期箱体边缘 | Bollinger带宽 > 4%,ATR高 | + +### 2.2 各级别对应的网格策略 + +| 级别 | 网格密度 | 网格范围 | 单格仓位 | 总仓位上限 | 有效杠杆上限 | +|------|----------|----------|----------|------------|--------------| +| 窄幅震荡 | 密集 | 窄 | 小 | 30-40% | 2x | +| 标准震荡 | 正常 | 中等 | 正常 | 60-70% | 3-4x | +| 宽幅震荡 | 稀疏 | 宽 | 正常 | 50-60% | 3x | +| 剧烈震荡 | 最稀疏 | 最宽 | 小 | 30-40% | 2x | + +**核心原则:** +- 窄幅震荡:单格仓位小 + 总仓位上限低(防击穿风险) +- 剧烈震荡:同样保守(随时可能变趋势) +- 标准震荡:才是放量的最佳时机 + +--- + +## 三、突破处理与恢复机制 + +### 3.1 突破判断与处理 + +**确认方式:** 收盘价突破箱体后,持续3根1小时K线不回箱体 + +| 箱体级别 | 突破处理 | +|----------|----------| +| 短期箱体突破 | 降低仓位到 50% | +| 中期箱体突破 | 暂停网格 + 取消挂单 | +| 长期箱体突破 | 暂停网格 + 取消挂单 + 平掉所有持仓 | + +### 3.2 假突破恢复 + +**价格回到箱体内 → 以50%仓位恢复网格** + +--- + +## 四、前端风控面板 + +### 4.1 需要展示的信息 + +| 类别 | 显示内容 | +|------|----------| +| 杠杆信息 | 当前杠杆、有效杠杆、系统推荐杠杆 | +| 仓位信息 | 当前仓位、最大仓位、仓位占比 | +| 爆仓信息 | 爆仓价格、爆仓距离(%) | +| 市场状态 | 当前震荡级别(窄幅/标准/宽幅/剧烈) | +| 箱体状态 | 短期/中期/长期箱体上下沿、当前价格位置 | + +--- + +## 五、实现要点 + +### 5.1 后端新增 + +1. **箱体指标计算** (`market/data.go`) + - 新增 `calculateDonchian(klines, period)` 函数 + - 返回 upper(最高价), lower(最低价) + - 支持72/240/500三个周期 + +2. **市场状态评估** (`kernel/grid_engine.go`) + - 更新AI prompt,加入箱体指标和K线序列 + - AI输出震荡级别判断 + +3. **网格参数动态调整** (`trader/auto_trader_grid.go`) + - 根据震荡级别自动调整:网格密度、范围、仓位、杠杆 + - 实现有效杠杆上限控制 + +4. **突破处理逻辑** (`trader/auto_trader_grid.go`) + - 实现三级箱体突破检测 + - 实现3根K线确认逻辑 + - 实现降级恢复机制 + +### 5.2 前端新增 + +1. **风控面板组件** + - 杠杆信息展示 + - 仓位信息展示 + - 爆仓信息展示 + - 市场状态展示 + - 箱体状态可视化 + +### 5.3 数据模型更新 + +1. **GridConfigModel** 新增字段: + - `EffectiveLeverageLimit` - 有效杠杆上限 + - `ShortBoxPeriod` - 短期箱体周期 (默认72) + - `MidBoxPeriod` - 中期箱体周期 (默认240) + - `LongBoxPeriod` - 长期箱体周期 (默认500) + +2. **GridInstanceModel** 新增字段: + - `CurrentRegimeLevel` - 当前震荡级别 (narrow/standard/wide/volatile) + - `ShortBoxUpper/Lower` - 短期箱体上下沿 + - `MidBoxUpper/Lower` - 中期箱体上下沿 + - `LongBoxUpper/Lower` - 长期箱体上下沿 + - `BreakoutStatus` - 突破状态 (none/short/mid/long) + - `BreakoutConfirmCount` - 突破确认K线计数 + +--- + +## 六、风险控制总结 + +| 控制点 | 机制 | +|--------|------| +| 仓位控制 | 根据震荡级别限制总仓位上限 (30-70%) | +| 杠杆控制 | 根据震荡级别限制有效杠杆 (2-4x) | +| 突破保护 | 三级箱体突破分级处理 | +| 假突破恢复 | 50%仓位降级恢复 | +| 爆仓预防 | 前端展示爆仓距离,系统自动限制杠杆 |