Accelerator Decelerator Oscillator

The Accelerator Decelerator Oscillator by Bill Williams manipulates multiple moving averages of the midpoint price and displays the result with movable guides on a bi-color histogram. The user may change the input (midpoint), method (SMA) and periods lengths. This indicator’s definition is further expressed in the condensed code given in the calculation below.

Accelerator Decelerator Oscillator1

How To Trade Using Accelerator Decelerator Oscillator

Adjust the top and bottom guides to control the quantity and quality of the trading signals. If the ado peaks above the top guide a sell signal will be generated. Conversely, if the ado troughs below the bottom guide a buy signal will be given.

Accelerator Decelerator Oscillator2

How To Access in MotiveWave

Go to the top menu, choose Study>Bill Williams>Accelerator Decelerator 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.


//input = price, user defined, default is midpoint price
//method = user defined, default is SMA
//period1 = user defined, default = 5
//period2 = user defined, default = 34
//period3 = user defined, default = 5
//ma = moving average, index = current bar number
//MT = more than, LT = less than

ma1 =, index, period1, input);
ma2 = ma(method, index, period2, input);
ao = ma1 - ma2;
PlotHist: ado = ao - ma(method, index, period3, ao);
prevAdo = ado[index-1];
highSell = ado for last sell signal, reset to max_negative at each  buy signal;
lowBuy = ado for last buy signal, reset to max_positive at each sell signal;
sell = (ado MT topGuide) AND (prevAdo MT ado) AND (ado MT highSell);
buy = (ado LT bottGuide AND prevAdo LT ado) AND (ado LT lowBuy);