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.
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 (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.
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.
| Bar | Midpoint | SMA(5) | SMA(34) | AO | Bar color |
|---|---|---|---|---|---|
| 37 | 47.890 | 47.488 | 47.967 | -0.479 | Green |
| 38 | 47.920 | 47.629 | 47.917 | -0.288 | Green |
| 39 | 48.100 | 47.779 | 47.875 | -0.096 | Green |
| 40 | 48.315 | 47.970 | 47.842 | +0.128 | Green |
| 41 | 48.400 | 48.125 | 47.813 | +0.312 | Green |
| 42 | 48.680 | 48.283 | 47.791 | +0.492 | Green |
| 43 | 48.780 | 48.455 | 47.779 | +0.676 | Green |
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.
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 chartWhat 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?
| Read | Shape | What it says | How to frame it |
|---|---|---|---|
| Zero-line cross | AO 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. |
| Saucer | Three 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 peaks | Bullish: 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
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.
| Measure | Awesome oscillator | MACD |
|---|---|---|
| Built from | Simple moving averages of the bar midpoint, (high + low) / 2 | Exponential moving averages of the close |
| Common default periods | 5 and 34 | 12 and 26, plus a 9-period signal line |
| Signal line | None | Yes, an average of the MACD line |
| Histogram shows | Fast average minus slow average, in price units | MACD line minus signal line |
| Bar color | Green if higher than the previous bar, red if lower | Depends on the platform, often by sign or by rising and falling |
| Classic reads | Zero-line cross, saucer, twin peaks | Signal-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 it | Yes, 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.
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.
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.
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.
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.