How it works
The Awesome Oscillator is the difference between a fast and a slow simple moving average, taken on the midpoint of each bar rather than on the close. The choice of midpoint is deliberate: its author argued that the middle of the bar's range represents where the market actually did business, free of the closing auction's noise and of whatever happened in the final seconds of the period. Whether or not you accept that reasoning, the practical effect is a slightly steadier series than a close-based equivalent.
Structurally it is a MACD without the exponential weighting and without a signal line: 5 versus 34, simple averages, plotted as a histogram around zero. The 5 and 34 are not arbitrary in the original framework, which drew on Fibonacci numbers throughout, but their real justification is empirical — five bars is roughly a short swing, thirty-four is roughly a full trend leg on a daily chart, and the difference between them measures whether the recent swing is pulling ahead of the established drift.
The histogram's colouring carries most of the information in daily use. Each bar is drawn in one colour if it is higher than the previous bar and another if it is lower, so the visual immediately shows acceleration and deceleration independent of whether the value is positive or negative. A green bar below zero means the market is still net weak but falling less quickly than before — a nuance the raw number does not communicate.
Two named patterns are conventionally traded on it. The 'saucer' is a shallow three-bar dip and recovery on the same side of zero, read as a pause within a continuing move. The 'twin peaks' pattern is a divergence variant: two troughs below zero where the second is shallower than the first and the histogram then turns up, read as fading downside pressure. Both are ordinary momentum readings dressed in memorable names, and both work in the same conditions that any divergence works in.
Compared with MACD, AO is slower to react at the fast end because simple averages weight all bars equally, and it lacks a signal line so crossovers are not available. Compared with plain Momentum it is far smoother. It sits naturally alongside a trend tool: within Bill Williams's own framework it was one component of a system, never a standalone signal.
Calculation
The arithmetic in words, in the order it happens.
For each bar compute the median price, (high + low) / 2. AO = the 5-period simple moving average of median price minus the 34-period simple moving average of median price. The result is plotted as a histogram around zero. Bars are conventionally coloured by comparison with the previous bar: green when the current value is higher than the previous value, red when it is lower, regardless of which side of zero the histogram sits on. There is no signal line and no exponential weighting anywhere in the calculation.
Source
An AlgoBeamScript implementation of the formula above, written by us from the arithmetic so the code and the calculation agree line for line.
Runs unchanged on the platform and in the AlgoBeamTS runtime. The language reference is in the documentation.
Inputs
Defaults are the values most charting packages ship with. They are conventions, not optimal settings — the right length depends on your instrument and your holding period.
| Input | Default | What it changes |
|---|---|---|
| Fast Length | 5 | Bars in the short simple moving average of median price. Lowering it makes the histogram twitchier and produces more colour flips; raising it toward the slow length compresses the whole oscillator toward zero. |
| Slow Length | 34 | Bars in the long average, representing the established drift the short swing is measured against. Lengthening it makes zero-line crossings rarer and more meaningful, at the cost of a much later signal. |
How to read it
What practitioners take from the plot. Read these as descriptions of market state, not as entry signals.
- Histogram crossing above zero
- The five-bar drive has overtaken the thirty-four-bar drive. The oscillator's own definition of a momentum shift to the upside, and the closest thing it has to a discrete signal.
- Histogram crossing below zero
- The mirror case: short-term drive has fallen below the longer-term drift.
- Colour flip while still above zero
- Acceleration has stopped but the market is still net strong. Read as a pause or a pullback warning rather than a reversal.
- Shallow dip and recovery on one side of zero (saucer)
- A brief loss of drive inside a continuing move. The conventional continuation read, and the pattern the indicator is best known for.
- Second trough shallower than the first below zero
- Downside drive is fading across two attempts. A divergence in histogram form, with the same reliability caveats as any divergence.
Limitations
Where this indicator misleads. None of these are fixed by a better parameter.
- Two simple moving averages mean real lag. The zero-line cross arrives well after the turn, and on a 34-bar slow length that delay can span a large part of a swing.
- In a sideways market the histogram oscillates around zero and flips colour constantly, producing a signal stream with no edge.
- Its values are in price units, so its amplitude is not comparable across instruments and cannot be used to judge how extreme a reading is.
- The named patterns are informal and undefined in any precise way, which makes them easy to see in hindsight and hard to specify in a testable rule.
Educational reference. This page explains how an indicator is built and how it is commonly read. It is not investment advice, not a recommendation and not a signal service. No indicator is profitable on its own — each is a way of describing a market, and any rule built on one has to be tested with realistic costs before it is traded.