Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 2884
- Рейтинг:
- Опубликован:
- 2011.11.17 10:43
- Обновлен:
- 2023.03.16 17:42
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Веер из ста скользящих средних XMA.
Для оптимизации кода индикаторные буферы в индикаторе объявлены с помощью простейшего класса:
//+------------------------------------------------------------------+ //| Массивы переменных для создания индикаторных буферов | //+------------------------------------------------------------------+ class CIndicatorsBuffers { public: double IndBuffer[]; }; //+------------------------------------------------------------------+ //| Создание индикаторных буферов | //+------------------------------------------------------------------+ CIndicatorsBuffers Ind[LINES_TOTAL];
Если необходимо изменить количество линий на графике, то следует всего-навсего изменить значение константы LINES_TOTAL:
//+-----------------------------------+ //| Объявление констант | //+-----------------------------------+ #define LINES_TOTAL 100 // Константа для количества линий индикатора
В этом индикаторе метод усреднения можно менять, имея выбор из десяти возможных вариантов:
- 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.
Входные параметры индикатора:
//+-----------------------------------+ //| Входные параметры индикатора | //+-----------------------------------+ input int Step=10; // Шаг периода input Smooth_Method xMA_Method=MODE_JJMA; // Метод усреднения input int xLength=3; // Глубина сглаживания input int xPhase=100; // Параметр сглаживания input Applied_price_ IPC=PRICE_CLOSE; // Ценовая константа input int Shift=0; // Сдвиг индикатора по горизонтали в барах input int PriceShift=0; // Сдвиг индикатора по вертикали в пунктах input int ColorWidth =40; // Ширина цветовой палитры (изменяется от 0 до 131)
Индикатор использует классы библиотеки SmoothAlgorithms.mqh (нужно скопировать в каталог_данных_терминала\MQL5\Include), подробное описание работы с которыми было опубликовано в статье "Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов".

Класс CCCIOnArray предназначен для расчета значений индикатора "Индекс Товарного Канала" (Commodity Channel Index, CCI) по индикаторному буферу.

Множественные скользящие средние Гуппи (Guppy Multiple Moving Average, GMMA) являются индикатором, основывающимся на соотношениях между группами cкользящих средних.

Индикатор отображает первый, второй и третий квартили выборки.

Канал, основанный на процентном отклонении цены от предыдущего значения средней линии канала.