Повторяющиеся паттерны и прочие закономерности - страница 2

 

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

1) мы берем рассояние между вершинами, именно с помощью подобных индикаторов можно абстрагироваться от рыночного шума

2) затем сравниваем эти значения путем деления друг на друга и выводим соотношения (первая прямая по высоте в 2 раза больше следующей и составляет столько-то от тренда и т.д.)

3) затем записываем, что именно должно быть после этого "паттерна" и начинаем отслеживать

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

индикатор зигзаг подошел бы, потому что он не учитывает шумы, еще подешел бы индикатор фракталов

Fractals
Fractals
  • голосов: 8
  • 2010.01.26
  • MetaQuotes Software Corp.
  • www.mql5.com
Фракталы (Fractals) — это один из пяти индикаторов торговой системы Билла Вильямса, позволяющий обнаруживать дно или вершину.
 
gpwr:

Кто-нить запрограммирует эту интересность? 

Тема интересная, но слишком сложная для автоматизации.

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

Второй сложный момент - это ложные пробои. Как определить, пробой это, или корректировка линии тренда? На истории это замечательно видно, а на практике такого нет.

Сам давно интересуюсь торговлей в каналах и интересны любые соображения на этот счет. 

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5
 

Есть еще одна проблема - это повторяемость и фрактальность, и хотя эти вещи казалось бы должны помогать в анализе, на самом деле, никогда не знаешь с каким именно каналом из иерархии ты сейчас работаешь (где мы сейчас находимся). Вот примерчик - и хотя каналы я рисовал потом (далее по времени) , все они отлично совпадают с историей, то есть, в будущем цена будет двигаться согласно старым каналам. Но вот только каким именно? И на рисунке только малая часть из того что можно нарисовать.

 

 

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

 

 
Vladix:

... последний красный канал явно подогнан под принцип "пробой обычно становится серединой нового канала", так как его нижняя линия должна была быть проведена выше.

... Как определить, пробой это, или корректировка линии тренда?

 

Согласен. Нижняя граница последнего даунтренда могла быть нарисована и выше. От этого мало бы чего изменилось, так как нас интересуют точки касания и пробой верхней границы даунтренда. Нижняя граница даунтренда обычно начинается от третьей точки касания предыдущего аптренда верхней границы предыдущего канала (зелёная точка 3).

Лучше не дожидаться второй точки касания верхней границы даунтренда, а ставить отложник по цене пробития предыдущего канала (желтый кружок с чёрной границей) и ставить цель равную по крайней мере половине ширины предыдущего канала. Либо отслеживать движение цены машкой. Ложные пробои существуют поэтому всегда нужны стопы. Давайте думать о других вариантах входов.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов - Документация по MQL5
 
gpwr: Например, два красных паттерна на глаз кажутся одинаковыми, но второй растянут по времени почти в 2 раза по отношению к первому. Движение по ценовой оси тоже разной амплитуды. Если пробовать брать вершины зигзага, то у одного паттерна будет больше вершин чем у другого и сеть заперхнётся. Мысли?

Так вы хотите каналы или всё же паттерны? Если паттерны, то: время и амплитуду привести к относительным величинам (нормализация). Зигзаги вообще не нужны, разве что мелкие, а лучше мелкие аппроксимации. Далее засунуть в любой традиционный распознаватель изображений, хоть в двумерный коррелятор. Поскольку окна разные, придется поиск вести в некотором диапазоне размеров и постоянно решать вопрос, "это еще предыдущий паттерн" или уже "начался следующий". Всё имхо. Надо тестировать. Сам хочу сделать, да некогда.

 
bas:

Так вы хотите каналы или всё же паттерны?

 

Паттерн внутри канала - об этом чуть попозже. Сам по себе ценовой паттерн не имеет смысла если он не привязан к каналу или уровням поддержки/сопротивления. Отсюда главный недостаток пользователей сетей - они берут цены не привязанные к никаким уровням думая что сеть сама разберётся и найдёт эти уровни. К тому же нейросетевики подают постоянный участок истории на вход сети думая что сеть сама найдёт паттерны линейно или нелинейно сжатые или растянутые по времени. Да, такая сеть существует, в нашем мозгу. Искусственные сети до этого пока не доросли, даже распознователи цифер, которые обучаются на отмеченных (labeled) примерах примерно одинакового размера.

 

>Отсюда главный недостаток пользователей сетей - они берут цены не привязанные к никаким уровням думая что сеть сама разберётся и найдёт эти уровни.

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

>К тому же нейросетевики подают постоянный участок истории на вход сети думая что сеть сама найдёт паттерны линейно или нелинейно сжатые или растянутые по времени.

Линейные искажения минимизируются нормализацией, нелинейные думаю можно минимизировать переходом к range-представлению, но при этом станут неразличимы импульс/коррекция, если это важно.

 

Цена каснулась нижней границы текущего канала, подтверждая что эта граница была поостроена всё таки правильно. С большой вероятностью этот даунтрендовый паттерн закончен и мы начали аптренд, подтверждением которого будет пробой верхней границы.

 

 
bas:

>Отсюда главный недостаток пользователей сетей - они берут цены не привязанные к никаким уровням думая что сеть сама разберётся и найдёт эти уровни.

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

>К тому же нейросетевики подают постоянный участок истории на вход сети думая что сеть сама найдёт паттерны линейно или нелинейно сжатые или растянутые по времени.

Линейные искажения минимизируются нормализацией, нелинейные думаю можно минимизировать переходом к range-представлению, но при этом станут неразличимы импульс/коррекция, если это важно.

 

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

В подтверждение искажений паттернов, я растянул предыдущий даунтрендовый и наложил его на текущий:

 

Проблема с автоматическим нахождением похожих паттернов в том что мы заранее не знаем 

  1. Длину текущего паттерна. Например, в данной дискуссии патерн привязан к каналам, и его начало более-менее определено. Если мы не привязываем паттерн к каналу, то где брать начало?
  2. Искажение текущего паттерна по сравнению с прошлыми. Нам нужно описать текущий паттерн какой-то плавной функцией, сжать её на один бар, сравнить со всеми предыдущими паттернами, потом опять сжать на один бар, и так далее. Потом растягивать по барам. Короче уйдёт уйма времени. Либо создать сеть работующую по принципу нашей зрительной коры.
Причина обращения: