# 网格策略市场状态识别与风控设计 ## 概述 增强网格策略的市场状态识别能力,实现震荡/趋势的精准判断,并根据不同震荡级别自动调整网格参数和风控策略。 --- ## 一、市场状态识别 ### 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%仓位降级恢复 | | 爆仓预防 | 前端展示爆仓距离,系统自动限制杠杆 |