Ultimate Oscillator
What SteadyEdge calculates
This page documents the exact runtime calculation for the listed filter IDs. Formula symbols use O , H , L , C , and V for the current candle open, high, low, close, and volume; p is the configured lookback.
- Registry filter IDs: ultimate_oscillator
Exact formula
BP_t = C_t - min(L_t, C_(t-1))
TR_t = max(H_t, C_(t-1)) - min(L_t, C_(t-1))
A_n = sum(BP, n) / sum(TR, n)
UO = 100 * (4*A_fast + 2*A_middle + A_slow) / 7
Parameters, defaults, and bounds
- fast_length : default 7 ; 1–100
- middle_length : default 14 ; 1–100
- slow_length : default 28 ; 1–100
How the rule passes
above requires a strict > comparison.
below requires a strict < comparison.
cross_above requires the previous value below the threshold and the current value at or above it.
cross_below requires the previous value above the threshold and the current value at or below it.
Data, timing, and warm-up
Candle filters use the rule timeframe and the latest candle at or before the evaluation time. A non-finite calculated value does not pass.
Every rule in the same filter set must pass. Test Filters and a backtest validate the complete set.
Related articles
- Filters Reference
- How Entry Filters Work
- Timeframe, Operator, Value, And Params