Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 2803
- Рейтинг:
- Опубликован:
- 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), подробное описание работы с которыми было опубликовано в статье "Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов".
![IncCCIOnArray](https://c.mql5.com/i/code/library.png)
Класс CCCIOnArray предназначен для расчета значений индикатора "Индекс Товарного Канала" (Commodity Channel Index, CCI) по индикаторному буферу.
![GMMA](https://c.mql5.com/i/code/indicator.png)
Множественные скользящие средние Гуппи (Guppy Multiple Moving Average, GMMA) являются индикатором, основывающимся на соотношениях между группами cкользящих средних.
![Quartiles (Квартили)](https://c.mql5.com/i/code/indicator.png)
Индикатор отображает первый, второй и третий квартили выборки.
![Percentage Crossover Channel](https://c.mql5.com/i/code/indicator.png)
Канал, основанный на процентном отклонении цены от предыдущего значения средней линии канала.