लेखक: Andrey N. Bolkonsky
विलियम ब्लाउ द्वारा विकसित मुविंग एवरेजेस कन्वर्जेंस/डाइवर्जेंस इंडिकेटर का वर्णन उनकी पुस्तक "Momentum, Direction, and Divergence: Applying the Latest Momentum Indicators for Technical Analysis" में किया गया है।
मुविंग एवरेजेस कन्वर्जेंस/डाइवर्जेंस (MACD) तकनीकी इंडिकेटर दो एक्सपोनेंशियली स्मूथेड मुविंग एवरेजेस (EMA) का अंतर है (तेज EMA का पीरियड s और धीमा EMA का पीरियड r होता है)।
MACD का संकेत तेज s-पीरियड EMA और धीमे r-पीरियड EMA की सापेक्ष स्थिति को दर्शाता है। यह सकारात्मक होता है जब EMA(s) > EMA(r) और नकारात्मक होता है यदि EMA(s) < EMA(r)। |MACD| का बढ़ना मुविंग एवरेजेस के बीच डाइवर्जेंस को दर्शाता है, जबकि |MACD| का घटना EMAs के बीच कन्वर्जेंस को दर्शाता है।
- WilliamBlau.mqh को terminal_data_folder\MQL5\Include\ में रखना होगा।
- Blau_SM_Stochastic.mq5 को terminal_data_folder\MQL5\Indicators\ में रखना होगा।

विलियम ब्लाउ द्वारा मुविंग एवरेजेस कन्वर्जेंस/डाइवर्जेंस।
गणना:
मुविंग एवरेजेस कन्वर्जेंस/डाइवर्जेंस की गणना निम्नलिखित सूत्र द्वारा की जाती है:
macd(price,r,s) = EMA(price,s) - EMA(price,r)
s < r
जहाँ:
- price - वर्तमान अवधि काclose price;
- EMA(price,r) - धीमा EMA जो r अवधि के लिए लागू किया गया है;
- EMA(price,s) - तेज EMA जो s अवधि के लिए लागू किया गया है।
विलियम ब्लाउ का MACD सूत्र इस प्रकार है:
MACD(price,r,s,u) = EMA( macd(price,r,s) ,u) = EMA( EMA(price,s)-EMA(price,r) ,u)
s < r
जहाँ:
- price - close price;
- EMA(price,r) - 1st smoothing - धीमा EMA, जो price पर लागू होता है;
- EMA(price,s) - 2nd smoothing - तेज EMA, जो price पर लागू होता है;
- macd(r,s)=EMA(price,s)-EMA(price,r) - मुविंग एवरेजेस कन्वर्जेंस/डाइवर्जेंस;
- EMA(macd(r,s),u) - 3rd smoothing (u अवधि के साथ), MACD पर लागू होता है।
- r - 1st EMA (धीमा) की अवधि, जो price पर लागू होती है (डिफॉल्ट r=20);
- s - 2nd EMA (तेज) की अवधि, जो price पर लागू होती है (डिफॉल्ट s=5);
- u - 3rd EMA की अवधि, जो MACD पर लागू होती है (डिफॉल्ट u=3);
- AppliedPrice - price type (डिफॉल्ट AppliedPrice=PRICE_CLOSE).
- r>1, s>1;
- s<r (विलियम ब्लाउ के अनुसार, कोड में कोई चेक नहीं हैं);
- u>0। यदि u=1, तो स्मूथिंग का उपयोग नहीं होता;
- न्यूनतम दरें =([max(r,s)]+u-2+1).