什么是ATR指标?-为什么很多专业交易员用他来做止盈止损?它靠谱吗?
什么是ATR指标?-为什么很多专业交易员用他来做止盈止损?它靠谱吗?
category
交易投资
tags
加密货币
交易技术
数字黄金
type
Post
slug
indicator-ATR
summary
ATR指标是一个非常实用的工具,尤其在波动性较高的市场中,能够帮助交易者更好地管理风险并制定交易策略。虽然ATR本身不提供买卖信号,但结合其他技术指标,ATR能够显著提高交易策略的有效性。
status
Published
date
Jun 24, 2024
icon
password
⚠️
文章所有言论不构成任何投资建议!仅供技术理念学习交流。 交易投资有风险,我不建议任何人参与。尤其加密货币不受法律保护、交易风险极高!!请勿触碰!!!
 

前言

在进行每一次交易时,我们进场之后都会面临盈利或亏损的可能。然而,如何有效地管理这些盈利和亏损呢?什么时候应该止损,什么时候应该止盈?如果我们不能正确地处理止盈和止损,小的亏损可能会演变成大的亏损,而大的盈利则可能会回撤,甚至转为亏损。因此,正确掌握止盈和止损技术,是每一位真正的交易者和投资者必备的技能。
ATR指标是一个非常实用的工具,尤其在波动性较高的市场中,能够帮助交易者更好地管理风险并制定交易策略。虽然ATR本身不提供买卖信号,但结合其他技术指标,ATR能够显著提高交易策略的有效性。
本文我将介绍ATR的原理、计算方法,以及如何使用ATR进行设置止盈止损。

ATR指标介绍

ATR(Average True Range,平均真实波动范围)指标是由技术分析大师威尔德(J. Welles Wilder)在1978年与《技术交易系统中的新概念(New Concepts in Technical Trading Systems)》一书中提出的。
notion image
💡
威尔德还在此书中首次提出了RSI的概念。RSI是一种动量振荡器,用于衡量一段时间内价格变动的速度和变化,以识别超买或超卖情况,从而帮助交易者做出买卖决策。
真实波动幅度均值(ATR)指标显示资产价格在过去一段时间内的波动幅度,即该资产的波动性。它主要用于衡量市场波动性。ATR并不指示价格的方向,而是描述价格波动的程度。ATR帮助交易者预判价格在未来可能的移动幅度,对于设置止盈和止损点非常有帮助。

ATR计算方法

ATR的计算分为l两个步骤,ATR通过计算真实波动幅度来衡量市场的波动性,初始ATR是前几个周期内TR的简单平均值,后续ATR则是基于前一个周期的平滑移动平均。

第一步:计算真实波动范围(True Range,TR)

真实波动范围是以下三个值的最大值
  • 当日最高价与最低价的差值
  • 前一日收盘价与当日最高价的差值的绝对值
  • 前一日收盘价与当日最低价的差值的绝对值
取三者的最大值
取三者的最大值

第二步:计算N日的平均真实波动范围

  • 将上述计算得到的TR值进行N日的平均,得到初始ATR值。
    • n 是选定的周期长度,通常为14天。
    • 是前 n 个周期内每个周期的真实波动幅度。
    • 初始ATR是前 n 个周期内真实波动幅度的简单平均值,用于确定起始点的平均波动性。
  • 后续ATR值计算,使用指数移动平均(EMA)进行平滑处理:
    • 是第 t 个周期的ATR值。
    • 是前一个周期的ATR值。
    • 是当前周期的真实波动幅度。
    • n 是选定的周期长度,通常为14天。

ATR 优缺点

优点

  • ATR能够客观地反映市场的波动性,适用于不同类型的市场和时间框架。
  • 可以帮助交易者设置合理的止损位,避免因短期波动被扫出局。

缺点

  • ATR不提供价格方向的信息,仅反映波动性。
  • 可能对极端价格波动较为敏感,需与其他指标结合使用以减少误判。

ATR 应用

ATR指标的主要应用包括三个方面,分别是识别市场波动性、确定止损位、作为信号协助策略制定。

识别市场波动性

ATR可以帮助交易者判断市场的波动性。当ATR值上升时,表明市场波动性增加;当ATR值下降时,表明市场波动性减小。
notion image

确定止损位

交易者可以根据ATR值来设置止损位。一般情况下,可以将止损位设置为当前价格减去一定倍数的ATR值,以便在波动性增加时提供足够的保护。
如何使用ATR设置止损,我们可以按照以下步骤。
  1. 找到当前的ATR
  1. 选择ATR的倍数
  1. 结合ATR倍数和最近支撑、阻力位设置止损。
举例说明:
此处遇到上升楔形,我们考虑在68066点位做空。首先我们找到当前点位的ATR值为615,我们可以按需选定ATR的倍数,在这里我们短期持有,可以选择1倍,若中长线持有的话可以选择3倍或者更高的倍数。
因此做空的止损价格合适 68066+615 = 68681,我们可以在此点位挂单止损。
notion image

跟踪止盈/止损

在顺趋势的中长线交易中,使用跟踪止盈/止损,才可能赚到趋势的大部分利润。 使用ATR作为跟踪止损/止盈策略的方法
  1. 确定使用的ATR倍数 n (3,4,5等)
  1. 如果做多,高点减去nATR,就是跟踪止损位置
  1. 如果做空,低点增加nATR,就是跟踪止损位置。
在实际使用中,我们常常会借助脚本指标实现跟踪止损
在TradingView中加入以下Pine脚本,我们就能实时查看到对应订单的止损点位。
ATR 跟踪止损 - Pine脚本.
//@version=5
// Copyright (c) 2019-present, Alex Orekhov (everget)
// Chandelier Exit script may be freely distributed under the terms of the GPL-3.0 license.
strategy('Chandelier Exit Strategy', shorttitle='Chandelier Exit Strategy', overlay=true)

var string calcGroup = 'Calculation'
length = input.int(title='ATR Period', defval=14, group=calcGroup)
mult = input.float(title='ATR Multiplier', step=0.1, defval=3.0, group=calcGroup)
useClose = input.bool(title='Use Close Price for Extremums', defval=true, group=calcGroup)

var string visualGroup = 'Visuals'
showLabels = input.bool(title='Show Buy/Sell Labels', defval=true, group=visualGroup)
highlightState = input.bool(title='Highlight State', defval=true, group=visualGroup)

var string alertGroup = 'Alerts'
awaitBarConfirmation = input.bool(title="Await Bar Confirmation", defval=true, group=alertGroup)

atr = mult * ta.atr(length)

longStop = (useClose ? ta.highest(close, length) : ta.highest(length)) - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? math.max(longStop, longStopPrev) : longStop

shortStop = (useClose ? ta.lowest(close, length) : ta.lowest(length)) + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop

var int dir = 1
dir := close > shortStopPrev ? 1 : close < longStopPrev ? -1 : dir

var color longColor = color.green
var color shortColor = color.red
var color longFillColor = color.new(color.green, 90)
var color shortFillColor = color.new(color.red, 90)
var color textColor = color.new(color.white, 0)

longStopPlot = plot(dir == 1 ? longStop : na, title='Long Stop', style=plot.style_linebr, linewidth=2, color=color.new(longColor, 0))
buySignal = dir == 1 and dir[1] == -1
plotshape(buySignal ? longStop : na, title='Long Stop Start', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(longColor, 0))
plotshape(buySignal and showLabels ? longStop : na, title='Buy Label', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(longColor, 0), textcolor=textColor)

shortStopPlot = plot(dir == 1 ? na : shortStop, title='Short Stop', style=plot.style_linebr, linewidth=2, color=color.new(shortColor, 0))
sellSignal = dir == -1 and dir[1] == 1
plotshape(sellSignal ? shortStop : na, title='Short Stop Start', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(shortColor, 0))
plotshape(sellSignal and showLabels ? shortStop : na, title='Sell Label', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(shortColor, 0), textcolor=textColor)

midPricePlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0, display=display.none, editable=false)

longStateFillColor = highlightState ? dir == 1 ? longFillColor : na : na
shortStateFillColor = highlightState ? dir == -1 ? shortFillColor : na : na
fill(midPricePlot, longStopPlot, title='Long State Filling', color=longStateFillColor)
fill(midPricePlot, shortStopPlot, title='Short State Filling', color=shortStateFillColor)

await = awaitBarConfirmation ? barstate.isconfirmed : true
alertcondition(dir != dir[1] and await, title='Alert: CE Direction Change', message='Chandelier Exit has changed direction!')
alertcondition(buySignal and await, title='Alert: CE Buy', message='Chandelier Exit Buy!')
alertcondition(sellSignal and await, title='Alert: CE Sell', message='Chandelier Exit Sell!')

// 交易策略逻辑
if (buySignal and await)
    strategy.entry('Long', strategy.long)

if (sellSignal and await)
    strategy.entry('Short', strategy.short)
ATR指标跟踪止损
ATR指标跟踪止损
当我们进行跟踪止盈时,只需要将价格挂单设置在这些位置。
例如,可以挂单一部分仓位,让价格达到该位置时部分止盈。同时,我们可以结合时间周期进行观察。比如,另一部分仓位可以观察4小时级别的阳线情况。如果阳线站上去了,我们可以考虑再止盈一部分。
通过ATR指标,科学合理地进行止盈止损,其实是一种系统化的策略。这不仅能让我们捕捉到趋势的大部分利润,还能避免过早离场。利用ATR指标进行止盈止损和跟踪止损,需要通过复盘和实战中的具体应用,才能达到熟练使用和科学决策的程度。

策略制定

ATR可以作为交易策略的一个重要参数。
例如,在突破策略中,可以使用ATR来确定突破的有效性。如果突破发生时ATR值较高,可能表明突破具有更大的可靠性。

ATR的使用注意

不同周期的ATR指标会有所不同。同一个价格点位的K线在日线级别的ATR值和4小时级别的日线通常不同,这是因为在不同时间周期下的价格波动范围也是不同的。
在实际交易中,你应该选择哪个周期的ATR数值取决于你的交易周期。如果你的交易策略基于日线级别,就应该参考日线级别的ATR指标;如果是基于4小时级别,就参考4小时级别的ATR指标。
此外,ATR的数值还应与你的总仓位控制和杠杆相结合,以制定更合理的交易决策。

ATR不能用于判断超买/超卖

由于ATR的以下两个特点,不能用于判断超买/超卖状态。
  • 不涉及价格相对位置:ATR指标并不关注价格相对于其历史范围或平均水平的位置。超买超卖的概念通常是基于价格相对于其过去表现的位置来定义的。
  • 缺乏方向性:ATR指标只显示价格的波动幅度,而不显示价格的方向或趋势。超买超卖信号通常需要结合价格的趋势方向来判断,而ATR并不能提供这样的信息。
ATR指标主要用于评估市场的波动性和确定风险管理策略,而不是用来判断超买超卖。
在实际交易中,应该将ATR与其他能够提供价格相对位置信息的指标(如RSI、Stochastic等)结合使用,以获取更全面和准确的市场分析。
  • 加密货币
  • 交易技术
  • 数字黄金
  • 为什么交易中的成交量这么重要?OBV能量潮指标是什么?MACD背离可以用来作为交易策略吗?具体该怎么使用?