### 需求 - 在**震荡行情**中,通过网格低买高卖获取波动收益 - **网格间距不再固定**,而是由市场波动率(ATR)动态决定 - 波动大 → 拉大网格间距,减少频繁成交和手续费磨损 - 波动小 → 缩小网格间距,提高资金捕获效率 - 可设定价格运行区间(上/下限),超出区间暂停或告警。 - 网格大小变化,之前未平头寸按照原来网格卖出 - 采用挂单的方式进行网格设置,采用市价作为网格止盈的方式 ### ATR 参数 | 参数 | 典型值 | 说明 | | ----------------- | --------- | --------------------- | | ATR周期 `N` | 14 | 计算ATR所用周期 | | ATR倍数 `K` | 0.5 ~ 1.5 | 网格间距 = K × ATR | | 最小间距 `MinGap` | 用户设置 | 防止ATR过小时网格过密 | | 最大间距 `MaxGap` | 用户设置 | 防止ATR过大长期不成交 | 1.策略参数 | 参数名 | 备注 | | -------------------- | ------------------------------------------------------------ | | base_quantity | **每格基础数量**。如果不做动态仓位,就是固定股数/币数。 | | atr_multiplier | **网格间距 = K × ATR**(K为调整系数,通常取0.5~2.0,高波动标的可适当放大),也可在此基础上设置最小/最大间距阈值防止极端值。 | | kline_interval | K线周期 5m 30m 1h | | kline_period | ATR分析K线数 (一般是14) | | grid_adjust_interval | 网格调整周期(单位建议分钟) | | min_gap | 计算的网格不能低于这个 | | max_gap | 计算的网格不能高于这个 | | upper_bound | **上限价格**。价格突破此值,停止做多或清仓。 | | lower_bound | 下限价格。价格跌破此值,停止做空或止损。 | | | | 比如当前是100 一个网格。 目前有 挂单 1000 900 那么现在调整网格为150.那么当前的两个挂单不变,下一个网格是,750,上一个网格是1150. 目前网格的变化,不影响目前的挂单。但是目前已有的挂单,止盈已新的网格计算。 比如1000的平仓价是1150。900的平仓价是1050