著者: アンドレイ・N・ボルコンスキー
エルゴディックMACDオシレーターは、ウィリアム・ブラウによって開発され、書籍『モメンタム、ディレクション、ダイバージェンス:最新のモメンタムインディケーターを用いたテクニカル分析の適用』に記されています。
- WilliamBlau.mqhはterminal_data_folder\MQL5\Include\に配置する必要があります。
- Blau_Ergodic_MACD.mq5はterminal_data_folder\MQL5\Indicators\に配置してください。

ウィリアム・ブラウによるエルゴディックMACDオシレーター
計算方法:
エルゴディック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() - エルゴディックMACD(price,r,s,u);
- SignalLine() - シグナルライン - MACDに適用される指数移動平均EMA(ul);
標準のMACDインディケーター(単純移動平均を使用)とは異なり、ウィリアム・ブラウが提案した方法では指数移動平均が使用されます。
- グラフィックプロット #0 - エルゴディック(移動平均収束/発散):
- r - 1つ目のEMA(遅い)の期間、価格に適用(デフォルト r=20);
- s - 2つ目のEMA(速い)の期間、価格に適用(デフォルト s=5)
- u - 3つ目のEMAの期間、MACDに適用(デフォルト u=3);
- グラフィックプロット #1 - シグナルライン:
- ul - エルゴディックに適用される平滑化期間(シグナルライン)、デフォルト ul=3);
- AppliedPrice - 価格タイプ(デフォルト AppliedPrice=PRICE_CLOSE)。
- r>1, s>1;
- s<r(ウィリアム・ブラウによれば、コードにはチェックがありません);
- u>0。u=1の場合、平滑化は使用されません;
- ul>0。ul=1の場合、シグナルラインとエルゴディックラインは同じになります;
- 最小レート =([max(r,s)]+u+ul-3+1)。