Bill Williams MomentumCrossoverHistogram Available in Builder

Awesome Oscillator

The Awesome Oscillator is the gap between a 5-period and a 34-period average of median price, drawn as a two-colour histogram around zero. It has no settings to tune and no signal line — which makes it one of the most directly buildable momentum rules in MT5.

Fixed periods
5 / 34
Centre
Zero line
Inputs
None
Zero — the momentum flipAO — SMA(5) − SMA(34) of median price; colour = higher than the last bar

Illustrative — synthetic data, not a live quote.

What AO tells you

AO compares the recent momentum of the market to its medium-term momentum by subtracting a slow average of the bar midpoint from a fast one. Above zero the short-term is leading; below zero it is lagging. There is nothing to configure, which removes a whole category of overfitting.

  • Above zero: short-term momentum leads the medium term
  • Below zero: it lags
  • The bar colour reports whether this bar is higher than the last, not the sign
  1. 1 Average median price over 5 bars
  2. 2 Average it over 34 bars
  3. 3 Subtract the slow from the fast
Show the formula & calculation detail

The Awesome Oscillator is a difference of two simple averages, computed on the midpoint of each bar:

  1. Take the median price of each bar: MP = (High + Low) / 2.
  2. Compute a 34-period simple moving average of MP, and a 5-period simple moving average of the same series.
  3. Subtract: AO = SMA(MP, 5) − SMA(MP, 34).

The result is published on buffer 0 and drawn as a histogram. MT5 colours each bar by comparing it to the previous one — green when the value rose, red when it fell — which is a separate piece of information from whether the bar is above or below zero.

Every number in that calculation is fixed. iAO accepts only a symbol and a timeframe; there are no period arguments, no applied-price argument, and no signal line. That is unusual in MT5 and it is deliberate: Bill Williams designed AO as a single unambiguous reading of whether short-term momentum is leading or lagging the medium term, and there is nothing in it to tune.

In MQL5 the call is iAO(symbol, period) and it returns a handle to one buffer. Because the output is a raw price difference, its magnitude scales with the instrument — only the sign, the direction of change and the shape carry meaning from one symbol to another.

Signals

The distinct, backtestable signals AO gives — and the regime each one suits.

Zero-Line Crossover

Builder ready
Condition
AO crosses above or below zero
Best regime
Trending or turning markets
Typical use
Flip the momentum bias with a single unambiguous event

Bar Colour Change

Builder ready
Condition
The histogram stops falling and starts rising, or vice versa
Best regime
Either regime
Typical use
Read acceleration one step before the zero cross

Saucer

Advanced logic
Condition
Three bars on the same side of zero forming a shallow dip and recovery
Best regime
Trend continuation
Typical use
Join a trend on a pause rather than a reversal

Twin Peaks

Advanced logic
Condition
Two peaks on the same side of zero, the second lower
Best regime
Trend exhaustion
Typical use
Anticipate a stall before price confirms

MT5 implementation

What MetaTrader 5 itself computes and draws — the reference every rule on this page is written against.

Buffers

Index Buffer Drawn in MT5 as What it holds
0 MAIN_LINE Histogram The AO value — SMA(5) minus SMA(34) of median price. MT5 draws it as a histogram coloured by whether each bar is higher or lower than the one before.

Platform notes

Works best / use carefully

No indicator is a universal edge. Here is where AO helps — and where it misleads.

Works best

  • Trending markets
  • As a momentum confirmation
  • Higher timeframes
  • When you want zero parameters to fit

Use carefully

  • Tight, directionless ranges
  • Comparing AO values across instruments
  • The pattern rules without careful definition
  • AO alone as an entry

Build a strategy with AO

Wire the signal into entry and exit rules, then export a compilable MT5 EA — no code.

  1. Awesome Oscillator
  2. Zero constant
  3. AO crosses above zero and price is above the AMA → Open Buy · SL 50 / TP 100
  4. AO crosses below zero and price is below the AMA → Open Sell

Combine AO with other indicators

One indicator rarely stands alone. These pairings cover AO's blind spots.

AO + Accelerator Oscillator

  1. AO above zero
  2. AC higher than the previous bar
  3. Buy
Why
AC is this indicator with its own five-bar average subtracted, so it reports whether the momentum AO is measuring is still building. Requiring AO to be above zero before acting on a rising AC bar separates accelerating within an up move from accelerating out of a down one — the pairing Bill Williams intended
Best regime
Trending

No single-flow template pairs them, though both nodes exist. Start from AC Acceleration + Pitch Trail and add an AO node with a Compare against a Constant of 0 into the same AND gate.

Open Builder →

AO + AMA

  1. AO crosses above zero
  2. Price above the AMA
  3. Buy
Why
Take the momentum flip only when the adaptive trend line agrees on direction, so a zero cross inside a range is ignored
Best regime
Trending
Build this strategy →

AO + Alligator

  1. Lips crosses teeth
  2. AO crosses zero
  3. Buy
Why
Pair Bill Williams' momentum tool with his regime tool, which is how the two were designed to be read together
Best regime
Trend start

No single-flow template pairs AO with the Alligator. Start from AO + AMA and swap the AMA condition for Alligator nodes into a Cross.

Open Builder →

AO + Fractals

  1. AO above zero
  2. Price breaks the last fractal high
  3. Buy
Why
Use momentum for the bias and the last swing level for the trigger, so entries happen at structure rather than at an arbitrary bar
Best regime
Breakout

No single-flow template pairs AO with Fractals. Start from AO + AMA and add Fractals nodes with a Price node into a Cross.

Open Builder →

AO + BW MFI

  1. AO above zero
  2. Index and volume both rising
  3. Buy
Why
The other half of Bill Williams' bar-by-bar reading. AO says which way momentum points and over what horizon; the Market Facilitation Index says whether the single bar in front of you moved efficiently and whether anyone was in it. AO cannot tell a wide participated bar from a wide empty one, and the index cannot tell up from down — each supplies exactly what the other lacks
Best regime
Trending

No single-flow template pairs the two. Start from BW MFI Green Bar and add an AO node with a Compare against a Constant of 0, feeding it into the AND tree in place of the Close-versus-Open pair.

Open Builder →

Parameters

Starting values to validate on your own pair and timeframe — not guaranteed settings.

Parameter Default Suggested test range What it does
Periods 5 / 34 Fixed in the indicator. iAO takes no period arguments at all, so these cannot be changed without writing a custom indicator.
Applied price Median Also fixed. AO is defined on median price, (high + low) / 2, and iAO exposes no way to change it.
Shift 0 0–3 Which bar back the value is read from — a node-level setting, not an indicator input. Shift 1 compares against a fully closed bar.

Starting presets

Standard 5 / 34 The only configuration — AO has no inputs

Market examples

Where AO works, where it fails, and how a filter changes the outcome.

Works

Zero cross into a trend

AO crosses up through zero as a range resolves and stays positive for the whole leg — the clean momentum flip the template trades.

Fails

Zero cross in a range

In a flat market AO oscillates around zero and crosses repeatedly. Each cross is a trade with no move behind it.

Filtered

Trend line filters the cross

With the adaptive average as a second condition, the same cluster of zero crossings is ignored while price goes nowhere.

FAQ

Can I change the AO periods?
Not through iAO. Unlike almost every other MT5 indicator, the Awesome Oscillator takes no period arguments — 5 and 34 on median price are part of its definition. If you need different windows you are building a custom indicator, or you can express the same idea with two moving-average nodes and a subtraction. The upside is that there is nothing here to overfit.
What does a green AO bar mean?
That this bar's value is higher than the previous bar's — momentum is increasing. It does not mean AO is positive. Green bars below zero happen constantly and mean downward momentum is easing. Sign and colour answer different questions, and confusing them reverses several of the classic rules.
Is AO just MACD?
They are close relatives. Both subtract a slow average from a fast one and draw the result around zero. The differences are that AO uses simple averages of median price with fixed 5/34 windows and no signal line, while MACD uses EMAs of a configurable applied price with a signal line. AO is the simpler, unconfigurable member of the family.
How do I trade a saucer or twin peaks?
Both are multi-bar patterns rather than single conditions — a saucer needs three bars on the same side of zero in a specific shape, and twin peaks needs two peaks with the second lower. They are readable by eye but need explicit state tracking in code, so they sit outside what the node palette expresses.
Can I build an AO EA without coding?
Yes for the zero cross and for bar-to-bar momentum. The AO + AMA template wires an AO node and a Constant zero into a Cross node, gated on an adaptive trend line. The pattern rules — saucer and twin peaks — are the exceptions and need custom MQL5.
How should I validate settings before going live?
There are no AO settings to optimise, which removes one source of overfitting but not the others — the filters, stops and targets around it are still fitted parameters. Backtest on quality tick data, then demo before risking money, and hold back data the search never saw when tuning anything that surrounds the signal.