作者:
Svinozavr
今天我们来聊聊与常规MACD不同的 _MACD_Xtr 指标。这个指标的特点是它的适应性超买/超卖区(用红色和绿色线表示),并且在MACD进入这些区域时,柱状图的颜色也会相应变化。
通常情况下,为了适应市场波动,交易者会使用指标本身进行调节。例如,当MACD的范围扩大时,超买和超卖区域的水平也会相应提高。但这种方法存在一个问题,就是相位延迟。也就是说,指标会先显示出超买或超卖的区域,然后经过平滑处理才会将这些区域移动到新的水平。因此,极值会在运动开始时显示出来,而这种适应性对后续的极值才有意义。如果市场形成V型或倒V型形态,那W型或M型又该如何处理呢?因此,我们不应该错失第一个极值带来的利润。
那么解决方案是什么呢?由于没有时间机器,我们可以利用波动率源,选择一个比自适应指标周期更短的时间段。这样,我们就可以“提前”预测指标的移动,将PC/PP的水平在指标开始移动之前进行调整。不过,这里会遇到两个矛盾的控制信号条件。一方面,控制信号不能过于平滑,以免在波动加大时产生相位延迟;另一方面,又需要从噪音中保持和过滤达到的波动水平。
为了解决这个问题,我们采用了前端和阻尼的分开平滑过滤方法,其原理在这里有详细说明。在这种情况下,我们只需要进行阻尼过滤,而前端控制信号的过滤是完全不必要的(最好是提高周期本身的波动性)。
指标输入参数:
//+----------------------------------------------+ //| 指标输入参数 | //+----------------------------------------------+ input int FastMA=12; // 快速EMA的周期 input int SlowMA=26; // 慢速EMA的周期 input AlgMode Source=ATR; // 数据源 input uint SourcePeriod=22; // 数据源周期 input uint FrontPeriod=1; // 前端平滑周期; 可能 < 1 input uint BackPeriod=444; // 阻尼平滑周期; 可能 < 1 input double xVolatility=0.5; // 波动率 input uint Sens=0; // 点差限制,或在成交量中以点或ticks表示 input ENUM_APPLIED_VOLUME VolumeType=VOLUME_TICK; // 成交量 input int Shift=0; // 指标在K线中的水平偏移
这个指标最初在MQL4中实现,并于2010年2月4日在mql4.com的代码库上发布。

图1 MACD_Xtr指标