BOT START SIGNAL

Ultimate Oscillator Indicator

The Ultimate Oscillator (UO) is Larry Williams' 0–100 oscillator that blends momentum across three periods (7, 14, 28). In the ELIXOAI start signal builder you get two presets: oversold below 30 and overbought above 70. Parameters, operators, level crosses, and strategy examples explained.

Ultimate Oscillator indicator on a cryptocurrency chart
Ultimate Oscillator smooths momentum across three periods and helps find oversold and overbought zones with fewer false signals.

The Start Bots Signal category describes signals and indicators that can start a trading bot. One of the technical indicators is Ultimate Oscillator (UO).

When creating or editing any bot, there is a Start signal builder block at the bottom of settings. You can choose individual indicators, ready-made presets, and their combinations. Conditions are grouped: AND inside a group, OR between groups. The same indicator can be configured in different ways - for Long and Short, for breakouts and bounces, for level comparisons and for crosses.

What is Ultimate Oscillator

Ultimate Oscillator (UO) is a momentum indicator developed by Larry Williams in 1976. UO plots on a scale from 0 to 100 and combines buying pressure across three time spans with weights 4:2:1. Williams designed it to reduce false overbought and oversold signals that single-period RSI often produces in strong trends.

Values below 30 are traditionally treated as oversold; above 70 as overbought. Thresholds match classic RSI, but UO calculation uses three horizons at once - short (7), medium (14), and long (28). In the ELIXOAI start signal builder, Ultimate Oscillator is used as an automatic bot start condition: when the oscillator reaches a threshold or crosses it, the bot can open a new grid or trade sequence.

UO works well for counter-trend and mean-reversion strategies on liquid pairs. In extended trends, extremes can persist longer than expected - combine UO with a higher-timeframe filter, EMA, or a second oscillator.

Ultimate Oscillator vs RSI: what is the difference

Both oscillators use a 0–100 scale and hunt overbought/oversold conditions, but they are built differently:

  • RSI uses one period (typically 14) and compares average gains to losses of the close. In a strong trend RSI can stay above 70 or below 30 for a long time.
  • Ultimate Oscillator weights three periods (7, 14, 28) and is built on buying pressure relative to each candle's true range - it reacts more smoothly.
  • Levels: both use classic 30/70; for UO, the 50 line is also important as a momentum filter on higher timeframes.
  • Divergences: UO produces fewer false divergences in trends thanks to its multi-period formula - Williams created the indicator specifically to address RSI's weakness.

How Ultimate Oscillator works

UO calculation is based on buying pressure (BP) and true range (TR) of each candle, then averaged across three periods:

  1. Buying Pressure (BP) = Close − min(Low, Previous Close) - how far the close is above the effective range low.
  2. True Range (TR) = max(High, Previous Close) − min(Low, Previous Close) - the full candle movement range.
  3. For each period (7, 14, 28): Raw Average = Sum(BP) ÷ Sum(TR) over N candles.
  4. Ultimate Oscillator = 100 × (4×Avg7 + 2×Avg14 + 1×Avg28) ÷ (4 + 2 + 1).
  5. The short period (7) has the highest weight - UO reacts faster to fresh impulse, while the long period (28) smooths noise.

When buyers dominate across all three horizons, UO rises toward 100; when sellers dominate, it falls toward 0. A reading of 50 reflects rough balance over the weighted interval.

In the builder you set a comparison condition on the value output: “UO less than 30,” “UO greater than 70,” “UO crosses above 30,” and so on. The system fetches live values from the exchange via TAAPI and checks the condition on your timeframe - at candle close or every minute.

Period parameters

  • Period 1 (optInTimePeriod1): default 7, range 1–300. Short horizon, weight 4 in the formula - fast reaction to impulse.
  • Period 2 (optInTimePeriod2): default 14, range 1–300. Medium horizon, weight 2 - smooths short-term noise.
  • Period 3 (optInTimePeriod3): default 28, range 1–300. Long horizon, weight 1 - reflects sustained context.

Williams' classic setting is 7/14/28. For scalping you can tighten (5/10/20); for swing, widen (10/20/40). All three periods are tied to the selected timeframe: UO(7/14/28) on 5m and on 4h are different indicators.

Ready-made presets in the builder

The builder offers two ready-made Ultimate Oscillator presets. Each can be customized: different operator, level, periods, or timeframe. Both presets support all six operators, including crosses of levels 30 and 70.

UO < 30 - Long (ultosc_value)

Default condition: Ultimate Oscillator value less than 30 on the selected timeframe (15m interval, periods 7/14/28, check at bar close).

A Long signal on multi-period oversold momentum. The bot starts when selling pressure dominated across short, medium, and long horizons together. Fits counter-trend setups: bounce after a sharp drop, DCA grid entry on a pullback. You can soften to UO < 35 or tighten to UO < 25.

UO > 70 - Short (ultosc_value_down)

Default condition: Ultimate Oscillator value greater than 70 on the selected timeframe (15m interval, periods 7/14/28, check at bar close).

A Short signal on overbought conditions - the mirror of the Long preset. The bot starts when upward impulse is “overheated” across all three periods. Often used for short grids at local peaks. In a strong bull trend UO can stay above 70 for a long time.

Operators for both presets

Presets ultosc_value and ultosc_value_down default to level comparison, but you can switch any of the six operators and set target 30, 70, or another value:

  • Less than (lt): UO is strictly below the level. Base Long - UO < 30: multi-period oversold.
  • Greater than (gt): UO is strictly above the level. Base Short - UO > 70: overbought across three horizons.
  • Less or equal (lte): UO is at or below the threshold. Handy for “UO ≤ 30” - allows touching the oversold zone.
  • Greater or equal (gte): UO is at or above the threshold. “UO ≥ 70” for Short or “UO ≥ 50” on a higher TF for trend context.
  • Crosses above (cross up): UO was below the level and rose above. Classic Long - cross up 30: leaving oversold. Softer than strict UO < 30.
  • Crosses below (cross down): UO was above the level and dropped below. Short signal - cross down 70: leaving overbought. Useful after a local peak.

Key Ultimate Oscillator levels

  • 30 - oversold zone; Long via ultosc_value or cross up 30. Multi-period impulse “low” signal.
  • 50 - neutral line; above 50 buyers dominate, below 50 sellers dominate. Higher-TF filter (UO 4h > 50 for Long).
  • 70 - overbought zone; Short via ultosc_value_down or cross down 70. Impulse “overheat” signal.

Levels 30 and 70 are Williams' standard (like RSI). For aggressive entry use lt 30 / gt 70; for softer entry use cross up 30 / cross down 70.

General builder settings

  • Timeframe (interval): 1m, 5m, 15m, 30m, 1h, 4h, 1d. Shorter intervals give more signals but more noise. Swing bots often use 1h–4h; scalping uses 5m–15m.
  • Check mode: At candle close checks after the candle closes - fewer false triggers. Every minute checks inside the current candle - faster reaction, higher false-start risk.
  • Operator: greater than, less than, crosses above, crosses below, greater or equal, and others define how the indicator value is compared to the target.
  • Target value: a number (e.g. 30 for RSI), an indicator line (e.g. %D for Stochastic), or price (for Bollinger Bands).
  • Condition groups: up to 3 groups with up to 5 conditions each. Example: group 1 - RSI < 30 AND price < lower band; group 2 - Stochastic < 20. The bot starts if group 1 OR group 2 is satisfied.

Setup examples for different strategies

Scalping on 5m–15m

Goal: frequent starts on short bounces.
Long: ultosc_value preset with cross up operator, target 30, 5m timeframe, periods 7/14/28, check at bar close.
Short: ultosc_value_down with cross down 70, same settings.
Filter: UO on 1h not below 45 for Long - avoid catching bounces against higher-TF impulse.

Swing on 1h–4h

Goal: fewer but more meaningful moves.
Long: ultosc_value, 4h interval, UO < 30, check at close.
Short: ultosc_value_down, UO > 70 on 4h.
For a DCA bot on trend pullbacks, cross up 30 on 1h often works better - fewer false entries during ongoing drops.

Counter-trend from extremes

Goal: enter on “overheated” or “oversold” price expecting a revert.
Long: UO < 20 (15m, periods 7/14/28) AND close below the lower Bollinger Band (20, 2).
Short: UO > 80 AND price above the upper BBands line.
Use check at bar close to ignore intrabar noise.

Cross above 30 / cross below 70

Goal: catch the moment of leaving an extreme.
Long: UO crosses above 30 on 15m - oscillator was oversold and is recovering.
Short: UO crosses below 70 on 15m.
Works well for trend pullbacks: price in an uptrend corrects, UO dips toward 30 and recovers.

Trend filter

Goal: Long only in bullish context, Short in bearish.
Long: UO cross up 30 on 15m AND UO on 4h greater than 50 (separate condition, gt operator, target 50).
Short: UO cross down 70 on 15m AND UO on 4h less than 50.
This avoids buying every UO bounce in a global downtrend.

Ultimate Oscillator + RSI

Long: UO < 30 on 15m AND RSI < 30 on the same 15m - both oscillators oversold.
Short: UO > 70 AND RSI > 70.
Alternative: UO cross up 30 AND RSI cross up 30 - double confirmation of leaving oversold. UO smooths RSI false extremes.

Ultimate Oscillator + Stochastic

Long: UO cross up 30 on 15m AND Stochastic %K cross up 20 on the same 15m - two oscillators confirm upward reversal.
Short: UO cross down 70 AND Stochastic cross down 80.
The combo triggers less often but filters some false starts in chop.

Ultimate Oscillator + Bollinger Bands

Long: UO < 30 on 15m AND close below the lower BBands band (20, 2) - mean-reversion from an extreme.
Short: UO > 70 AND price above the upper band.
On 1h you can relax to cross up 30 without BBands - bands on a higher TF less often align with UO extremes.

Ultimate Oscillator + EMA

Long: UO cross up 30 on 15m AND close price above EMA 50 on the same 15m - pullback in an uptrend.
Short: UO cross down 70 AND price below EMA 50.
Alternative: UO < 30 AND price cross up EMA 20 - double reversal signal.

Multi-timeframe

Long: UO on 4h ≥ 50 (separate condition, gte, target 50) AND UO cross up 30 on 15m.
Short: UO 4h ≤ 50 AND UO cross down 70 on 15m.
This avoids buying every local UO spike against global bearish impulse on the higher interval.

DCA grid on pullback

Long: ultosc_value UO < 30 on 1h, check at close - start a grid on sustained oversold readings.
Enhancement: add RSI < 35 on 1h - double weakness confirmation.
Short grid: UO > 70 on 1h AND RSI > 65 on 4h - overbought with higher-TF confirmation.

Condition groups: practical example

A bot with two Long scenarios:
Group 1: UO cross up 30 on 15m AND UO 4h > 50 - trend pullback.
Group 2: ultosc_value UO < 25 on 15m AND RSI < 28 - aggressive counter-trend.
Groups combined with OR: either scenario can start the bot. Configure Short symmetrically (cross down 70, UO > 70).

Tip
Ultimate Oscillator smooths impulse across three periods, but in a strong trend UO can stay above 70 or below 30 for a long time - counter-trend signals often start the bot against the main move. Add a UO ≥ 50 filter on 4h for Long or combine with EMA. Use check at bar close to ignore intrabar noise. When changing timeframe, revisit all three periods - classic 7/14/28 is not always optimal for 5m or 4h.