Skip to the content.

← All indicators

zeonta.awesome_oscillator() — Momentum from the gap between a fast and slow SMA of the bar’s own midpoint.

What it measures

Bill Williams’ momentum reading, built from the same “fast SMA minus slow SMA” shape as macd, but with two differences: it uses the bar’s own midpoint rather than the close, and contrasts two plain SMAs instead of two EMAs, so it carries no memory beyond each window’s own edge.

Formula

MedianPrice = (High + Low) / 2; AO = SMA(MedianPrice, 5) - SMA(MedianPrice, 34)

Parameters

Required inputs: high, low

Parameter Default
fast 5
slow 34

Returns

Column
AO_5_34

Usage

Examples run against the 300-bar OHLCV fixture in tests/data/ohlcv.csv, loaded as df. The output shown is the real output.

import pandas as pd
import zeonta

df = pd.read_csv('tests/data/ohlcv.csv', parse_dates=['date']).set_index('date')
zeonta.awesome_oscillator(df['high'], df['low']).tail(3)
date
2024-10-25   -1.058354
2024-10-26   -0.963254
2024-10-27   -0.985917
Name: AO_5_34, dtype: float64

Accessor form: df.zta.awesome_oscillator(...)

How to read it

Read the histogram like macd’s: positive and rising is strengthening upward momentum, a colour/sign change at the zero line marks a shift in which side (5-bar or 34-bar) is currently dominant. A widely cited pattern (“saucer”) looks for two or three consecutive bars getting shorter then one getting taller, all on the same side of zero.

Pitfalls

Using the bar’s midpoint instead of the close means AO can shift even on a bar that closed flat, purely from an intrabar wick — it is reading range, not just direction. Being unbounded and denominated in price units, it also can’t be compared across symbols or price levels the way a 0-100 oscillator can.

Reference

Formula source: https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/awesome