Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 5977
- Рейтинг:
- Опубликован:
- 2010.01.26 10:59
- Обновлен:
- 2016.11.22 07:33
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Осцилляторы обычно сравнивают сглаженную цену финансового инструмента и его значение n-периодов назад. Ларри Уильямс (Larry Williams) заметил, что эффективность подобных осцилляторов может сильно варьироваться в зависимости от числа единичных периодов, взятых для расчета. Поэтому он разработал "Окончательный Осциллятор" (Ultimate Oscillator), использующий взвешенные суммы трех осцилляторов с разными периодами расчета.
Ларри Уильямс впервые описал этот осциллятор в 1985 году в журнале "Technical Analysis of Stocks and Commodities". Значения индикатора варьируются в диапазоне от 0 до 100, а центр расположен на отметке 50. Зоне перекупленности соответствуют значения осциллятора расположенные ниже 30, а перепроданности - между 70 и 100.
Осциллятор использует три временных периода, которые можно задавать вручную. Обычно, эти значения равны 7, 14 и 28 периодам. Учтите, что более длинные периоды включают в себя более короткие, то есть 28-периодные значения уже учитывают как 14-периодные, так и 7-периодные. Это означает, что значения самого короткого периода используется три раза и поэтому имеют наибольшее влияние на результаты осциллятора.
Ларри Уильямс рекомендует открывать позицию после образования расхождений.
Покупайте если:
- Возникло бычье расхождение: цены достигли более низкого минимума, не подтвержденного более низким минимумом осциллятора;
- При формировании бычьего расхождения осциллятор упал ниже 30;
- Осциллятор затем поднялся выше максимального уровня, достигнутого в период формирования бычьего расхождения. Именно в этот момент следует покупать.
Закрывайте длинные позиции, если:
- Осциллятор поднялся выше 50, а затем упал ниже 45;
- Осциллятор поднялся выше 70 (иногда рекомендуется дождаться, когда он затем упадет ниже 70);
- Возникли сигналы для продажи.
Продавайте, если:
- Возникло медвежье расхождение: цены достигли более высокого максимума, не подтвержденного более высоким максимумом осциллятора;
- При формировании медвежьего расхождения осциллятор поднялся выше 50;
- Осциллятор упал ниже минимального уровня, достигнутого в период формирования медвежьего расхождения.
Закрывайте короткие позиции, если:
- Осциллятор поднялся выше 65;
- Осциллятор упал ниже 30;
- Возникли сигналы для покупки.
Индикатор Ultimate Oscillator
Расчет:
1. Определить текущий "истинный минимум" (True Low, TL). TL - наименьшее из текущего минимума или предыдущей цены закрытия.
TL (i) = MIN (LOW (i) || CLOSE (i - 1))
2. Вычислить текущее "Покупательное давление" (Buying Pressure, BP), равное разнице между текущей ценой закрытия и текущим истиным минимумом.
BP (i) = CLOSE (i) - TL (i)
3. Определить "Истинный Диапазон" (True Range, TR). Это наибольшее из разностей: текущих максимума и минимума; текущего максимума и предыдущей цены закрытия; предыдущей цены закрытия и текущего минимума.
TR (i) = MAX (HIGH (i) - LOW (i) || HIGH (i) - CLOSE (i - 1) || CLOSE (i - 1) - LOW (i))
4. Вычислить сумму значений BP для всех трех периодов расчета:
BPSUM (N) = SUM (BP (i), i)
5. Вычислить сумму значений TR для всех трех периодов расчета:
TRSUM (N) = SUM (TR (i), i)
6. Вычислить "сырое значение" Окончательного Осциллятора (The Raw Ultimate Oscillator, RawUO):
RawUO = 4 * (BPSUM (1) / TRSUM (1)) + 2 * (BPSUM (2) / TRSUM (2)) + (BPSUM (3) / TRSUM (3))
7. Рассчитать значение Окончательного Осциллятора (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 - значение Окончательного Осциллятора.
![Stochastic Oscillator](https://c.mql5.com/i/code/indicator.png)
Индикатор Стохастический Осциллятор (Stochastic Oscillator) сопоставляет текущую цену закрытия с диапазоном цен за выбранный период времени.
![Standard Deviation (StdDev)](https://c.mql5.com/i/code/indicator.png)
Индикатор Стандартное отклонение (Standard Deviation, StdDev) измеряет волатильность рынка. Этот индикатор характеризует размер колебаний цены относительно скользящего среднего.
![Volumes](https://c.mql5.com/i/code/indicator.png)
Индикатор Volumes показывает строит гистограмму объемов различными цветами в зависимости от изменений объемов.
![Williams' Accumulation/Distribution (W_A/D)](https://c.mql5.com/i/code/indicator.png)
Индикатор накопления/распределения Уильямса (Williams' Accumulation/Distribution, W_A/D) представляет собой накопленную сумму позитивных "накопительных" движений цены и негативных "распределительных". Расхождения между индикатором и ценой являются сигналом.