SMI Ergodic Oscillator

The SMI Ergodic Oscillator (SMIEO) uses the SMI Ergodic Indicator. The SMI Ergodic Indicator uses the True Strength Index (RSI), developed by William Blau. The SMI manipulates double moving averages of price minus previous price over 2 time frames. The signal line, which is an EMA of the SMI, is subtracted from the SMI to create the SMI Ergodic Oscillator. The oscillator is displayed as a histogram. The user may change the input (close), method (EMA) and period lengths. This indicator’s definition is further expressed in the condensed code given in the calculation below.

Click here for more information on the TSI.

Click here for more information on the SMI.

SMI Ergodic Oscillator

How To Trade Using SMI Ergodic Oscillator

The SMI Ergodic Oscillator may be used in conjunction with other indicators. The SMIEO is an expression of the RSI which is a momentum indicator. No signals are calculated for this oscillator.

How To Access in MotiveWave

Go to the top menu, choose Study>Oscillators>SMI Ergodic Oscillator

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.


//price (user defined, default is closing price)
//method = moving average (user defined, default is EMA)
//prevP = previousPrice, index = current bar number
//abs = absolute value
//ma = moving average

prevP = price[index-1];
change = price - prevP;
absChange = abs(price - prevP);
tempChange = ma(method, index, fastPeriod, change);
tempAbsC = ma(method, index, fastPeriod, absChange);
tempChange = ma(method, index, slowPeriod, tempChange);
tempAbsC = ma(method, index, slowPeriod, tempAbsC);
SMI = tempChange / tempAbsC;
SIGNAL = ma(method, index, sigPeriod, SMI);