解释1

均幅指标(ATR)是取一定时间周期内的股价波动幅度的移动平均值,主要用于研判买卖时机。

均幅指标是显示市场变化率的指标,由威尔德(Welles Wilder)在《技术交易系统中的新概念》一书中首次提出,已成为众多指标经常引用的技术量。威尔德发现较高的ATR值常发生在市场底部,并伴随恐慌性抛盘。当其值较低时,则往往发生在合并以后的市场顶部。

解释2

真实波幅(ATR average true range)主要应用于了解股价的震荡幅度和节奏,在窄幅整理行情中用于寻找突破时机。通常情况下股价的波动幅度会保持在一定常态下,但是如果有主力资金进出时,股价波幅往往会加剧。另外,在股价横盘整理、波幅减少到极点时,也往往会产生变盘行情。真实波幅(ATR)正是基于这种原理而设计的指标。使用Talib中的ATR函数进行回测。

计算方法

  1. TR=∣最高价-最低价∣和∣最高价-昨收∣和∣昨收-最低价∣的最大值
  2. 真实波幅(ATR)=TR的N日简单移动平均
  3. 参数N设置为14日

使用方法:

  • 如果当前价格比之前的价格高一个ATR的涨幅,买入股票。
  • 如果之前的价格比当前价格高一个ATR的涨幅,卖出股票。

Python ta-lib 代码

# by https://xd.sh.cn
df = {}

# 因获得的数据为从最新到最旧排序,故需要将下列数组反转。
# 下方的三个变量均为数组,元素为价格的字符串形式。
kline_close_result.reverse() 
kline_high_result.reverse()
kline_low_result.reverse()

# 存入d字典
df['atr'] = talib.ATR(np.array(kline_high_result),np.array(kline_low_result),np.array(kline_close_result), timeperiod=21)

Tradingview PINE 代码

函数ATR(真实波动幅度均值)返回真实范围的RMA。真实波动幅度是 max(high - low, abs(high - close[1]), abs(low - close[1]))

nATRPeriod      = input(21, "Period")
xATR = atr(nATRPeriod)

// 画图,此时周期为14
plot(atr(14))

//下方的代码所获得的效果类似
pine_atr(length) =>
    trueRange = na(high[1])? high-low : max(max(high - low, abs(high - close[1])), abs(low - close[1]))
    //true range can be also calculated with tr(true)
    rma(trueRange, length)

plot(pine_atr(14))

类似文章

发表回复

您的电子邮箱地址不会被公开。