The Awesome Oscillator (AO) is a momentum indicator developed by Bill Williams to show, at a glance, whether the market's short-term momentum is pulling away from or falling back toward its longer-term momentum. It's a histogram, not a line, and it's built a little differently from the oscillators most traders learn first — instead of comparing closing prices over a lookback period like RSI, it compares two moving averages of the candle's midpoint. That single design choice gives AO its two signature traits: it has no adjustable period settings to tune, and unlike RSI it isn't bound to a fixed 0–100 range — it simply oscillates around a zero line with no ceiling or floor.
How the Awesome Oscillator Is Calculated
AO takes the midpoint of each bar — (High + Low) / 2 — rather than the closing price, on the idea that the middle of a candle better represents where the "average" trade happened during that period. It then runs two simple moving averages over that midpoint series: a fast 5-period SMA and a slow 34-period SMA. AO is simply the fast average minus the slow average, plotted as a histogram bar for every candle. When the 5-period average is above the 34-period average, momentum over the last few bars is stronger than the longer-term trend, and AO reads positive; when it's below, AO reads negative. Each bar is colored based on whether it closed higher or lower than the previous bar — green (rising) when the current reading is above the prior one, red (falling) when it's below — which is what gives the histogram its distinctive stair-step look and makes momentum shifts visible before a full crossover happens.
Because the 5 and 34 periods are fixed by the indicator's original design, there's no settings dialog to fight with the way there is with MACD's 12/26/9 or a custom moving average length. Every trader looking at AO on a given timeframe is looking at exactly the same calculation, which makes it easier to compare notes and easier to trust that a pattern you read in a book will look the same on your own chart.
The Zero-Line Cross
The simplest AO signal is the zero-line cross, and it works exactly the way it sounds: when the histogram crosses from below zero to above zero, the 5-period midpoint average has just overtaken the 34-period average, signaling that short-term momentum has flipped bullish relative to the longer trend — a BUY signal. The mirror image, AO crossing from positive to negative, means short-term momentum has flipped bearish — a SELL signal. This is the most literal reading of what AO measures: it's the moment the fast average and slow average change which one is on top.
The zero-line cross is easy to spot and easy to automate, but it comes with the same trade-off every crossover-based signal carries — it confirms a shift that has already partly happened, since both moving averages need to actually cross before the bar prints on the correct side of zero. In a strongly trending market this lag matters less, because the cross tends to hold. In a choppy or ranging market (see trend vs range), AO can drift back and forth across zero repeatedly, generating a cluster of crosses that cancel each other out within a few bars.
The Twin Peaks Pattern
Twin peaks is AO's signature setup and the pattern most traders associate with the indicator specifically. A bullish twin peaks forms when AO makes a trough below the zero line, rises back up, then falls again to form a second trough — and that second trough sits higher (shallower) than the first one, with at least one green, rising bar occurring somewhere between the two troughs. The shallower second low tells you that downward momentum is weakening even though price may still be making a similar or lower low, which is a subtle form of momentum divergence built directly into the shape of the histogram. The bullish signal triggers on the first green bar after the second, higher trough forms — that's the moment the pattern confirms and the setup is considered actionable.
The bearish twin peaks is the exact mirror: two peaks above the zero line, where the second peak is lower than the first, with at least one red, falling bar between them. The signal triggers on the first red bar following that second, lower peak. In both directions, what matters is not the absolute height of the peaks or troughs but the direction of change between them — a second peak that's even slightly lower, or a second trough that's even slightly higher, is enough to qualify. Because both peaks (or both troughs) must sit on the same side of the zero line, twin peaks is inherently a within-trend pattern — a bullish twin peaks below zero is read as a continuation-style reversal back toward the bullish side, not necessarily the start of a brand-new long-term uptrend.
Entry Conditions
- BUY — a bullish twin peaks below the zero line (second trough shallower than the first, with a green bar between them), or AO crossing from negative to positive on the zero line.
- SELL — a bearish twin peaks above the zero line (second peak lower than the first, with a red bar between them), or AO crossing from positive to negative on the zero line.
These two signals work at different speeds. The zero-line cross is a lagging but unambiguous confirmation that momentum has fully flipped. Twin peaks tries to catch the reversal earlier, while price is still on the "wrong" side of zero — which means it fires sooner but asks more of the trader's judgment, since deciding what counts as a clean second trough is less mechanical than watching a line cross zero.
The Saucer Pattern
The saucer is a faster, more aggressive variant of the twin-peaks idea, built for traders who want an earlier entry and are willing to accept more false signals in exchange. Instead of requiring two full troughs, a bullish saucer needs just three consecutive bars, all above the zero line, where the first bar is red (falling), the second bar is a shorter red bar (momentum decelerating but still falling), and the third bar turns green (rising). The signal triggers on that third bar. A bearish saucer is the mirror — three bars below zero, with two shrinking green bars followed by a red one. Because a saucer only needs a shallow dip in momentum rather than a full round trip below (or above) zero, it fires well before a twin peaks pattern could even form, but for the same reason it's more prone to firing on ordinary short-term noise rather than a genuine momentum shift — it's best treated as a quick continuation signal within an already-established trend, not a standalone reversal call.
Awesome Oscillator vs MACD
AO and MACD are close cousins — both are momentum oscillators built as the difference between a fast and a slow moving average, both plot a histogram, and both offer a zero-line cross as a core signal. The differences come down to what they average and how much extra structure they carry. MACD is built from the closing price using exponential moving averages (12 and 26 periods) and adds a signal line (a 9-period EMA of the MACD line itself), which gives it a second, faster crossover signal on top of the zero-line cross. AO is built from the bar midpoint using simple moving averages (5 and 34 periods) and has no signal line at all — the histogram is the only line you get. In practice this means AO trades a bit of nuance for consistency: no signal-line crossovers to watch, no settings to second-guess, and a specific, well-defined pattern (twin peaks) built to compensate for not having that second line. Traders who want a more customizable tool with an extra layer of confirmation tend to prefer MACD; traders who want a simpler, standardized read on momentum tend to prefer AO.
A Word of Caution
Twin peaks is a pattern-recognition signal, and pattern recognition is inherently more subjective than a simple crossover. Deciding whether a second trough is genuinely "shallower" than the first, or whether it's close enough to call a tie, is a judgment call — two traders can look at the same histogram and disagree about whether a valid twin peaks has actually formed. In choppy, low-momentum markets this ambiguity gets worse: AO's bars stay small and shuffle above and below zero without committing to a real trend, producing shapes that technically satisfy the twin-peaks definition but don't lead anywhere, because there was never a real momentum extreme to reverse from. As with any lagging, moving-average-based tool, the safest use of AO is alongside a read on the broader market state — check trend vs range first, and treat twin-peaks signals that align with the higher-timeframe trend with more confidence than ones that fight it.
Download the Indicator
This custom indicator plots the Awesome Oscillator histogram, with automatic alerts when a zero-line cross or twin-peaks pattern occurs. It's available for both MetaTrader 4 and MetaTrader 5 below.
How to Install — MetaTrader 4
- Download the
awesome-oscillator-alert.mq4file below. - Open MetaTrader 4 → click
File→Open Data Folder. - Place the file in the
MQL4/Indicatorsfolder. - Restart MetaTrader 4, then drag the indicator from the Navigator window onto the chart.
How to Install — MetaTrader 5
- Download the
awesome-oscillator-alert.mq5file below. - Open MetaTrader 5 → click
File→Open Data Folder. - Place the file in the
MQL5/Indicatorsfolder. - Restart MetaTrader 5, then drag the indicator from the Navigator window onto the chart.
Both files are source code — open and review the full code before using it, for your own safety.