Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
UltraCCI - индикатор для MetaTrader 5
- Опубликовал:
- Nikolay Kositsin
- Просмотров:
- 3450
- Рейтинг:
- Опубликован:
- 2011.12.07 10:58
- Обновлен:
- 2023.03.16 17:42
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Реальный автор:
dm34@mail.ru
В основе этого индикатора лежат показания технического индикатора СCI (Commodity Channel Index) и анализ трендовой направленности множества его сигнальных линий. Алгоритм вычисления сигнальных линий выглядит следующим образом. В качестве исходных данных имеем входные параметры индикатора:
- StartLength - минимальное стартовое значение первой сигнальной линии
- Step - шаг изменения периода;
- StepsTotal - количество изменений периода.
Любое значение периода из множества сигнальных линий вычисляется по формуле арифметической прогрессии:
SignalPeriod(Number) = StartLength + Number * Step,
где значение переменной Number изменяется в пределах от нуля и до StepsTotal. Полученные значения периодов складываются в массив переменных и используются на каждом тике индикатора для получения массива усредненных значений индикатора RSI. На основе этого массива вычисляются направления текущего тренда для каждого из усреднений и определяются количества положительных и отрицательных трендов для всего массива усредненных значений CCI. Итоговые положительное и отрицательное количество трендов усредняются и используются в качестве линий индикатора, которые образуют цветное облако, отображаемое при помощи стиля DRAW_FILLING.
Направление тренда в данном индикаторе определяется цветом облака, а сила тренда его шириной. Можно использовать уровни перекупленности (UpLevel) и перепроданности (DnLevel), которые задаются в процентах от максимального размаха индикатора.
Помимо этого в индикаторе предусмотрено определение направления скорости изменения силы тренда, которое отображается цветными точками. Если сила тренда увеличивается, то цвет этих точек будет совпадать с цветом облака, в противном случае, точки будут противоположного цвета.
Алгоритмы усреднения в индикаторе можно менять, используя для этого десять возможных вариантов:
- SMA - простое скользящее среднее;
- EMA - экспоненциальное скользящее среднее;
- SMMA - сглаженное скользящее среднее;
- LWMA - линейно-взвешенное скользящее среднее;
- JJMA - адаптивное усреднение JMA;
- JurX - ультралинейное усреднение;
- ParMA - параболическое усреднение;
- T3 - множественное экспоненциальное сглаживание Тиллсона;
- VIDYA - усреднение с использованием алгоритма Тушара Чанде;
- AMA - усреднение с использованием алгоритма Пэрри Кауфмана.
Следует обратить внимание на тот факт, что параметры Phase для разных алгоритмов усреднения имеют совершенно различный смысл. Для JMA - это внешняя переменная Phase, изменяющаяся от -100 до +100. Для T3 - это коэффициент усреднения, умноженный на 100 для лучшего восприятия, для VIDYA - это период осциллятора CMO, а для AMA - период медленной EMA. В остальных алгоритмах эти параметры на усреднение не влияют. Для AMA период быстрой EMA является фиксированным и по умолчанию равным 2. Коэффициент возведения в степень для AMA тоже равен 2.
Индикатор использует классы библиотеки SmoothAlgorithms.mqh (нужно скопировать в каталог_данных_терминала\MQL5\Include), подробное описание работы с которыми было опубликовано в статье "Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов".
Входные параметры индикатора:
//+----------------------------------------------+ //| Входные параметры индикатора | //+----------------------------------------------+ input int CCI_Period=13; // Период индикатора CCI input ENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // Использованная цена //---- input Smooth_Method W_Method=MODE_JJMA; // Метод усреднения input int StartLength=3; // Стартовый период усреднения input int WPhase=100; // Параметр усреднения //---- input uint Step=5; // Шаг изменения периода input uint StepsTotal=10; // Количество изменений периода //---- input Smooth_Method SmoothMethod=MODE_JJMA; // Метод сглаживания input int SmoothLength=3; // Глубина сглаживания input int SmoothPhase=100; // Параметр сглаживания //---- input uint UpLevel=80; // Уровень перекупленности в %% input uint DnLevel=20; // Уровень перепроданности в %% input color UpLevelsColor=DarkViolet; // Цвет уровня перекупленности input color DnLevelsColor=DarkViolet; // Цвет уровня перепроданности input STYLE Levelstyle=DASHDOTDOT_; // Стиль уровней input WIDTH LevelsWidth=Width_1; // Толщина уровней //+----------------------------------------------+
Вариант индикатора ZigZag, отображающий на текущем таймфрейме результаты его расчетов с более крупного таймфрейма.
Waddah Attar FiboИндикатор строит в виде цветных точек линии возможного сопротивления и поддержки с использованием Fibo-уровней.
Конверт, построенный при помощи средних, расчет которых производится по аналогии с Ichimoku Kinko Hyo.
BBands Stop v1Модификация трендового индикатора "Полосы Боллинджера" (Bollinger Bands ®).