Blog/Technical Analysis
Technical AnalysisOct 4, 202612 min read

Awesome Oscillator: The Bill Williams Histogram, Explained (vs. MACD)

The awesome oscillator (AO) is a 5 and 34 period difference of simple moving averages of the bar midpoint, drawn as a green and red histogram. The formula worked out bar by bar, how the colors work, the zero-line cross, saucer and twin peaks read as with-trend continuation setups, how it differs from MACD, settings, divergence, where it lags, and what SnapPChart does and does not read.

BL
Benjamin Loh
Founder of SnapPChart · trader and dev

The awesome oscillator looks like MACD's histogram with the signal line stripped off, and in a sense that is what it is. A fast average minus a slow average, drawn as green and red bars around zero. The differences are the ones that trip people up: the inputs are bar midpoints, the averages are simple, and the colors mean something other than what most people assume. This post is the mechanics, with the arithmetic worked out, the three classic reads and an honest section on where it lags.

Quick Answer

The awesome oscillator in one paragraph

The awesome oscillator (AO) is a momentum indicator credited to Bill Williams. AO = SMA(5) of the bar midpoint minus SMA(34) of the bar midpoint, where the midpoint is (high + low) / 2. It is drawn as a histogram around a zero line, with a bar colored green when it is higher than the previous bar and red when it is lower. The classic reads are the zero-line cross, the saucer and twin peaks. It has no signal line, it is in price units, and because it is a difference of averages of past bars it lags the move it describes.

Each piece gets its own section, and the formula comes with a table you can check by hand.

What Is the Awesome Oscillator?

The TradingView help page on the Awesome Oscillator says it was created by Bill Williams, and Wikipedia's entry on Williams lists it among his indicators, alongside the Alligator, Fractals and the Gator Oscillator. Those are separate tools. This post is only about AO.

On a chart it sits in its own pane under price, as bars above and below a zero line. Above zero means the short average of midpoints is higher than the long one. Below zero means the reverse. How far from zero tells you how stretched the two averages are from each other, in the same units as price. It is not bounded, so unlike RSI it has no overbought or oversold line. It has more in common with the MACD histogram, which the MACD day trading guide covers.

The Awesome Oscillator Formula, Worked Out

TradingView writes it as AO = sma((high + low) / 2, 5) - sma((high + low) / 2, 34). Two things are worth saying out loud. First, the input is the midpoint of each bar, not the close. Second, both averages are simple, the plain average with equal weights that the simple moving average guide walks through.

Awesome oscillator (AO)

Midpoint = (high + low) / 2. AO = average of the last 5 midpoints - average of the last 34 midpoints.

Here is a hypothetical bar, bar 40 of the 76-bar series in the chart further down. The last five midpoints (bars 36 to 40) are 47.625, 47.890, 47.920, 48.100 and 48.315. They add up to 239.850, and 239.850 / 5 = 47.970. The average of the last 34 midpoints (bars 7 to 40) is 47.842. So AO at bar 40 = 47.970 - 47.842 = +0.128. The table runs the same arithmetic for seven bars, and you can see AO cross zero.

AO, bar by bar
hypothetical bars. not market data
BarMidpointSMA(5)SMA(34)AOBar color
3747.89047.48847.967-0.479Green
3847.92047.62947.917-0.288Green
3948.10047.77947.875-0.096Green
4048.31547.97047.842+0.128Green
4148.40048.12547.813+0.312Green
4248.68048.28347.791+0.492Green
4348.78048.45547.779+0.676Green

Notice what happens. The 34-bar average barely moves from row to row, because each new midpoint carries a thirty-fourth of the weight. The 5-bar average moves a lot more, because each carries a fifth. So AO is mostly the fast average pulling away from, or back toward, a slow one. Also, AO needs 34 bars of history before the first value exists, so on a freshly loaded chart the histogram starts blank.

Before you act on the histogram

AO tells you which way the averages are leaning. It doesn't tell you whether the level you would be buying is a good one.

Upload the screenshot and SnapPChart grades that single image as a momentum continuation setup: structure, levels, EMAs, VWAP and the volume bars in frame, then an entry, a stop with its reasoning, targets and the reward-to-risk they imply.

Grade this chart

What the Green and Red Bars Mean

This is the part most people assume wrong. According to TradingView, the histogram is green when the value is higher than the previous bar and red when it is lower. The color is about direction of change, not about being above or below zero. So you can have a green bar below zero (AO is negative but rising, as in bars 37 to 39 in the table) and a red bar above zero (AO is positive but falling).

That makes the colors a read on whether momentum is building or fading, and the position against zero a read on which average is on top. They are two separate pieces of information, and the three classic reads below are combinations of them.

Zero-Line Cross, Saucer and Twin Peaks

TradingView describes three signals. A zero-line cross, when AO moves above zero, means short-term momentum is rising faster than long-term momentum, and the opposite below. The saucer looks at three consecutive bars on the same side of zero. And twin peaks looks at two peaks on the same side of zero. The table gives the bullish version of each as TradingView lays it out, plus how each reads once you ask the question this site cares about: is it a continuation of an existing trend, or an attempt to pick a turn?

The three classic reads
bullish versions, mirror for bearish
ReadShapeWhat it saysHow to frame it
Zero-line crossAO moves from below zero to above it (or the reverse).The 5-bar average of midpoints has moved past the 34-bar one.A late confirmation of a move already under way. Useful as a with-trend read, for example AO returning above zero after a pullback in an uptrend. A fresh cross at the bottom of a downtrend is a bottom pick.
SaucerThree bars on the same side of zero. Bullish: AO above zero, two red bars (the second lower), then a green bar.Momentum paused or dipped and then turned back up, while the longer picture stayed positive.A with-trend continuation read: a shallow pause inside an uptrend, then momentum re-accelerating. The bearish mirror sits below zero.
Twin peaksBullish: two peaks below zero, the second higher than the first, the trough between them staying below zero, then a green bar.Two attempts at the same side of zero, the second with less push against it.Only worth a look when the bigger trend is up and a deep pullback dragged AO below zero. The same shape at the end of a long decline is bottom ticking, which is the low-grade setup.

Why the framing column matters

The saucer is the cleanest fit for a trend trader because it happens above zero, where the longer picture is already positive. It is a momentum pause followed by a restart in the direction the trend was already going. Twin peaks and a fresh zero-line cross are different. Taken at the end of a long decline, both are an attempt to call the low, and top and bottom ticking is the low-grade setup, and it is the kind of reversal call SnapPChart's grader does not take. The same shapes taken inside an established uptrend after a deep pullback are a with-trend resumption, which is a very different trade to the same histogram pattern. The histogram looks identical in both cases. The chart around it is what tells them apart.

All of It on One Chart

The diagram below is built from 76 made-up bars: a drift lower, a rise, a shallow pause, then a resumption. The bottom pane is AO(5, 34) computed from the same bars, with bars colored by whether each is higher or lower than the one before it.

Illustrative only: hypothetical bars with AO(5, 34) computed from them

Awesome oscillator diagram: price above an AO histogram with a zero-line cross and a saucerTwo stacked panes built from 76 made-up bars. The top pane shows closing price with a short vertical bar for each high and low: a drift lower to about 46 at bar 29, a rise to about 51 by bar 54, a brief pause, and a push on to about 55. The bottom pane shows the AO histogram. It starts at bar 33 below zero and rising, crosses above zero at bar 40, climbs to about 2.4 before the pause, dips for two red bars at bars 57 and 58 while still above zero, then turns green again at bar 59 and keeps rising.price (hypothetical closes, with each bar's high and low)AO(5, 34): green = higher than the previous bar, red = lowerlow, bar 290zero-line cross, bar 40saucer: red, red, greenmade-up bars, AO computed from them. not market data
Illustrative AO(5, 34) under hypothetical price: a late zero-line cross, then a shallow saucer above zero inside a rising trend

Two things to take from it. The zero-line cross arrives at bar 40. The low of the series was 46.06 at bar 29, and the close at bar 40 is 48.35, which is $2.29 off the low. The cross confirmed a move that was already well under way. Then the saucer: price pulled back slightly over bars 54 to 56 (closes of 50.90, 50.85 and 50.73), AO turned red at bars 57 and 58 as the fast average caught up, still above zero, and went green again at bar 59 as price pushed to 51.66. That is a shallow dip inside a rising trend, and it is the version of the pattern that sits comfortably with a continuation read. Note the delay again: the histogram turned red after the pullback had started.

Awesome Oscillator vs MACD

Same family, different construction. Both measure a fast average against a slow one. The table lays out the differences, using MACD's common defaults of 12, 26 and 9.

AO vs MACD
defaults vary by platform, check yours
MeasureAwesome oscillatorMACD
Built fromSimple moving averages of the bar midpoint, (high + low) / 2Exponential moving averages of the close
Common default periods5 and 3412 and 26, plus a 9-period signal line
Signal lineNoneYes, an average of the MACD line
Histogram showsFast average minus slow average, in price unitsMACD line minus signal line
Bar colorGreen if higher than the previous bar, red if lowerDepends on the platform, often by sign or by rising and falling
Classic readsZero-line cross, saucer, twin peaksSignal-line cross, zero-line cross, histogram changes, divergence
Does SnapPChart read it?Not instructed to. It can only be in the screenshot if you plot itYes, its instructions describe MACD line, signal, histogram and zero-line position

The practical difference is the signal line. MACD gives you a crossover to react to, and AO does not, so its reads come from the shape of the bars. Because both are built from averages of past prices, you would expect them to agree most of the time. When they disagree, the usual cause is the inputs: exponential averages of the close respond faster to the latest closes than simple averages of midpoints. For how MACD is set and read intraday, see the MACD day trading guide, and for the exponential average behind it, the EMA day trading strategy post.

Best Settings and Divergence

Settings. The standard pair is 5 and 34, and it is the one TradingView lists. There is no best pair that the indicator picks for you. A shorter pair gives more color flips and more noise. A longer pair is smoother and later. If you change it, the saucer and twin peaks descriptions you read were written around 5 and 34, so they apply less cleanly. Say what the periods cover in time: on a 5-minute chart, 34 bars is about two hours and fifty minutes.

Divergence. Price makes a higher high while the AO peak is lower than its last one, or price makes a lower low while AO's trough is shallower. It says the push behind the move is thinner than the price suggests. It does not say the move is over, and divergence can persist while price keeps going. Use it as a reason to look harder at the trade you are in, such as whether to tighten a stop, not as a reason to pick a top. The method for matching swings, and the ways it goes wrong, are in the bullish and bearish divergence guide, and the bounded-oscillator counterpart is in the RSI trading strategy post.

Where the Awesome Oscillator Lags

It is a difference of averages of bars that have already printed, so it describes what happened. The zero-line cross is the clearest example: in the chart above it showed up eleven bars after the low. The 34-bar half also means the histogram is slow to forget. A sharp reversal in price takes a while to drag the slow average with it.

In a sideways market the two averages tend to tangle around each other, so AO typically hugs zero and flips color often, and each flip looks like a signal. That is general behaviour of a difference of two averages, not a measured statistic for AO. The bars also say nothing about levels. A green saucer straight into a prior swing high and a green saucer with open air above it look the same in the pane.

Reading the awesome oscillator without fooling yourself
momentum shape, not an entry
You know what 5 and 34 bars cover in time on this chartPASS
You read the bar color as direction of change and the zero line as which average is on topPASS
You take a saucer above zero in an established uptrend as a pause, then a restartPASS
You check where price sits against structure before trusting any histogram shapePASS
You remember a zero-line cross is late, and the move has already startedPASS
Treating a twin peaks at the end of a long decline as a guaranteed bottomWATCH
Reading every green bar as a buy, including green bars below zeroWATCH
Using the histogram in a flat range, where it flips around zeroWATCH

AO and the Screenshot: What SnapPChart Does

The precise version, since this is easy to oversell. SnapPChart reads one chart screenshot you upload. It does not calculate an awesome oscillator, and it does not use an alligator or fractals. If you plot AO under the chart before you take the screenshot, the histogram and its colors are in the image like everything else, but the grader does not calculate it or signal off it. Its instructions name EMAs, VWAP, MACD and volume, plus structure and levels.

What you get is a setup grade for a momentum continuation, with an entry, a stop and the reasoning behind that stop's level, targets and the reward-to-risk they imply. It takes continuation setups only, a pullback in an established uptrend or a rally in an established downtrend, and it does not take reversals. So the AO reads that fit that lens are the ones taken with an established trend, such as a saucer above zero in an uptrend, and top and bottom ticking with a twin peaks or a fresh cross at the end of a long move is the low-grade setup. What a single image carries is described on the AI chart analysis page, and the broader question of which indicators earn space on an intraday chart is in the indicator roundup for day traders.

The short version to act on

AO = SMA(5) of the bar midpoint minus SMA(34) of the bar midpoint, with the midpoint as (high + low) / 2. It is a histogram around zero, green when higher than the previous bar and red when lower. The classic reads are the zero-line cross, the saucer and twin peaks. It has no signal line, it lags, and the same histogram shape can be a with-trend restart or a bottom pick depending on the chart around it. SnapPChart does not calculate it.

Frequently Asked Questions

What is the awesome oscillator?

The awesome oscillator (AO) is a momentum indicator drawn as a histogram around a zero line. It is the 5-period simple moving average of each bar's midpoint, (high + low) / 2, minus the 34-period simple moving average of the same midpoints. TradingView's help page credits it to Bill Williams. Positive means the recent average sits above the longer one, negative means below. It is a difference of two averages, so it reacts after price has moved, not before.

What are the best settings for the awesome oscillator?

The standard version is 5 and 34, and that is what TradingView's page lists. There is no best setting that the indicator hands you. A shorter pair makes the histogram twitchier and flips color more often, a longer pair is smoother and later. If you change it, change it on purpose and say what the periods cover in time on your timeframe. Saucer and twin peaks were described around the standard pair, so the further you move from it, the less anyone else's description of those patterns applies to your chart.

What is the difference between the awesome oscillator and MACD?

Both are a fast average minus a slow average, but the inputs differ. MACD is built from exponential moving averages of the close and adds a signal line, with common defaults of 12, 26 and 9. AO is built from simple moving averages of the bar midpoint, has no signal line, and colors each bar by whether it is higher or lower than the bar before it, not by whether it is above zero. The table in this post puts them side by side.

How do you use awesome oscillator divergence?

The idea is the usual one. Price makes a new high but the AO peak is lower than its previous peak, which says momentum behind the move is thinner than it looks (the mirror for lows). Treat it as a warning about a move that is running out of push, not as a timing signal, because divergence can persist while price keeps going. The swing-matching method, the mirror cases and the common mistakes are covered in the bullish and bearish divergence guide linked below, and they apply to AO the same way they apply to RSI.

Does the awesome oscillator work on every timeframe?

The formula does not care. It averages the midpoints of whatever bars the chart is drawn in, so a 5-period average on a 5-minute chart covers 25 minutes and on a daily chart covers a trading week. That is the same arithmetic with a very different meaning, so say the period in time before comparing two charts. Whether it is useful on a given timeframe is something to check on your own charts, and no win rate is claimed here for any timeframe.

Does SnapPChart read or calculate the awesome oscillator?

No. SnapPChart reads only the chart screenshot you upload, and it does not calculate an awesome oscillator, an alligator or fractals. If you plot AO under the chart, the histogram and its colors are in the image like everything else, but nothing in the grader's instructions tells it to read or signal off it. Its instructions name EMAs, VWAP, MACD and volume, plus structure and levels. It also grades momentum continuation setups only, not reversals.

Disclaimer

This article is for educational and informational purposes only and is not investment, financial or trading advice. The awesome oscillator formula, the 5 and 34 periods, the use of bar midpoints, the green and red bar colors, the zero-line cross, saucer and twin peaks descriptions and the attribution to Bill Williams are as described by the cited sources (TradingView's help page and Wikipedia) and are reproduced as their published descriptions, not as rules endorsed here. The MACD defaults and the general remarks about lag and sideways markets are general knowledge, not sourced claims. Every worked example, including the bar 40 arithmetic, the seven-bar table and the 76-bar series, is a hypothetical construction built so the arithmetic can be checked; none is a real security or session. The diagram is illustrative and computed from made-up bars, not market data. No win rate, success rate or backtest is claimed for the awesome oscillator, any period, any pattern or any timeframe. Indicator readings describe price that has already traded and do not predict direction. Day trading carries a substantial risk of loss and is not suitable for every investor. SnapPChart grades a static chart screenshot you upload and returns a setup grade, entry, stop, targets and reasoning for that single image; it grades momentum continuation setups only, does not calculate or read the awesome oscillator, an alligator or fractals, does not take reversal or counter-trend setups, and does not use live data. Do your own analysis, size positions so that being wrong is survivable, and consider speaking to a licensed financial professional about your own circumstances before trading.

BL
Benjamin Loh
Founder of SnapPChart · trader and dev

Writes about AI-assisted day trading, technical analysis, and the systems traders actually use to stay disciplined.

The histogram shows momentum. It doesn't tell you if the entry is any good.

Upload the chart screenshot and SnapPChart grades that one image as a momentum continuation setup, reading the structure, levels, EMAs, VWAP and volume bars in frame, then returns a setup grade, an entry, a stop with the reasoning behind its level, targets, and the reward-to-risk they imply. One skipped bad entry covers it.

Grade your setupNo card required