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

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

Просмотров:
17063
Рейтинг:
(160)
Опубликован:
2014.04.25 11:39
Обновлен:
2016.11.22 07:33
\MQL5\Include\MyObjects\ \MQL5\Include\MyMath\Extremum\ \MQL5\Include\MyArrays\ \MQL5\Include\MyMath\Pattern\
fp.zip (1.24 KB)
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Технический индикатор выводит на ценовом графике технические фигуры Меррилла (М & W Wave Patterns), линии поддержки/сопротивления, построенные по экстремумам стандартного индикатора ZigZag. А. Меррилл классифицировал пятиконечные фигуры по порядку следования точек сверху вниз, создав упорядоченную классификационную модель М & W волн, вот они:

M-Wave

W-Wave

Динамический паттерн А. Меррилла - это такой паттерн, который может изменяться во времени. Динамический паттерн находится на первых четырех лучах зигзага справа. В данном индикаторе все паттерны условно считаются динамическими. Чтобы это условие выполнялось почти всегда, искусственно введено понятие мутация волн (см. ниже) и немного изменен алгоритм классического индикатора Zigzag.

Что касается ядра алгоритма поиска экстремумов - Zizag, использование этого алгоритма является "временным (быстрым) решением" и несомненно требует замены. Так как большинство ошибок связанных с обнаружением паттерна NOPATTERN (см. в enum NamePattern в файле MyCPattern.mqh) - это ошибка поискового ядра.

Эволюция и мутация волн

Эволюция - изменение динамического паттерна без перехода в другое семейство волн. Эволюция паттернов M-Wave:

Evolution M Wave

Эволюция паттернов W-Wave:

Evolution W Wave

Мутация - изменение динамического паттерна с обязательным переходом в другое семейство волн. Мутация паттернов M-Wave:

Mutation M in W

Мутация паттернов W-Wave:

Mutation W in M

Обратите внимание: алгоритм прогнозирования считает, что мутация будет в младшую фигуру эволюции, а счетчик эволюций/мутаций знает о возможной не последовательной мутации/эволюции. Например: мутация в среднюю, старшую фигуру. Это обеспечивается за счет выбора особых значений битовой-маски в enum NamePattern (см. MyCPattern.mqh). Если Вы планируете использовать счетчик эволюций/мутаций - не меняйте enum NamePattern.


Работа индикатора:

В ходе своей работы индикатор выводит на график технические фигуры Меррилла (М & W Wave Patterns) и линии поддержки/сопротивления. Перерасчет индикатора происходит только на новом баре истории(экономия процессорного времени на отрисовку объектов). Имена всех объектов-индикатора псевдослучайные. Индикатор производит расчет прогноза движения цены на основании ожидания частной(последовательной) эволюции/мутации волн. Имеет собственный счетчик эффективности паттерной модели.

Five Pattern 2


Текущая версия:

Версия 2.01- торговая (для генерации торговых сигналов).

Поисковое ядро: classic Zigzag;

Модель прогноза: level 0 (последовательная эволюция/мутация);

Счетчик модели: level 0 ;

Индикаторные буферах:

0  ExtPointE[]    - хранит значения точки Е, если цена находится около этой точки можно ожидать движение в сторону точек Evolution/Mutation;

1  ExtDeltaDE[]  - хранит значение длины волны D-E в пунктах(предполагаю, что данное значение будет полезно в алгоритмах усреднения точки Е);  Пример кода:

double RateRisk; // Процент риска

MqlTick now_tick;

SymbolInfoTick(_Symbol,now_tick);

if((now_tick.ask >= (ExtPointE[rate_total-1]-ExtDeltaDE[rate_total-1]*RateRisk*_Point))&&(now_tick.ask <= (ExtPointE[rate_total-1]+ExtDeltaDE[rate_total-1]*RateRisk*_Point)))

  { ...;// Генерировать сигнал} else ...;// Не генерировать сигнал

2  ExtEvolution[] - хранит значение прогноз движения цены в случае эволюции модели;

3  ExtMutation[]  - хранит значение прогноз движения цены в случае мутации модели;

4  ExtSumModel[] - хранит значение = счетик_эволюций/(счетик_эволюций+счетик_мутаций) . Для получения счетчика_мутаций = 1 - ExtSumModel[rate_total-1] . Необходим для установки динамической весомости торговых сигналов.

 Текущие изменения:

1. Добавлен код "анти-флэтовой" защиты при определении точки E;

2. Добавлен код "проверка размерности волны D-E", т.е. теперь корректирую точку E, если она меньше ожидаемого значения (значительно уменьшилось число перерисовок точки Е, и улучшился прогноз);

3. Переработан код прогнозирования движения цены (Evolution/Mutation level_0);

4. Расчет индикатора проходит на всей доступной истории терминала, т.е. счетчик модели показывает реальное значение, а не погоду на Марсе :-)

5. Исправил отрисовку точек Arrow, теперь они почти всегда по середине, а не снизу как раньше;

6. Добавил иконку проекту.

TSI_WPR TSI_WPR

Осциллятор TSI, построенный на значениях технического индикатора WPR, выполненный со своей сигнальной линией в виде цветного облака.

BackgroundCandle_HullTrend_HTF BackgroundCandle_HullTrend_HTF

Индикатор, рисующий свечи с более крупного таймфрейма в соответствии с показаниями индикатора HullTrend.

CHashArrayStringString CHashArrayStringString

Пример реализации хеш массива строк со строковым ключем.

Karpenko Karpenko

Трендовый индикатор, выполненный в виде цветного облака.