Skip to content

Indicator Formula

Technical Details — Ultimate Oscillator (UO)

Section titled “Technical Details — Ultimate Oscillator (UO)”

UO combines buying pressure across three timeframes.


Mathematical Derivation

Step 1 — Calculate Buying Pressure and True Range

Section titled “Step 1 — Calculate Buying Pressure and True Range”

Purpose: Measure directional force.

$$BP = Close - TrueLow$$ $$TR = TrueHigh - TrueLow$$

Where:

  • $$TrueLow = \min(Low, Close_{prev})$$
  • $$TrueHigh = \max(High, Close_{prev})$$

What This Measures: Buying pressure relative to total range


Purpose: Create multi-timeframe averages.

$$Avg_1 = \sum BP_7 / \sum TR_7$$ $$Avg_2 = \sum BP_{14} / \sum TR_{14}$$ $$Avg_3 = \sum BP_{28} / \sum TR_{28}$$

What This Measures: Buying pressure ratio at each timeframe


Purpose: Weight-combine the averages.

$$UO = \frac{4 \times Avg_1 + 2 \times Avg_2 + 1 \times Avg_3}{4 + 2 + 1} \times 100$$

What This Measures: Weighted multi-timeframe momentum (0-100)



Compact Formula Summary

$$UO = \frac{4 \times Avg_7 + 2 \times Avg_{14} + Avg_{28}}{7} \times 100$$

Default: Base Period = 7 (creates 7/14/28 windows)


Complete Calculation Example

If Avg7 = 0.65, Avg14 = 0.55, Avg28 = 0.45: UO = (4×0.65 + 2×0.55 + 1×0.45) / 7 × 100 = (2.6+1.1+0.45)/7 × 100 = 59.3


Key Takeaways from the Example
  1. Multi-timeframe agreement: UO requires all three periods to show similar readings
  2. Weighted toward short-term: 4:2:1 weighting makes UO responsive yet smooth
  3. Bounded 0-100: Standard overbought/oversold interpretation