Осцилляторы обычно сравнивают сглаженную цену финансового инструмента и его значение n-периодов назад. Ларри Уильямс (Larry Williams) заметил, что эффективность подобных осцилляторов может сильно варьироваться в зависимости от числа единичных периодов, взятых для расчета. Поэтому он разработал "Окончательный Осциллятор" (Ultimate Oscillator), использующий взвешенные суммы трех осцилляторов с разными периодами расчета.
Ларри Уильямс впервые описал этот осциллятор в 1985 году в журнале Technical Analysis of Stocks and Commodities. Значения индикатора варьируются в диапазоне от нуля до ста, а центр расположен на отметке пятьдесят. Зоне перепроданности соответствуют значения осциллятора расположенные ниже тридцати, а перепроданности — между семьюдесятью и ста.
Осциллятор использует три временные периода, которые можно задавать в ручную. Обычно, эти значения равны 7, 14 и 28 периодам. Учтите, что более длинные периоды включают в себя более короткие, то есть 28-периодные значения уже учитывают как 14-периодные, так и 7-периодные. Это означает, что значения самого короткого периода используется три раза и поэтому имеют наибольшее влияние на результаты осциллятора.
Ларри Уильямс рекомендует открывать позицию после образования расхождений. Покупайте если:
-
Определить текущий "истинный минимум" (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