Визначити поточний "Справжній мінімум" (True Low, TL). TL — найменше з поточного мінімуму або попередньої ціни закриття.
TL (i) = MIN (LOW (i) || CLOSE (i – 1))
Визначити поточний "Купівельний тиск" (Buying Pressure, BP), дорівнює різниці між поточною ціною закриття і поточним справжнім мінімумом.
BP (i) = CLOSE (i) - TL (i)
Визначити "Справжній Діапазон" (True Range, TR). Це найбільша з різниць: поточних максимуму і мінімуму; поточного максимуму і попередньої ціни закриття; попередньої ціни закриття і поточного мінімуму.
TR (i) = MAX (HIGH (i) - LOW (i) || HIGH (i) - CLOSE (i - 1) || CLOSE (i - 1) - LOW (i))
Обчислити суму значень BP для всіх трьох періодів розрахунку:
BPSUM (N) = SUM (BP (i), i)
Обчислити суму значень TR для всіх трьох періодів розрахунку:
TRSUM (N) = SUM (TR (i), i)
Визначити "сире значення" Остаточного Осцилятора (The Raw Ultimate Oscillator, RawUO):
RawUO = 4 * (BPSUM (1) / TRSUM (1)) + 2 * (BPSUM (2) / TRSUM (2)) + (BPSUM (3) / TRSUM (3))
Розрахувати значення Остаточного Осцилятора (Ultimate Oscillator, UO) за формулою:
UO = ( RawUO / (4 + 2 + 1)) * 100, де
MIN — мінімальне значення;
MAX — максимальне значення;
|| — логічне АБО;
LOW (i) — мінімальна ціна поточного бару;
HIGH (i) — максимальна ціна поточного бару;
CLOSE (i) — ціна закриття поточного бару;
CLOSE (i — 1) — ціна закриття попереднього бару;
TL (i) — Справжній мінімум;
BP (i) — Купівельний тиск;
TR (i) — Справжній Діапазон;
BPSUM (N) — математична сума значень BP для періоду N (N дорівнює 1 відповідає i = 7 барам; при N = 2, i = 14 барам; при N = 3, i = 28 барам);
TRSUM (N) — математична сума значень TR для періоду N (N дорівнює 1 відповідає i = 7 барам; при N = 2, i = 14 барам; при N = 3, i = 28 барам);
RawUO — "сире значення "Остаточного Осцилятора;
UO — значення Остаточного Осцилятора.