Ergodic MACD震荡器是由William Blau提出的,详细介绍可见他的书籍《动量、方向与背离:应用最新的动量指标进行技术分析》。
- 将WilliamBlau.mqh放置在terminal_data_folder\MQL5\Include\
- 将Blau_Ergodic_MACD.mq5放置在terminal_data_folder\MQL5\Indicators\

William Blau的Ergodic MACD震荡器
计算公式:
Ergodic MACD震荡器的定义如下:
Ergodic_MACD(price,r,s,u) = MACD(price,r,s,u)
SignalLine(price,r,s,u,ul) = EMA( Ergodic_MACD(price,r,s,u) ,ul)
其中:
- Ergodic_MACD() - Ergodic - MACD(price,r,s,u);
- SignalLine() - 信号线 - 对MACD的指数平滑移动平均EMA(ul);
与标准的MACD指标不同,后者使用的是简单移动平均,而William Blau提出的方法使用的是指数平滑移动平均。
输入参数:- 图形绘制 #0 - Ergodic (移动平均收敛/发散):
- r - 第一个EMA的周期(慢),应用于价格(默认r=20);
- s - 第二个EMA的周期(快),应用于价格(默认s=5);
- u - 第三个EMA的周期,应用于MACD(默认u=3);
- 图形绘制 #1 - 信号线:
- ul - 平滑周期(信号线),应用于Ergodic(默认ul=3);
- AppliedPrice - 价格类型(默认AppliedPrice=PRICE_CLOSE)。
- r>1, s>1;
- s<r(根据William Blau的说法,代码中没有进行检查);
- u>0。如果u=1,则不使用平滑;
- ul>0。如果ul=1,则信号线和Ergodic线相同;
- 最小速率=([max(r,s)]+u+ul-3+1)。