Awesome Oscilator
systemic:core-aoIndicatorsfunction1 crInputs
| Name | Type | Description |
|---|---|---|
| Short Window | integer | - **Short Window**; The short period for the SMA calculation. Typically set to 5 periods. |
| Long Window | integer | - **Long Window**; The long period for the SMA calculation. Typically set to 34 periods. |
| Price High | floatarray | - **Price High**; The highest price of the asset for a given period. This is used in conjunction with the Price Low to calculate the Median Price. |
| Price Low | floatarray | - **Price Low**; The lowest price of the asset for a given period. This is used in conjunction with the Price High to calculate the Median Price. |
Outputs
| Name | Type | Description |
|---|---|---|
| AO | floatarray | The AO output is a momentum indicator series that oscillates around zero, representing the difference between short-term and long-term momentum. |
A comprehensive guide to using the Awesome Oscillator (AO) to measure momentum, confirm trends, and spot reversals in equities and cryptocurrencies.
Overview
The Awesome Oscillator (AO), developed by Bill Williams, is a momentum indicator that captures the market's wave structure by comparing short-term and long-term price movements. AO is designed to:
- Identify trend direction and strength
- Spot momentum shifts and potential reversals
- Confirm or filter trade signals in both traditional securities and cryptocurrencies
Why it matters:
- In equities, AO helps confirm the underlying trend and detect early signs of exhaustion or reversal (Investopedia AO).
- In crypto, AO can filter out noise and highlight genuine momentum shifts in volatile markets (Binance Academy AO).
AO is especially useful for:
- Detecting trend changes before they are visible in price alone
- Filtering out false signals in choppy or manipulated markets
- Complementing other momentum and trend indicators (see MACD, CCI, Stochastic Oscillator)
Mathematical Formulation
The AO is calculated in two main steps:
- Median Price:
- Awesome Oscillator:
Where:
- is the 5-period Simple Moving Average
- is the 34-period Simple Moving Average
Missing Data
A closed-market bar (weekend, holiday) or any bar with a null High or Low is not computed —
it is a genuine gap, output as None, never a sentinel or a carried-forward value. Both SMAs
(5-period and 34-period, or your configured windows) run over the observed-bar subsequence:
"N-bar SMA" means N observed bars, with market-closed gaps bridged (Friday adjacent to the
following Monday). The first window_long - 1 observed bars are warm-up and are also None.
Output length always equals input length; only the values at gap and warm-up slots differ.
Calculation Flow
flowchart TD
A[High, Low] --> B[Compute Median Price]
B --> C[5-period SMA]
B --> D[34-period SMA]
C --> E[Short SMA]
D --> F[Long SMA]
E --> G[Subtract: Short SMA - Long SMA]
F --> G
G --> H[AO Output]
H --> I[Plot AO and Price]
How to Use AO in Practice
- Zero Line Cross:
- AO crosses above zero: Bullish momentum, potential buy signal
- AO crosses below zero: Bearish momentum, potential sell signal
- Twin Peaks:
- Bullish: Two troughs below zero, second higher than the first, and AO rising
- Bearish: Two peaks above zero, second lower than the first, and AO falling
- Saucer:
- Bullish: Three consecutive bars, with the middle bar lower than its neighbors, all above zero
- Bearish: Three consecutive bars, with the middle bar higher than its neighbors, all below zero
- Divergence:
- Price makes new high, AO does not: Bearish divergence, possible reversal
- Price makes new low, AO does not: Bullish divergence, possible reversal
Signal Interpretation Flow
flowchart TD
S[Scan AO and Price] --> A{AO > 0?}
A -- Yes --> B{AO Rising?}
B -- Yes --> C[Consider Long]
B -- No --> D[Wait or Watch for Divergence]
A -- No --> E{AO < 0 and Falling?}
E -- Yes --> F[Consider Short]
E -- No --> G[Wait or Watch for Bullish Divergence]
Regime State Diagram
stateDiagram-v2
[*] --> Neutral
Neutral: AO near zero
Neutral --> Bullish: AO crosses above zero
Bullish --> StrongBull: AO rising above zero
Bullish --> WeakBull: AO above zero but falling
Neutral --> Bearish: AO crosses below zero
Bearish --> StrongBear: AO falling below zero
Bearish --> WeakBear: AO below zero but rising
StrongBull --> Neutral: AO falls to zero
StrongBear --> Neutral: AO rises to zero
Comparison to Similar Modules
- MACD (Moving Average Convergence Divergence):
- Both AO and MACD are momentum oscillators based on moving averages, but MACD uses EMAs (exponential) and includes a signal line (Investopedia MACD).
- AO is simpler, using only SMAs of median price, and is more focused on wave structure.
- CCI (Commodity Channel Index):
- CCI measures deviation from a moving average and is used for identifying overbought/oversold conditions (StockCharts CCI).
- AO is more focused on momentum and trend confirmation.
- Stochastic Oscillator:
- Stochastic compares closing price to a range over a period, useful for spotting reversals (Investopedia Stochastic).
- AO is less sensitive to short-term price swings and more to overall momentum.
Comparative Diagram
flowchart LR
AO[Awesome Oscillator]
MACD[MACD]
CCI[CCI]
Stoch[Stochastic Oscillator]
AO -- Momentum, Wave Structure --> MACD
AO -- Simpler, Median Price --> CCI
AO -- Less Noise, Trend Focus --> Stoch
Use in Securities and Cryptocurrencies
- Equities:
- Confirm trend direction: AO above zero supports bullish setups, below zero supports bearish setups (StockCharts AO).
- Spot exhaustion: Divergences and twin peaks can warn of trend exhaustion.
- Cryptocurrencies:
- Filter noise: AO helps identify genuine momentum in volatile markets.
- Combine with volume or volatility filters for robust signals (Binance Academy AO).
Example (Bitcoin)
Suppose Bitcoin rallies, but AO forms a bearish twin peaks pattern above zero. This may warn of weakening momentum and a possible correction.
Stylized Regimes and Trading Implications
flowchart TD
AO1[AO > 0 and Rising] --> Bull[Strong Bullish Momentum]
AO2[AO < 0 and Falling] --> Bear[Strong Bearish Momentum]
AO3[AO Crosses Zero] --> Shift[Momentum Shift]
AO4[AO Divergence with Price] --> Rev[Potential Reversal]
Heuristics:
- AO rising above zero: Confirm uptrend, consider long trades
- AO falling below zero: Confirm downtrend, consider short trades
- Divergence: Reduce risk, watch for reversal
Practical Implementation Notes
- Data hygiene: Use consistent high/low data, especially in crypto where exchange feeds may differ.
- Backtesting: Test AO signals with price action and other indicators (e.g., RSI, MACD) for confirmation.
- Risk controls: AO is best used as a filter, not a standalone signal. Combine with stop-losses and position sizing.
References and Further Reading
- Investopedia: Awesome Oscillator
- StockCharts: Awesome Oscillator
- Binance Academy: Awesome Oscillator
- TradingView: AO Indicator
- Investopedia: MACD
- StockCharts: CCI
- Investopedia: Stochastic Oscillator
Appendix: Quick Glossary
- AO: Awesome Oscillator, a momentum indicator
- Median Price: Average of high and low for a period
- SMA: Simple Moving Average
- Twin Peaks: Two consecutive peaks or troughs used for reversal signals
- Divergence: Disagreement between price and indicator direction
- MACD: Moving Average Convergence Divergence, a momentum oscillator
- CCI: Commodity Channel Index, an overbought/oversold indicator
- Stochastic Oscillator: A momentum indicator comparing close to range
Indicator Assessment
---
config:
xyChart:
width: 600
height: 400
themeVariables:
xyChart:
plotColorPalette: "#9b59b6, #e67e22"
---
xychart-beta horizontal
title "AO Indicator Assessment (Scale: 1-10)"
x-axis ["Popularity", "Reliability", "Complexity", "Versatility", "Recent Interest"]
y-axis "Score" 0 --> 10
bar [7, 6, 4, 7, 5]
bar [6, 5, 4, 6, 6]
Legend: First bar (purple) = Equities/Forex | Second bar (orange) = Cryptocurrency
Dimension Explanations
| Dimension | Equities/Forex | Crypto | Rationale |
|---|---|---|---|
| Popularity | 7 | 6 | Part of Bill Williams' indicator suite; widely available on charting platforms. Moderate adoption in crypto communities. |
| Reliability | 6 | 5 | Effective for momentum confirmation; twin peaks and divergence patterns are reliable. In crypto, more false signals due to volatility. |
| Complexity | 4 | 4 | Simple concept (SMA difference) but pattern recognition (twin peaks, saucer) requires practice. |
| Versatility | 7 | 6 | Works across timeframes; pairs well with other Bill Williams indicators (AC, Alligator). Less effective in low-volume crypto assets. |
| Recent Interest | 5 | 6 | Steady interest in traditional markets. Growing crypto adoption as traders seek momentum confirmation tools. |