Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Индикаторы

XMA-XN - индикатор для MetaTrader 5

Просмотров:
2762
Рейтинг:
(15)
Опубликован:
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 // Константа для количества линий индикатора

В этом индикаторе метод усреднения можно менять, имея выбор из десяти возможных вариантов:

  1. SMA - простое скользящее среднее;
  2. EMA - экспоненциальное скользящее среднее;
  3. SMMA - сглаженное скользящее среднее;
  4. LWMA - линейно-взвешенное скользящее среднее;
  5. JJMA - адаптивное усреднение JMA;
  6. JurX - ультралинейное усреднение;
  7. ParMA - параболическое усреднение;
  8. T3 - множественное экспоненциальное сглаживание Тиллсона;
  9. VIDYA - усреднение с использованием алгоритма Тушара Чанде;
  10. 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), подробное описание работы с которыми было опубликовано в статье  "Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов".

Рис.1 Индикатор XMA-XN

IncCCIOnArray IncCCIOnArray

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

GMMA GMMA

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

Quartiles (Квартили) Quartiles (Квартили)

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

Percentage Crossover Channel Percentage Crossover Channel

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