Ultimate Oscillator

A weighted combination of three momentum lookbacks (7, 14, 28). Reduces false signals by requiring confluence across timeframes.

IndicatorBy AlgoLiftUpdated 3 min read
On this page 13What it measuresFormulaInputs in AlgoLiftRecommended settingsOutputs in AlgoLiftHow to read itBest in / worst inThree setups1. Williams's classic divergence setup2. Confluence-based extreme entry3. Midline-crossing momentum filterAdvanced patterns in AlgoLiftCommon mistakes

A momentum oscillator that combines three different lookback periods (typically 7, 14, 28) into a single weighted value bounded between 0 and 100. Designed by Larry Williams to reduce false signals by requiring momentum to align across multiple horizons.

What it measures

  • Multi-timeframe momentum confluence. Combines short (7), medium (14), and long (28) lookback readings into one value.
  • Buying pressure relative to range. Each lookback measures cumulative buying pressure (close minus true low) divided by true range.
  • Filtered momentum. The weighted combination reduces single-period false signals that bare oscillators (RSI, Stochastic) produce.

Formula

Inputs in AlgoLift

SettingDefaultRangeNotes
Short Period71–50Fastest lookback, weight 4.
Medium Period142–100Mid lookback, weight 2.
Long Period283–200Slowest lookback, weight 1.
  • (7, 14, 28) — default: Williams's original. Works for most timeframes.
  • (5, 10, 20): Faster — for short-timeframe trading.
  • (10, 20, 40): Slower — for swing setups.

The three periods are typically kept in roughly 1:2:4 ratio. Diverging from that proportion changes the indicator's character.

Outputs in AlgoLift

HandleTypePlottedNotes
Oscillator ValueNumericAlwaysThe weighted sum (0–100).
SlopeNumericOn selectRate of change of the value.
Buying PressureNumericOn selectThe numerator before averaging. A pure single-bar momentum measure.
True RangeNumericOn selectPer-bar true range. Useful as a standalone volatility input.

How to read it

  • UO > 70: Strong upside momentum across all three lookbacks. Often interpreted as overbought.
  • UO < 30: Strong downside momentum across all three lookbacks. Often interpreted as oversold.
  • UO between 40 and 60: Neutral, conflicting signals across lookbacks.
  • Divergence: The headline UO usage — price makes a new extreme but UO doesn't follow. Williams's original strategy was divergence-based.
  • UO crossing 50: The midline cross is a simple momentum-direction filter.

Because UO requires multi-period agreement, its extremes happen less often than RSI or Stochastic — but when they happen, they're more reliable than single-period equivalents.

Key Takeaway

Ultimate Oscillator's value is the multi-period weighting — its extremes are rarer and more meaningful than RSI or Stochastic extremes. The bar to clear is "all three timeframes agree," and that filter eliminates most false signals at the cost of fewer total signals.

Best in / worst in

Best in instruments with cyclical behavior and as a "second opinion" alongside another momentum indicator. The multi-period structure makes it more robust than single-period oscillators in mixed regimes.

Worst in very-short-timeframe scalping (the long period creates lag) and in instruments with persistent one-way drifts where UO stays in the upper or lower half almost continuously.

Three setups

1. Williams's classic divergence setup

The original strategy from Williams's 1976 paper:

  • Long: Bullish divergence (price makes a lower low, UO makes a higher low while in oversold territory) AND UO crosses above its high during the divergence period.
  • Short: Symmetric.

This is one of the few divergence strategies with documented historical robustness. The "cross the divergence high" requirement filters out failed divergences.

2. Confluence-based extreme entry

Trade only when UO and another oscillator agree.

  • Long: UO < 30 AND RSI < 30 AND price > SMA(200).
  • Short: UO > 70 AND RSI > 70 AND price < SMA(200).

The double-oscillator agreement eliminates many false extreme signals.

3. Midline-crossing momentum filter

Use UO's 50-line cross as a slow trend filter for fast strategies.

  • Long-only mode: UO > 50 — strategy permitted to take longs.
  • Short-only mode: UO < 50.
  • Flat: UO between 45 and 55.

A simple regime gate that responds to multi-period momentum changes.

Advanced patterns in AlgoLift

UO + KAMA Efficiency Ratio combo. Use UO for the directional momentum signal and KAMA's ER for the regime classification. When ER > 0.4 (trending), trade UO breakouts above 70 / below 30 as momentum-continuation signals. When ER < 0.3 (ranging), trade UO extremes as mean-reversion signals. One indicator changes meaning by regime — wire with regime mode (Activate Regime).

True Range output as standalone volatility input. The True Range output is the same calculation as ATR's pre-smoothing input. Use it directly for tighter stop-loss reactions than smoothed ATR allows.

Multi-timeframe UO stack. Add a 1h data series alongside your 5m execution. Only allow trades when 1h UO agrees with the 5m setup direction. The 1h UO acts as a multi-period regime check on top of the 5m's own multi-period confluence — effectively six lookback periods agreeing before any trade fires. See the multi-series Visual Builder pattern.

Common mistakes

  • Treating UO extremes like RSI extremes. UO at 70 is rarer and means more — but the failure mode is the same. In strong trends, UO can stay above 70 for many bars.
  • Skipping the divergence check. UO's documented robustness comes specifically from the divergence setup. Plain "buy oversold, sell overbought" doesn't capture the indicator's design strength.
  • Optimizing the three periods independently. Three interacting parameters — fast track to overfitting. Keep them in roughly 1:2:4 ratio if you tune at all.
Common Misconception
Myth
More periods = better signal.
Reality
The three-period structure isn't strictly better than RSI — it's a different trade-off. Fewer false signals at the cost of more lag. UO is the right choice when you need confirmation across horizons; RSI is the right choice when you need responsiveness.