Положение цены в структуре Zig-Zag

 

Ищу методику для определения положения цены в структуре индикатора Zig-Zag.

Как известно данные индикатор хранит 3 точки - две из них описывают последние (завершенные) максимум и минимум (последовательность разная) и последний максимум/минимум.
Сам индикатор можно грубо разделить на 2 волны:
1. Трендовая
2. Коррекционная

Которые можно подразделить на внутренние структуры этих волн:
Трендовая:
- Начало продолжения тренда
- Зарождение тренда
Коррекционная:
- Начало коррекции (соответствует первой коррекционной волне)
- Продолжение коррекции (последующие коррекционные волны после трендовой)

Прикладываю графический файл - что я подразумеваю под трендовой волной, все остальные там коррекционные.
Прикладываю табличный файл - там показаны основные паттерны и их буквенное обозначение.

Я ограничился описанием волн с их разным текущим состоянием следующим образом:

А.) Трендовая
Б.) Коррекционная
В.) Начало продолжения тренда
Г.) Продолжение коррекции
Д.) Зарождение тренда

Цель - получить координаты каждой из волн, вектор направления и их последовательность в буквенной шифровке к примеру "АБВА" - последняя буква описывает текущее состояние.
Волны будут скорректированы позже по процентам отклонения от прошлой трендовой волны - отличие от ZigZag.
Как это все дело описать математически для создания индикатора?

Файлы:
 
-Aleks-:Как это все дело описать математически для создания индикатора?
https://www.mql5.com/ru/articles/260
Реализация автоматического анализа волн Эллиотта на MQL5
Реализация автоматического анализа волн Эллиотта на MQL5
  • 2011.03.08
  • Roman Martynyuk
  • www.mql5.com
Одним из самых популярных методов анализа рынка является волновой анализ. Однако данный процесс является достаточно сложным, что приводит к использованию дополнительных инструментов. Одним из таких инструментов является автоматический разметчик. В данной статье рассматривается создание автоматического анализатора волн Эллиотта на языке MQL5.
 
IgorM:
https://www.mql5.com/ru/articles/260

Спасибо за ссылку. Имеется информация к размышлению. Но не понятно, как создать на этой базе индикатор...

Проблема в том, что нужно найти первую трендовую волну по зиг-загу и потом определить соответствие по параметрам. Вот думаю, как искать лучше - слева на право или с права на лево?

 
Есть ли способ выгрузить значение индикатора ZigZag?
 
-Aleks-:
Есть ли способ выгрузить значение индикатора ZigZag?

а самостоятельно искать пробовали информацию? http://www.mql5.com/ru/search#!keyword=ZigZag%20в%20файл

https://www.mql5.com/ru/code/9781 

 
IgorM:

а самостоятельно искать пробовали информацию? http://www.mql5.com/ru/search#!keyword=ZigZag%20в%20файл

https://www.mql5.com/ru/code/9781 

Пробывал! Но, не все попытки бывают удачливы... сейчас попробую скрипт, спасибо.
 

Вот получил я значение индикатора на каждом пике, что дальше можно сделать?

Пока вижу первично такие шаги алгоритма:

Этапы:
1. Находим длину отрезков - вычитаем из последней точки предыдущую.
2. Определяем вектор направления отрезков, если >=0 вверх, иначе вниз.
3. Преобразуем цифры по модулю - убираем отрицательный знак.

ZigZag 1 Этап 2 Этап 3 Этап
9 1,55722 #ЗНАЧ! #ЗНАЧ! #ЗНАЧ!
8 1,56074 0,00352 1 0,00352
7 1,54854 -0,01220 -1 0,01220
6 1,55845 0,00991 1 0,00991
5 1,55003 -0,00842 -1 0,00842
4 1,55755 0,00752 1 0,00752
3 1,55487 -0,00268 -1 0,00268
2 1,56194 0,00707 1 0,00707
1 1,53270 -0,02924 -1 0,02924


Что делать дальше?

Есть идея проверить, сколько предыдущих отрезков по координатам вписывается в проверяемый отрезок - проверяем до волны которая не вписывается.

 

Ну вот, помощи не дождешься...

Посмотрел разные методы решения - они решаются фактически за счет ограничения поиска волн (отрезков) - берем N экстремумов и сверяем по формализованным правилам, а есть ли иной вариант?

 
А если подсчитывать не количество экстремумов и их сравнение между собой, а количество экстремумов не превышающих последний экстремум подряд? Допустим если прошлые 50 экстремумов подряд не превышали текущий, то явно трендовая волна.
 

Пришел к мысли, что зиг-заг уникален своей автонастройкой - фактически через определенное количество отрезков он начнёт правильно определять трендовую тенденцию по заданному простому алгоритму.

Требуется проверка мысли. 

 
Начнем с того что ZZ это по факту не индикатор а способ отражения ценовой структуры. Всякие там бары, свечи, ренко,крестики-нолики его близкие родственники. Классический ZZ в этом смысле ОЧЕНЬ далек от совершенства. Из этого следует что надо найти оптимальный для себя алгоритм самого ZZ. Их на просторах интернета великое множество. К сожалению ваш XL файл у меня не открылся по этому по этой причине до конца цель понять не смог. Но тот вариант банального нормирования в процентах что вы предложили не годится .Будет много ложных сигналов . Нужна привязка еще к чему то . Или если быть более точным адаптация. Ну предположим к среднему размеру свечи за N  баров. N должно быть достаточно большим чтобы минимизировать возможные расхождения и при этом не сильно напрягать комп. Скажем так 100-300. Так же надо в вести понятие "не законченной волны". Откуда вести расчет? Да что хрен в банке, что в банке хрен, один хрен в банке хрен. А серьезно это зависит от того что вы хотите от него. Я лично предпочел бы от текущего момента до ближайшего участка отвечающего полным критериям оценки.
Причина обращения: