ATR

本文为 https://www.itrade.icu 量化交易实验室出品。访问获取更多福利

访问获取更多福利

📘 ATR 指标全解析:波动率、止损与仓位管理的核心工具

🧠 基础概念

ATR(Average True Range,平均真实波幅)是由技术分析大师 J. Welles Wilder 提出,用于衡量市场的 波动性,它不直接发出买卖信号,而是告诉你:“市场波动是大还是小”。

  • 核心意义:

    • 波动越大,ATR值越高,意味着市场情绪更激烈;

    • 波动缩小,ATR趋于平稳,表示市场进入震荡。

  • 应用方向: 多用于设置止损仓位管理判断趋势强度,是量化交易中的核心风险管理工具。


📊 计算详解

▶️ 指标计算算法公式

  1. 真实波动范围(True Range, TR)

TR=max{HL, HCprev, LCprev} TR = \max \left\{ H - L,\ |H - C_{\text{prev}}|,\ |L - C_{\text{prev}}| \right\}
  • $H$:当前最高价

  • $L$:当前最低价

  • $C_{\text{prev}}$:上一根 K 线的收盘价

  1. 平均真实波动(ATR)

    • 初始 ATR(首个周期):

ATR1=1ni=1nTRi ATR_1 = \frac{1}{n} \sum_{i=1}^{n} TR_i
  • 之后递归计算(平滑处理):

ATRt=(ATRt1×(n1))+TRtn ATR_t = \frac{(ATR_{t-1} \times (n - 1)) + TR_t}{n}

▶️ 指标计算算法白话文

1. 真实波幅(True Range, TR)

✅ TR(三种计算方式)详解

真实波动范围 TR(True Range)是用来衡量市场实际波动性的指标,考虑到了跳空和剧烈波动的情况。TR 的计算是取以下三者的最大值:


  1. 当期最高价 - 当期最低价 = 当前 K 线的波动范围(常规情况使用)

  • 当价格在一根 K 线中上下波动,没有跳空时,这个值反映了正常波动。

  • 例如:最高 105,最低 95 → TR = 10


  1. |当期最高价 - 前一根的收盘价| = 向上跳空或高开剧烈波动时的补偿修正值

  • 如果当前 K 线开盘在前一根收盘之上,这个计算能捕捉跳空上行的额外波动。

  • 例如:前一收盘 90,当前最高 110 → TR = 20


  1. |当期最低价 - 前一根的收盘价|= 向下跳空或低开剧烈波动时的补偿修正值

  • 如果当前 K 线低开到比前一收盘还低,这个计算能捕捉跳空下行的额外波动。

  • 例如:前一收盘 120,当前最低 100 → TR = 20


✅ 最终 TR 计算方式(总结

📌 取最大值的目的:确保波动计算中不遗漏跳空风险,使得波动指标更加“真实”。


2. 平均真实波幅(ATR)

ATR = TR的N日移动平均,默认N=14 即:ATR = MA(TR, 14)


📌 计算案例模拟(白话版)

我们用一组三天的日线数据来说明 ATR(平均真实波动范围)是怎么一步步算出来的:

日期
最高价
最低价
收盘价

D1

51

48

49

D2

52

47

50

D3

55

49

53


✅ 第一步:算 D2 这天的“真实波动范围”(TR)

我们想知道 D2 这天价格波动到底有多大,就要从几个角度去比较这天的高低点,和前一天(D1)的收盘价之间的差距。

我们分别算这三种情况:

  • D2 的最高价 - 最低价 = 52 - 47 = 5(这是 D2 自己的波动范围)

  • D2 的最高价 - D1 的收盘价 = 52 - 49 = 3

  • D2 的最低价 - D1 的收盘价 = 47 - 49 = -2 → 绝对值是 2

三种数值:5、3、2,谁最大?答案是 5 所以 D2 的 TR = 5


✅ 第二步:继续算 D3 的 TR

我们再看看 D3 这天的波动:

  • D3 的最高价 - 最低价 = 55 - 49 = 6

  • D3 的最高价 - D2 的收盘价 = 55 - 50 = 5

  • D3 的最低价 - D2 的收盘价 = 49 - 50 = -1 → 绝对值是 1

最大的是 6,所以 D3 的 TR = 6


✅ 第三步:假设我们已经算出连续 14 天的 TR 值

比如说我们算了 14 天,TR 分别是:

[5, 6, 4, 5, 7, 6, 5, 5, 4, 6, 5, 7, 6, 5]

现在我们要计算平均真实波动范围(ATR),也就是这 14 天的 TR 的平均值。

把这 14 个数加起来:

总和 = 5 + 6 + 4 + 5 + 7 + 6 + 5 + 5 + 4 + 6 + 5 + 7 + 6 + 5 = 76

平均一下:

ATR = 76 ÷ 14 = 5.43


🧠 算法总结一下

  • TR 就是每天你能感受到的“价格有多激烈的上下波动”

  • ATR 就是把最近这段时间的波动平均一下,看最近市场“火不火”

  • 越大 → 市场越不稳定,波动大;;;越小 → 市场安静,波动小


💡 交易信号

ATR 的作用是在计算市场波动幅度,本身不产生买卖信号,但它主要用于以下关键环节:

✅ 止损设置

  • 做多止损: 止损 = 入场价 - N × ATR

  • 做空止损: 止损 = 入场价 + N × ATR

常用 N 范围:1.5 ~ 3

举例:

  • 买入价 = 50

  • ATR = 2

  • 保守止损(1.5×ATR)= 50 - 3 = 47 元

  • 激进止损(3×ATR)= 50 - 6 = 44 元


N是“波动容忍度”的倍数

ATR 是波动的平均值,我们用 N × ATR 来设止损,实际是在说:我能接受这笔交易 最大亏多少个“正常波动单位”。

  • N 越大,止损越远 → 越“稳重”;

  • N 越小,止损越近 → 越“激进”。

✅ 仓位控制

  • 仓位 = 可承受亏损金额 ÷ ATR

举例:

  • 账户总资金 = 100,000

  • 每笔交易亏损不超过 2% = 2000

  • ATR = 2.5,当前股价 50

这样设置后,即使价格剧烈波动,也不会一笔亏损重创账户。


✅ ATR 的优点

  • 反映真实波动:准确捕捉价格波动幅度,包括跳空缺口。

  • 自适应性强:适用于各种市场类型(股票、期货、数字货币等)。

  • 多风格兼容:可支持趋势交易、波段操作、短线交易等多种策略。


❌ ATR 的缺点

  • 无方向指示:ATR 只能反映波动幅度,无法直接指示买卖方向。

  • 敏感异常值:对极端价格波动较敏感,需注意剔除异常值或加以平滑处理。


⚠️ 信号陷阱与应对策略

陷阱
原因
应对
推荐处理

ATR 突然剧增

一根异常大K线干扰

加入异常值筛选:如 ATR 不大于过去3个月均值的2倍

暂时观望,避免追高杀跌,等待波动恢复正常后再进场

ATR 持续低迷

市场极度无波动

结合布林带观察即将突破机会

可关注突破方向,准备顺势做多或做空

ATR 指引止损太大

周期设置过长或标的波动剧烈

调整 ATR 周期或按账户容忍度动态调整止损倍数

控制仓位,避免一次重仓,减少风险暴露


🧠 高级使用技巧

📌 市场状态判断

ATR走势
价格走势
含义

上升

上涨

强势上涨,行情启动

上升

下跌

强势下跌,恐慌盘出逃

上升

横盘

波动加大,可能有突破信号

下降

上涨

弱势上涨,动力不足

下降

下跌

弱势下跌,可能回调结束

下降

横盘

震荡期,观望为主

ATR 趋势变化比 MACD 更早反映市场节奏


当然,下面帮你详细展开这三种 ATR 与其他指标的配合解读:


🔗 与其他指标配合详细说明

当然,帮你把关键点用高亮标注如下:


1. ATR + 移动平均线(MA)

  • 价格 > 均线 且 ATR 上升 价格位于均线上方,说明整体趋势偏多头方向ATR上升代表市场波动加大,行情活跃,通常是多头趋势加强的信号。此时,可以考虑跟随趋势做多,利用波动性的扩大捕捉利润。

  • 价格 < 均线 且 ATR 下降 价格跌破均线,说明趋势偏空头ATR下降表示市场波动变小,空头趋势可能进入盘整阶段假突破概率增加。这时应谨慎空仓,避免因波动性不足导致假突破误判


2. ATR + Boll 布林带

  • 布林带收窄 + ATR 处于低位布林带宽度收窄,市场处于低波动状态ATR也处于较低水平,说明价格波动非常有限。这是“压缩状态”,往往预示着即将出现突破行情,交易者可提前布局,等待方向确认。

  • ATR上升 + 布林带张口 突破行情已经发生,价格开始大幅波动布林带扩张(张口)ATR明显放大,表明市场活跃度提高。此时顺势跟进,结合突破方向进行交易,有较大获利机会。


3. ATR + RSI

  • RSI 超卖 + ATR 放大 RSI显示价格超卖状态,理论上有反弹需求,但ATR同时放大,说明下跌过程中波动剧烈且动能强劲。这暗示当前下跌趋势可能依然强势,反弹信号需要谨慎看待,可能只是短暂调整

  • RSI 超卖 + ATR 缩小 RSI同样超卖,但ATR下降表示市场波动减弱,下跌动能不足,卖压可能减轻。这是一个潜在的反转信号,可能出现筑底和反弹,交易者可以关注买入机会。


这几种配合使用,能够更全面地理解市场波动和趋势强度,避免单一指标的误导,提升交易决策的准确性。


🧪 案例实战(Freqtrade)

回测结果

Exit Reason
Exits
Avg Profit %
Tot Profit USDT
Tot Profit %
Avg Duration
Win
Draw
Loss
Win%

force_exit

2

1.28

7.680

0.77

16:00:00

2

0

0

100

exit_signal

42

-0.69

-91.086

-9.11

9:24:00

5

0

37

11.9

TOTAL

44

-0.6

-83.405

-8.34

9:42:00

7

0

37

15.9


✅ ATR 指标总结与实用建议

一、功能应用

功能
说明

波动率判断

判断市场当前波动大小,评估是否适合入场

动态止损

根据市场波动调整止损位置,保护利润与控制风险

仓位管理

精准计算合理仓位,避免因波动导致过度亏损

趋势强度

配合均线、布林带等指标判断行情真伪与强弱

二、适用人群与策略建议

方向
建议

初学者

建议结合 EMA、布林带等指标使用,不单独依赖 ATR

趋势交易者

重点利用 ATR 进行止损设置和市场状态判断

风控管理者

强烈推荐用 ATR 做动态止损和仓位管理

高频交易者

可缩短 ATR 周期(如5),结合成交量等指标提升信号敏感度


📌 一句话总结: ATR 主要用来衡量市场价格的波动幅度(就像“测温仪”测量温度一样),告诉你市场有多热闹或者多冷清。ATR 不是“预测价格”的指标,而是控制风险的武器,每一个成熟的策略都应该有 ATR 的身影。


Last updated