◆ New — Strategy Validator, Code Fixer & Prop Compliance Checker are live. Try one free →
Home / Indicators / Accelerator Oscillator (AC)
Momentum indicator

Accelerator Oscillator (AC)

A Bill Williams histogram that measures whether momentum itself is speeding up or slowing down — momentum of momentum.

Illustrative diagram — not live market data.

What it is

The Accelerator Oscillator (AC) is one of Bill Williams' indicators, introduced in his 1998 book New Trading Dimensions, and it ships as a built-in with MetaTrader 4 and 5. What it measures is simple to state precisely: AC is the Awesome Oscillator (AO) minus a 5-period simple moving average of the Awesome Oscillator. Since AO is itself a momentum measure (the difference between a fast and slow SMA of the bar midpoint), AC measures how that momentum reading is changing — the acceleration or deceleration of momentum, not momentum itself and not price direction. It is drawn as a histogram in a separate pane, usually colored green when the current bar is higher than the previous one and red when lower. Williams attached considerable narrative to this tool ('the market's driving force'), but mechanically it is just a moving-average difference applied twice. Like every indicator, AC is descriptive: it summarizes how past prices behaved and predicts nothing. This entry is educational only, not financial advice, and all trading carries risk of loss.

How it works

The calculation has three layers, each deterministic. First, take the median price of each bar: (high + low) / 2. Second, compute the Awesome Oscillator: the 5-period SMA of median price minus the 34-period SMA of median price. When the short average sits above the long average, AO is positive — recent bars have been higher, on average, than the last 34 bars. Third, compute AC: AO minus the 5-period SMA of AO. This last subtraction is the whole point. It removes AO's own recent average level, leaving only how far AO has moved away from where it has recently been. If AO is rising faster than its own trailing average, AC is positive and growing — momentum is accelerating. If AO is still positive but flattening or rolling over, AC can turn negative even while AO stays above zero — momentum is decelerating before it has actually reversed. The construction is the same trick MACD uses (a series minus a smoothed version of itself), applied to a momentum series rather than to price. Because every layer is a lagging average of past bars, AC changes after the underlying behavior it describes has already occurred.

How traders read it

Common settings

AC has no user-adjustable inputs in the classic MetaTrader implementation: it is fixed at AO(5, 34) on the bar midpoint, with a 5-period SMA of AO subtracted. Pine and custom versions often expose the 5/34/5 lengths as inputs. Shortening them makes the histogram more reactive and noisier; lengthening smooths it and adds lag. It can be applied on any timeframe, and changing the timeframe changes every reading.

Strengths

Pitfalls to watch

Pine v6 example

//@version=6
indicator("Accelerator Oscillator (AC)", overlay = false)

fastLen = input.int(5,  "AO Fast Length", minval = 1)
slowLen = input.int(34, "AO Slow Length", minval = 1)
acLen   = input.int(5,  "AC Smoothing Length", minval = 1)

ao = ta.sma(hl2, fastLen) - ta.sma(hl2, slowLen)
ac = ao - ta.sma(ao, acLen)

isRising = ta.change(ac) > 0
plot(ac, "AC", color = isRising ? color.green : color.red, style = plot.style_histogram)
hline(0, "Zero", color = color.gray)

Pro tip: Read AC alongside the Awesome Oscillator it is built from, not instead of it: AO tells you where momentum is, AC tells you whether that reading is stretching away from or falling back toward its own recent average. When the two disagree — AO positive but AC printing red bars — treat it as a note that the push is aging, nothing more. Ignore single-bar color flips near zero entirely. This is educational context only, not advice; AC describes past acceleration and cannot predict price, and all trading involves risk of loss.

Built an indicator from this? Run it through the Validator to catch look-ahead bias and repainting, or convert a strategy to Pine Script.

Educational only — not financial advice, not a recommendation to trade. No indicator is predictive; trading involves substantial risk of loss.

Catch the bug that compiles.Run auditGet Pro