动态网格策略(DGT)— 理论与实战

理论起源

动态网格策略建立在经典网格交易的基础之上。网格交易最早可追溯到 2000 年代初的外汇市场,随着 MetaTrader 4 平台和 OANDA 等经纪商的普及而流行。传统静态网格在固定价格区间内等距挂单,但有一个根本缺陷:它假设市场会永远在区间内震荡。一旦出现强趋势突破区间,静态网格将遭受严重回撤或过早离场。

DGT 将波动率测量(基于约翰·布林格(John Bollinger)的布林带® 自适应通道理论)和趋势检测(基于威尔斯·威尔德(Welles Wilder)的方向性运动系统和 ATR)融入网格交易。核心思想:网格必须随市场呼吸而动态调整

核心理论逻辑

DGT 基于三个动态原则运行:

1. 波动率自适应网格间距

传统网格的订单间距固定(如每 $50 一个)。DGT 让网格间距成为 ATR(平均真实波幅) 的函数:

网格间距 = ATR × 间距倍率
  • 高波动(ATR↑)→ 间距加宽 → 订单减少 → 降低仓位堆积风险
  • 低波动(ATR↓)→ 间距收窄 → 订单增多 → 捕捉更多小幅波动

2. 动态网格边界

不同于在创建时就固定上下限,DGT 持续重新计算边界:

上限 = 网格中心 + (半格数 × 网格间距)
下限 = 网格中心 - (半格数 × 网格间距)

网格中心本身随市场趋势漂移:

  • 上升趋势:中心逐步上移,避免过早清空卖出
  • 下降趋势:中心下移,避免「接飞刀」

3. 波动率调整仓位

每格仓位大小与波动率成反比:

每格仓位 = 基准仓位 × (基准ATR / 当前ATR)

平静期每格使用更多资金;剧烈波动期每格使用更少资金,为极端行情保留资本。

实现方法

在每个评估周期内执行以下循环:

  1. 计算 ATR(默认回溯 14 根 K 线)
  2. 确定网格中心:使用 EMA 或基于关键点位的价格锚点
  3. 计算网格间距 = ATR × grid_size 参数(典型范围 0.3–1.0)
  4. 设定边界中心 ± grid_numbers_half × 网格间距
  5. 挂单:在中心下方各格挂买入限价单,上方各格挂卖出限价单
  6. 管理成交:买单成交后,在上一格挂对应卖单;卖单成交后在下一格挂买单
  7. 再平衡:每 N 个周期重新计算并调整整个网格

核心参数

参数说明典型范围
timeframeATR 计算的 K 线周期1h, 4h, 1d
grid_size网格间距倍率 (× ATR)0.3 – 1.0
grid_numbers_half中心每侧半格数5 – 20
grid_principal每格使用资金视总资金而定
fee_pct预估手续费0.001 – 0.0015

适用场景

最适合:震荡偏慢速趋势的行情、中长线持仓、希望自动化且带自适应能力的用户

⚠️ 注意:在极速趋势行情中(如日波动超过 5 倍 ATR),即使动态网格也可能滞后。建议结合趋势跟踪类策略或暂停条件使用。

参考文献

  • Bollinger, J. (2001). Bollinger on Bollinger Bands. McGraw-Hill.
  • Wilder, J. W. (1978). New Concepts in Technical Trading Systems. Trend Research.
  • 经典网格交易方法最早见于 2005 年前后的 MetaTrader 4 专家顾问社区。