动态网格策略(DGT)— 理论与实战
理论起源
动态网格策略建立在经典网格交易的基础之上。网格交易最早可追溯到 2000 年代初的外汇市场,随着 MetaTrader 4 平台和 OANDA 等经纪商的普及而流行。传统静态网格在固定价格区间内等距挂单,但有一个根本缺陷:它假设市场会永远在区间内震荡。一旦出现强趋势突破区间,静态网格将遭受严重回撤或过早离场。
DGT 将波动率测量(基于约翰·布林格(John Bollinger)的布林带® 自适应通道理论)和趋势检测(基于威尔斯·威尔德(Welles Wilder)的方向性运动系统和 ATR)融入网格交易。核心思想:网格必须随市场呼吸而动态调整。
核心理论逻辑
DGT 基于三个动态原则运行:
1. 波动率自适应网格间距
传统网格的订单间距固定(如每 $50 一个)。DGT 让网格间距成为 ATR(平均真实波幅) 的函数:
网格间距 = ATR × 间距倍率
- 高波动(ATR↑)→ 间距加宽 → 订单减少 → 降低仓位堆积风险
- 低波动(ATR↓)→ 间距收窄 → 订单增多 → 捕捉更多小幅波动
2. 动态网格边界
不同于在创建时就固定上下限,DGT 持续重新计算边界:
上限 = 网格中心 + (半格数 × 网格间距)
下限 = 网格中心 - (半格数 × 网格间距)
网格中心本身随市场趋势漂移:
- 上升趋势:中心逐步上移,避免过早清空卖出
- 下降趋势:中心下移,避免「接飞刀」
3. 波动率调整仓位
每格仓位大小与波动率成反比:
每格仓位 = 基准仓位 × (基准ATR / 当前ATR)
平静期每格使用更多资金;剧烈波动期每格使用更少资金,为极端行情保留资本。
实现方法
在每个评估周期内执行以下循环:
- 计算 ATR(默认回溯 14 根 K 线)
- 确定网格中心:使用 EMA 或基于关键点位的价格锚点
- 计算网格间距 = ATR ×
grid_size参数(典型范围 0.3–1.0) - 设定边界:
中心 ± grid_numbers_half × 网格间距 - 挂单:在中心下方各格挂买入限价单,上方各格挂卖出限价单
- 管理成交:买单成交后,在上一格挂对应卖单;卖单成交后在下一格挂买单
- 再平衡:每 N 个周期重新计算并调整整个网格
核心参数
| 参数 | 说明 | 典型范围 |
|---|---|---|
timeframe | ATR 计算的 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 专家顾问社区。