Ergodic MACD

The Ergodic MACD was authored by William Blau. The MACD plot is the difference of a fast and a slow exponential moving average (EMA). A signal line which is a EMA of the MACD is also plotted. Adjustable guides are given to fine tune the trading signals. The user may change the input (close), method and period lengths. This indicator’s definition is further expressed in the condensed code given in the calculation below.
See also MACD.

Ergodic MACD1

How To Trade Using Ergodic MACD

Adjust the top and bottom guides to control the quantity and quality of the trading signals. If the MACD is above the top guide and crosses below the SIG a sell signal will be generated. Conversely, if the MACD is below the bottom guide and crosses above the SIG a buy signal will be given. The 0 line divides the bulls above from the bears below.

Ergodic MACD2

How To Access in MotiveWave

Go to the top menu, choose Study>William Blau>>Ergodic MACD

or go to the top menu, choose Add Study, start typing in this study name until you see it appear in the list, click on the study name, click OK.

Important Disclaimer: The information provided on this page is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security. Please see our Risk Disclosure and Performance Disclaimer Statement.


//input = price, user defined, default is closing price
//method = moving average (ma), user defined, default is EMA
//period1 = user defined, default is 32
//period2 = user defined, default is 5
//period3 = user defined, default is 5
//sig = signal, index = current bar number

Plot1: macd = macd(index, period1, period2, input, method);
Plot2: sig = ma(method, index, period3, MACD);
highSell = macd for last sell signal, reset to max_negative at each  buy signal;
lowBuy = macd for last buy signal, reset to max_positive at each sell signal;
sell = crossedBelow(MACD,SIG) AND macd moreThan topGuide  AND (macd moreThan highSell);
buy = crossedAbove(MACD, SIG) AND macd lessThan bottomGuide AND (macd lessThan lowBuy);