ZUP - зигзаг универсальный с паттернами Песавенто. Поиск паттернов

Eugeni Neumoin | 15 февраля, 2018

Введение

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

Паттерны описывали многие авторы. Среди них не упомянуть Гарольда Гартли. Еще в 1935 году он опубликовал книгу "Доход на фондовом рынке". На одной из ее страниц была приведена картинка с паттерном и краткое описание, как его можно использовать для торговли. Эту тему начали широко развивать только через несколько десятилетий: было описано множество новых паттернов. Среди всех их авторов один из наиболее известных — Скотт Карни. Он разработал паттерны the Gartley, the Bat, the Butterfly, the Crab и другие. На все из них Скотт Карни оформил авторское право в 2016 году.

Есть множество алгоритмов поиска паттернов. Например, можно выбирать экстремумы на графике, "натягивать" между ними сетку Фибоначчи и определять возникновение паттерна по достижению рынком характерных уровней. Этот алгоритм используется и при ручном поиске, и в некоторых программах. Другой вариант — чисто программный. Алгоритм, заложенный в программе, находит экстремумы, проверяет их  взаимное расположение, и если оно соответствует какому-то паттерну, выводится сообщение о том, что он найден.

В индикаторной платформе ZUP реализовано множество возможностей для поиска паттернов. Можно строить их вручную. Но основной алгоритм — автоматизированный поиск паттернов на экстремумах рынка, определенных с помощью различных зигзагов. В версиях ZUP до 151 включительно режимы поиска паттернов задавались с помощью параметров. Но параметров, которые могут повлиять на поиск паттернов, более 100, и такое их обилие затрудняет работу. В версии 152 появилась возможность работать с помощью графического интерфейса. Базовые настройки задаются с помощью параметров, а быстрое подключение паттернов к поиску теперь происходит с помощью графического интерфейса.

Все параметры для простоты использования разделены по группам. Перечислю группы параметров, которые влияют на поиск паттернов.

  1. Параметры настройки зигзагов.
  2. Параметры настройки уровней Фибоначчи (1 - Parameters for fibo Levels).
  3. Параметры для паттернов Песавенто (2 - Parameters for Pesavento Patterns).
  4. Параметры для паттернов Гартли (3 - Parameters for Gartley Patterns).
  5. Общие параметры (15 - Common Parameters).

Также есть множество встроенных графических инструментов, которые помогают в поиске паттернов.

В первой части статьи мы поговорим о том, каким образом в 152 версии ZUP реализовано подключение к поиску паттернов с помощью графического интерфейса. Затем я расскажу о параметрах для поиска паттернов Гартли, и в заключении статьи мы вкратце пройдемся по другим паттернам.

Часть первая. Графический интерфейс для работы с паттернами

В версию 152 были добавлены элементы графического интерфейса для работы с паттернами. С помощью графического интерфейса стало возможным:

  1. подключать к поиску или отключать от него различные паттерны;
  2. просматривать картинки с шаблонами пятиточечных паттернов;
  3. создавать новые пятиточечные паттерны;
  4. редактировать параметры пятиточечных паттернов;
  5. сохранять отредактированный паттерн на место старого или в отдельный *.CSV файл;
  6. сохранять вновь созданный паттерн в новый или в выбранный *.CSV файлы;
  7. подключать к поиску паттерны из выбранного файла;
  8. создавать списки паттернов для поиска.

Для работы с графическим интерфейсом ZUP в конце списка параметров индикаторной платформы имеется параметр ExtPanel. ExtPanel=true разрешает работу с графическим интерфейсом.

Если при задании параметра ExtPanel=true графический интерфейс не появляется или он был удален нажатием на клавишу ESC, то комбинация клавиш SHIFT-Z выведет его панель на экран.

Далее нажимаем на кнопку Insert. В следующем меню кликаем на символ "бабочки" —  butterfly.  Появляетcя меню работы с паттернами:

menu

В него, по сравнению с версией 151, добавлена кнопка Select. Если на нее нажать, то появится меню со списком:

menu vieving

С его помощью можно подключить к поиску или отключить от него паттерны из списка, не используя панель параметров индикатора.  Для этого достаточно кликнуть на соответствующую кнопку. Значения параметров подключаемых паттернов будут заданы в списке параметров ZUP.

Кнопка Vieving of 5 dot patterns вызывает панель для работы с пятиточечными паттернами. Кликнув на нее, вы увидите такой экран с графиком:

chart

Учтите, что картинка с шаблоном паттерна выводится с помощью языка MQL4. Координаты точек паттерна — XABCD — используют время условных баров на графике. Предельное время, которое можно задать, ограничивается примерно 2033 годом. Поэтому при работе с этим элементом интерфейса не рекомендуется предельно сжимать график на месячном таймфрейме. Время условных баров, к которым "привязываются" паттерны, при сжатии графика может стать больше 2033 года. Это вызывает ошибку. При максимально сжатом графике шаблон паттерна будет либо искажен, либо вообще не выведется.

Что можно делать с помощью полученного окна?

Строка     дублирует/ заменяет значение параметра SelectPattern, который задает группы 5 точечных паттернов для поиска.


При работе с графическим интерфейсом будут использоваться значения параметров, заданные с помощью этого графического интерфейса. Если же графический интерфейс отключен ExtPanel=false, то будут использоваться значения, заданные через вкладку изменения параметров индикатора. При этом на каждом графике будут свои настройки параметров.

Кнопка Bullish в строке Bullish/Bearish задает вывод картинки с шаблоном паттерна в бычьей или медвежьей интерпретации (в первый раз по умолчанию выводится бычья) и название отображаемого паттерна.

Строка visible pattern соответствует параметру visiblePattern, который задает список подключенных к поиску паттернов.

Каждая позиция в данной строке соответствует одному из 33 встроенных в код ZUP паттернов. Если в позиции выбранного паттерна задана цифра 1, то паттерн подключен к поиску, если 0 — то отключен.

Изменять список паттернов, подключенных к поиску, можно несколькими способами.

  1. Подводим курсор к выбранной позиции и щелкаем левой кнопкой мыши. Первое нажатие выводит на экран картинку с шаблоном паттерна. Второе нажатие меняет 1 на 0 или 0 на 1.
  2. С помощью строки select . В ней 1 of 33 показывает, на какой из 33 позиций установлен розовый курсор. Курсор также показывает, какой паттерн выбран для манипуляций. Стрелками можно выбрать новое положение этого курсора. Кнопкой Yes/No можно поменять 1 на 0 и наоборот — 0 на 1.

    Кнопкой Hide все позиции переводятся в значение 0, то есть от поиска отключаются все паттерны. Здесь сразу отмечу следующее. Паттернов может быть подключено и больше, чем 33. Но линейка из единиц и нулей имеет только 33 позиции. При подведении розового курсора к крайней позиции слева и нажатии на стрелки << будут вызваны предыдущие 33 паттерна. При подведении розового курсора к правой (33-ей) позиции и нажатии на стрелки >> будут вызваны следующие 33 паттерна.

    Для отладки программы был подключен файл с примерно 265 паттернами, созданными одним из пользователей ZUP в более ранних версиях индикатора и использовавшимися только при поиске. Ранее паттерны создавались с помощью внешних программ для создания файлов в формате *.CSV. Это достаточно непростая работа. Сейчас можно создавать паттерны с помощью записи их параметров в файл формата CSV. Но всё же проще использовать графический интерфейс.

  3. С помощью стрелок в строке  select patern можно выбрать группы паттернов, заданные в коде ZUP с помощью параметра SelectPattern, для подключения к поиску. Но работа данного параметра зависит от того, подключены ли к поиску только паттерны из ZUP, или еще и из внешнего файла. С помощью стрелок в строке  read from file list pattern выбирается значение параметра readFromFileListPatterns - "Patterns from ZUP/"Patterns from external file"/"Patterns from ZUP and from file". С помощью этого параметра выбирается место хранения паттернов. Стрелками в строке file выбирается внешний файл с параметрами паттернов. В данной строке показывается, что можно подключить файл 1 из двух 1/2, который называется M. Это файл с параметрами паттернов Меррилла.

Кнопка New позволяет включить создание нового паттерна. Если подключены паттерны из внешнего файла, то могут появиться кнопки Edit и Delete в зависимости от значения, выбранного в строке read from file list pattern . Если внешних файлов нет, то может подключиться кнопка Edit и для паттернов, встроенных в ZUP. Это сделано для того, чтобы на основе одного из 33-х паттернов создать какие-то свои, просто подредактировав параметры.

Ниже могут появиться одна add parametr или несколько строк со значениями дополнительных параметров, характерных для паттерна, показанного на картинке справа.

Нажатие на кнопку New выводит список из 8 строк с параметрами, которые можно задать для пятиточечных паттернов.

list parametrs

Повторное нажатие на кнопку New вернет предыдущее значение экрана. В графическом интерфейсе ZUP отменить действие любых кнопок можно повторным нажатием на ту же кнопку или нажатием на клавишу ESC.

Нажатие на одну из строк со списком параметров вызовет следующее окно:

В данном случае мы нажали на пятую строку. На картинке показан пример паттерна, который можно создать с помощью выбранных параметров. Причем при его создании будут по умолчанию браться значения параметров от паттерна из примера. Параметры можно изменить. В частности, из данного паттерна был в шутку создан новый, с названием А баба яга против:

baba yaga

Повторное нажатие на пятую строку вызывает следующую картинку:

Строка  parametrs pattern показывает, какие параметры можно изменить.

Строка parametr показывает выбранное значение параметра. Стрелками выбирается новое значение параметра. Его можно отредактировать вручную, нажав на кнопку 0.382 и отредактировав значение параметра. При изменении значения параметра меняется и графическое представление паттерна.

Кнопка Next фиксирует выбранное значение, и мы переходим к заданию значения следующего параметра.

При этом в строке parametrs pattern уменьшится количество еще не заданных параметров и появляется следующий элемент паттерна — BC.

После первой фиксации значения параметра с помощью кнопки Next появляется кнопка Back, позволяющая откатить назад и отредактировать предыдущие значения параметров.

Две кнопки  позволяют в любой момент подключить параметры: фильтр линии XB и соотношение длин крыльев паттерна. Это соотношение задается с помощью стрелок. При нажатии на число, выбранное с помощью стрелок, можно вручную задать свое соотношение. ВНИМАНИЕ! Чтобы отключить его, нужно ввести значение 0.


По окончанию создания нового паттерна будет предложено задать его название:

edit name pattern

Назовем его, например, AA.

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

Choose/edit file

Редактирование параметров паттернов происходит аналогично созданию нового паттерна. В конце редактирования будет предложено сохранить полученный паттерн на месте редактируемого, либо сохранить как новый в заданном файле *.csv. Или, если мы редактировали паттерн из списка встроенных в ZUP, будет предложено сохранить паттерн как новый в выбранный файл.

Файлы *.csv сохраняютсятся в папке MQL4\Files\ZUP\ListPatterns.

Пропускаю подробное описание некоторых кнопок. Их действие понятно из вышеизложенного.

При создании/редактировании некоторых параметров может быть выведено предельно возможное значение параметра. В дальнейшем изменить его будет невозможно. Это сделано для того, чтобы исключить задание значений параметров, при которых для выбранного значения допуска ExtDeltaGartley и с уже заданными значениями параметров паттерн не будет иметь смысла. То есть, паттернов с такими значениями мы все равно никогда не найдем на графике. Появляется кнопка Ignore. Кнопка разрешает задание любых значений параметра: ведь вдруг в дальнейшем нам, например, захочется увеличить значение ExtDeltaGartley, после чего запрещенные ныне значения параметров будут работать.


Часть вторая. Параметры для поиска паттернов Гартли

Включение поиска паттернов Gartley производится с помощью параметра ExtIndicator=11. При этом происходит сканирование графика на расстоянии ExtMaxBar баров. Это первый вариант поиска. Он называется "Поиск паттернов с помощью сканера".

Возможен поиск паттернов и при других значениях параметра ExtIndicator. Для этого включается параметр ExtGartleyOnOff и производится поиск на одном зигзаге, заданном параметром ExtIndicator. Это второй вариант поиска — "Поиск паттернов на зигзаге".

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

Есть и третий вариант поиска паттернов. Этот вариант описан в статье "ZUP - зигзаг универсальный с паттернами Песавенто. Графический интерфейс".

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

Паттерны, созданные с помощью графического интерфейса, можно использовать во всех трех вариантах поиска.

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

для медвежьих паттернов на участке от точки D до нулевого бара не должно быть баров, у которых максимум бара выше максимума рамки зоны развития точки D;

для бычьих паттернов на участке от точки D до нулевого бара не должно быть баров, у которых минимум бара ниже минимума рамки зоны развития точки D.

Минимум и максимум ретрейсмента задают диапазон для поиска.

Файлы *.csv находятся в папке MQL4\Files\ZUP\ListPatterns.

Файлы с картинкой найденного паттерна находятся в папке MQL4\Files\ZUP\PicturePatterns.

Файлы *.xml с параметрами найденного паттерна находятся в папке MQL4\Files\ZUP\XML.

Файлы *.csv с параметрами найденного паттерна находятся в папке MQL4\Files\ZUP\CSV.

Информация о найденном паттерне может выводиться в глобальную переменную с названием "ZUP"+_Symbol+_Period . Пример названия глобальной переммной — ZUPGBPUSD240. Если паттерн найден, то в переменную будет записана цифра 1.

Пояснение некоторых возможностей ZUP, реализованных в режимах поиска паттернов Gartley


Монитор паттернов

Ниже показана работа Монитора паттернов на примере  режима "китайская игрушка". В этом режиме на график выводится множество найденных паттернов:

monitor patterns

Строки в левом верхнем углу графика и есть монитор. Каждая строка соответствует одному из паттернов, выведенных на график. Цвет первых трех колонок соответствует цвету соответствующего паттерна. Цвет четвертой колонки: синий — паттерн бычий и задан параметром ExtColorPatternsBullish, красный — паттерн медвежий и задан параметром ExtColorPatternsBearish .

В первой колонке выводится номер бара, на котором находится точка D паттерна.

Во второй колонке выводятся параметры minBars/ExtBackstep зигзага, на котором найден соответствующий паттерн.

В третьей колонке выводится условное отклонение ретрейсментов XC-XB-AD-CD от идеального значения. Разберем это подробнее на примере паттерна Bullish Butterfly [1.414/.786/.786/2.0] в пятой строке монитора паттернов. Идеальные значения ретрейсментов показаны в квадратных скобках после названия паттерна. Каким образом формируются условные отклонения? И что означают условные отклонения?

Чем больше число, тем больше отклонение от идеального значения.

Линия равновесия и линия вектора зеркального тренда

Параметр Equilibrium включает вывод линии равновесия, проходящей через точки XB паттерна и двух линий реакции (красные пунктирные линии):

equilibrium / vector of a mirror trend

Линия реакции 1 параллельна линии равновесия и находится от нее на расстоянии, равном расстоянию точки C паттерна до линии равновесия.

Линия реакции 2 параллельна линии равновесия и находится от нее на расстоянии, равном расстоянию точки A паттерна до линии равновесия.

При подходе к линиям реакции можно ожидать либо коррекции, либо окончания формирования паттерна.

Вектор зеркального тренда включается параметром VectorOfAMirrorTrend . После этого начинает выводиться пунктирная линия. На вышеприведенной картинке линия вектора зеркального тренда бледно-зеленая. Она проведена через диагональ потенциальной разворотной зоны, показанной в виде красного прямоугольника у точки D паттерна.


Часть третья. Кратко о других паттернах

Кроме паттернов Гартли, ZUP позволяет работать с паттернами Песавенто и с другими видами.

Существуют, например, так называемые паттерны Меррилла. Они используются совместно с полосами Боллинджера. ZUP позволяется идентифицировать их на уже построенном зигзаге. На графиках они не отображаются: выводится только их название. На четырех первых справа лучах зигзага будут динамические паттерны Меррилла, на лучах со второго по пятый — статические.

Информация о паттернах Меррилла включается с помощью параметра infoMerrillPattern=true. Информация о паттерне выводится в строке в левом верхнем углу экрана мелким шрифтом. Можно вывести название паттерна крупным шрифтом с помощью параметра bigText=true. Крупным шрифтом название выводится в правом верхнем углу экрана.

Merrill pattern

На первых четырех лучах образовался динамический паттерн Меррилла, который называется Треугольник.

На лучах со второго по пятый видим статический паттерн под названием M13.

Паттерны Меррилла — пятиточечные. Можно создать их графическое представление с помощью графического интерфейса. Например, это уже сделал участник форума Станислав Тривайло под ником поручик.

При включении параметра bigText=true крупным шрифтом может выводиться также информация о найденном паттерне Гартли. Эта информация и монитор могут быть выведены только для первых двух вариантов поиска паттернов.


Заключение

Приведенное краткое описание позволит понять, как использовать ZUP для поиска паттернов.

Скачать индикаторную платформу ZUP можно в Маркете: https://www.mql5.com/ru/market/product/19758