DCA 定期定额 vs 网格交易
怎么选?完整对比
DCA(Dollar-Cost Averaging,定期定额)与网格交易(Grid Trading) 是散户最常听到的两种被动策略。 它们都不需要预测方向,但运作逻辑完全不同 —DCA 赌长期上涨,网格赌区间震荡。
本文用实际数据对比两者在牛市 / 熊市 / 震荡盘三种情境的表现, 说明为什么没有单一最佳策略,以及怎么结合两者用。
1. 两种策略一句话讲清
DCA(定期定额)
每隔固定时间(每周 / 每月)买固定金额的标的, 无论当下价格高低。最早是传统股票市场 1949 年由 Benjamin Graham 在《The Intelligent Investor》提出的概念(虽然当时还没这个名字)。
# DCA 简化逻辑
每月 1 号 09:00 → 用 $100 USDT 市价买 BTC
无论 BTC 是 $20k 还是 $80k,固定 $100 一次
低点买得多颗、高点买得少颗 → 平均成本被摊平网格交易
在一个价格区间内设多个买单和卖单, 价格往下走时逐格买进、往上走时逐格卖出, 靠区间内反复波动赚取微利。
# 网格简化逻辑
设区间:BTC $60k ~ $70k,分 10 格(每格 $1k)
价格 $65k:等距挂 5 个买单 + 5 个卖单
价格跌到 $64k → $64k 买单成交 → 自动在 $65k 挂卖单
价格涨到 $65k → $65k 卖单成交 → 自动在 $64k 补买单
每来回赚一格价差(扣手续费后)2. 数学模型:两者最适合的市场
DCA 的数学本质:调和平均
每期投入金额 C,买到的量 q = C / P。 总量 Q = 各期 q 加总 = C × Σ(1 / P)。 总投入 N × C ÷ 总量 = 平均成本, 这在数学上叫调和平均(harmonic mean), 会自动偏向低价,这就是「低点买更多」的优势来源。
DCA 赚钱条件:最终价格 > 平均成本。 所以只要长期趋势向上(BTC 过去 10 年年化复合报酬 ~50%), DCA 几乎必赚。
网格的数学本质:每格利润 ≈ 格距 − 双边手续费
设网格间距 g(百分比),单边手续费 f。 每次触发(一买一卖)净利 = g − 2f。 区间内 N 次触发 → 总获利 ≈ N × (g − 2f)。
但这只算「网格触发的部分」。底部资金的浮动损益才是大头:如果价格跌出区间下界,网格停止运作但你仓位被套牢。
3. 三种市场情境模拟
假设 $10,000 起始资金,半年周期,BTC 起点 $60k。 三种情境(牛、熊、震荡)下两种策略的概略表现。 数据是合理区间假设,实际依手续费 / 滑价会有偏差。
情境 A:牛市(半年涨 +60%)
| 策略 | 最终价值 | 获利率 | 主要原因 |
|---|---|---|---|
| All-in(基准) | $16,000 | +60% | 完整吃到上涨 |
| DCA | ~$13,500 | +35% | 后期成本拉高,吃不到全涨 |
| 网格 ($50k–$70k) | ~$11,500 | +15% | 早早卖光,后续上涨没参与 |
牛市里网格输最惨 — 它把上涨的「未来收益」 换成现在的「网格利润」,当趋势延续时这个交换很不划算。 DCA 虽然输给 all-in,但好处是不用一次承担全部时机风险, 适合「我不确定现在是不是高点」的情境。
情境 B:熊市(半年跌 −40%)
| 策略 | 最终价值 | 获利率 | 主要原因 |
|---|---|---|---|
| All-in | $6,000 | −40% | 全跌 |
| DCA | ~$7,500 | −25% | 后期买在便宜,摊平成本 |
| 网格 ($50k–$70k) | ~$5,500 | −45% | 跌穿区间下界,死仓 |
熊市里 DCA 输最少 — 后期的买进摊平了早期成本。 这就是 DCA 在加密界被叫做「定投无脑法」的根本逻辑。
网格在熊市死得最惨 — 一路下跌时格子一直触发买单, 资金被吃光后跌出区间就完全没救(资金锁在底部,跌幅持续放大)。
情境 C:震荡盘(半年内 ±15% 反复波动)
| 策略 | 最终价值 | 获利率 | 主要原因 |
|---|---|---|---|
| All-in | ~$10,200 | +2% | 基本回到起点 |
| DCA | ~$10,300 | +3% | 无突出表现 |
| 网格 ($50k–$70k) | ~$11,800 | +18% | 数十次格子触发累积获利 |
震荡盘网格大胜。这也是为什么网格在 2023~2024 年早期 BTC 在 $25k~$45k 区间反复波动时非常受欢迎 — 那段时间网格策略普遍 年化 30~80%(依参数与杠杆)。
4. 直观对比表(谁适合什么)
| 维度 | DCA 定期定额 | 网格交易 |
|---|---|---|
| 最适合的市场 | 长期上涨趋势 | 震荡盘 |
| 最致命的市场 | 长期下跌 | 单边大趋势(任一方向) |
| 资金效率 | 中(资金慢慢入场) | 高(资金全部就位) |
| 需要选对区间 | 否 | 是(选错就死) |
| 手续费敏感度 | 低(每月 1 次) | 高(每次触发都付) |
| 心理压力 | 低(看不太到账) | 中(要监控区间) |
| 适合新手程度 | ★★★★★ | ★★★ |
5. 怎么决定该用哪个 — 三个问题
Q1:你判断未来 6~12 个月是什么市况?
- 觉得会大涨(牛市初期)→ DCA 或一次 all-in
- 觉得会横盘震荡 → 网格
- 觉得会大跌 → 两个都不适合(要做空或现金为王)
- 不知道 → DCA(风险最对称)
Q2:你能不能盯着区间是否被打破?
- 能 → 网格可用,跌穿区间下界要立刻停网
- 不能 → DCA,网格的最大风险就是你「忘了它在跑」
Q3:你的标的本身波动率多大?
- 主流币(BTC / ETH)日 ATR ~3% → 网格年化 30~80% 合理
- 稳定币对(USDC/USDT)→ 网格赚不了多少,DCA 也没意义
- 小币 → 波动大但常单边崩,网格陷阱重重,DCA 更安全
6. 结合策略:「DCA 进场 + 网格运作」
很多进阶用户把两者结合:用 DCA 慢慢建立底仓, 底仓就位后在当前价格附近开网格运作。这同时得到:
- DCA 摊平成本(不担心进场时机)
- 网格利用底仓的波动赚额外收益
- 单边上涨时还有底仓在吃
- 单边下跌时 DCA 还在继续摊平
# 结合策略示意
第 1~3 个月:每月固定 $1000 DCA 买 BTC
第 4 个月起:除 DCA 外,把累积的 BTC 拿一部分开网格
网格区间:当前价格 ±10%,分 20 格
DCA 持续,网格用底仓跑
→ 牛市:DCA 跟涨、网格逐涨卖出(部分获利落袋)
→ 熊市:DCA 摊平、网格逐跌买入(增加底仓)
→ 震荡:DCA 维持、网格赚来回利润这套做法在加密圈被称为「底仓 + 网格」或 「定投 + 动态调仓」, 很多 KOL 的真实长期策略其实就是这个。
7. 在 TVSBot 上实作的方式
TVSBot 本身专注在把 TradingView 信号自动执行到交易所, 但 DCA 和网格都能用 Pine Script + Alert 实作:
DCA 实作
//@version=5
strategy("Simple DCA", overlay=true)
// 每周一 09:00 买 $100 USDT
isMonday = dayofweek == dayofweek.monday
isHour9 = hour == 9 and minute == 0
if isMonday and isHour9
strategy.entry("DCA", strategy.long, qty=100/close)把这个 Alert 接到 TVSBot,TVSBot 会在每周一 09:00 收到信号 → 自动到你的 Binance / Bybit / OKX / Hyperliquid 下市价买 $100 USDT 的 BTC。
网格实作(简化)
完整的网格策略结构复杂(要管理每格的 buy/sell 状态), 建议直接用交易所内建网格机器人(Binance / Bybit 都有)或专业网格工具, 再透过 TVSBot 监控 fill 信号做跨网格分散管理。
详细网格机制与参数,看 网格交易完整指南。
8. 常见错误
- 把网格当「无脑印钞」。 网格赚的是波动率,不是时间。趋势盘里网格亏钱很常见。
- 网格设太窄的区间。 为了密集触发把区间设得很窄(如 ±3%),结果一根日线就跌穿。 建议区间 ≥ 两周 ATR × 5。
- DCA 在山顶开始 / 在山脚停止。 人性会在 BTC $80k 时 FOMO 加码、$30k 时 capitulation 停买。 这完全违反 DCA 的「价格越低买越多」原理。
- 把短期波动当趋势拆网格。 BTC 一天可以瞬间波动 ±10%, 设网格区间时要看周线 / 月线而不是 4 小时线。
9. 三个关键 takeaway
- DCA 赌长期、网格赌区间 — 两者数学基础不同,没有绝对最佳,只有适合的市况
- 网格在震荡盘大胜、在趋势盘大输。 选网格前先问自己:未来 3 个月会大涨或大跌吗?觉得会 → 别用网格
- 结合「DCA 建底 + 网格运作」是进阶常见打法, 得到 DCA 的安全 + 网格的波动收益