- 显示:
- 4376
- 等级:
- 已发布:
- 2013.09.12 09:41
- 已更新:
- 2016.11.22 07:33
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
自适应移动平均(AMA)用来构造一个对价格序列噪声不敏感的移动平均,并且具有在趋势检测中延迟最小的特征。
这个指标由Perry Kaufman发明,并在其“精明交易”一书中描述。
不同的价格平滑算法的缺点之一是,意外的价格跳变会导致错误的趋势信号产生。另一方面,平滑不可避免的会导致趋势预测的延迟。这一指标的开发就是为了克服这两个缺点。
自适应移动平均指标
计算:
为了定义当前的市场状态,Kaufman引入了效率比率(ER),通过下式计算:
ER(i) = Sinal(i)/Noise(i)
其中:
- ER(i) - 效率比率的当前值;
- Signal(i) = ABS(Price(i) - Price(i - N)) - 当前信号值,当前价格和N周期前的价格差的绝对值;
- Noise(i) = Sum(ABS(Price(i) - Price(i-1)),N) - 当前噪声值,对当前周期价格和前一周期价格差的绝对值求N周期的和。
如果处在强趋势中,效率比率(ER)将接近1;如果没有明显的运动趋势,它将比0大一点点。
将求出的ER值将用在指数平滑公式中:
EMA(i) = Price(i) * SC + EMA(i-1) * (1 - SC)
其中:
- SC = 2/(n+1) - EMA平滑常数,n - 指数运动的周期
- EMA(i-1) - EMA前值。
对于快速运动市场的平滑率,EMA周期必须为2(fast SC = 2/(2+1) = 0.6667),对于没有趋势的时期来说,EMA周期必须等于30(slow SC = 2/(30+1) = 0.06452)。因此,引入新的变化平滑常数(规整SSC平滑常数):
SSC(i) = (ER(i) * ( fast SC - slow SC) + slow SC
或者
SSC(i) = ER(i) * 0.60215 + 0.06425
为了更加有效的影响平均周期的平滑常数,Kaufman建议使用它的平方项。
最终计算公式为:
AMA(i) = Price(i) * (SSC(i)^2) + AMA(i-1)*(1-SSC(i)^2)
或者(调整后):
AMA(i) = AMA(i-1) + (SSC(i)^2) * (Price(i) - AMA(i-1))
其中:
- AMA(i) - AMA的当前值;
- AMA(i-1) - AMA的前值
- SSC(i) - 规整平滑常数的当前值。
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/10

ASI是由Welles Wilder创造的,它作为一个普通的摆动指标,从先前价格的最大值和最小值中获取信号。

平均真实波动幅度(ATR)是用来显示市场波动性的技术指标。