Найти в Дзене
Код торгового робота

Паттерн "падающая звезда". Часть 1. Суть планируемого исследования

Всем привет!

Сегодня я хотел бы начать исследование паттерна, имеющего название «Падающая звезда». Вот суть описания этого паттерна:

«Цена открытия и закрытия находятся относительно не далеко, а вот верхняя тень свечи длинная и превышает тело свечи как минимум в 3 раза. Нижняя тень или отсутствует, или очень короткая. В данном случае, покупатели пытались двинуть рынок вверх, но удалось это лишь в моменте, чтобы закрепиться у них не хватило сил, продавцы перехватили инициативу. Цена, скорее всего, пойдет вниз».

Паттерн "Падающая звезда".
Паттерн "Падающая звезда".

Вот пример такой свечи.

Я планирую проверить насколько данный паттерн отрабатывается на различных графиках акций, торгующихся на Московской бирже. Естественно, делать это я буду не вручную, а при написании скрипта на QLUA. Тем более, что этот скрипт будет состоять из частей, которые мы ранее рассматривали:

- Как прочитать свечи;

- Как определить наклон движения по свечам;

- Как прочитать время свечи;

- Как задать данные по бумагам, избегая ООП;

- Как использовать команду message().

Итак, давайте подробнее. Что конкретно будет делать скрипт, который я задумал написать?

  1. Написанный скрипт пройдется по акциям, которые мы определим ему (возможно, что все, которые торгуются на Московской бирже).
  2. По каждой акции скачает свечи по нескольким тайм-фреймам (которые мы определим).
  3. На каждом графике найдет свечу, соответствующую паттерну «Падающая звезда». Посмотрим как график вел себя до появления этого паттерна и как вел себя после появления этого паттерна.
  4. Эту информацию выведем командой message().
  5. Скопируем данные из сообщений и поместим в Эксель. А там уже по мере способностей проведем анализ.

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

-3

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

А теперь давайте определим требования к свече, выполняя которые мы ее будем считать как паттерн «падающая звезда».

У нас есть четыре цены: цена открытия цена закрытия, максимальная цена и минимальная цена.

-4

Для начала мы определим что больше цена открытия или цена закрытия. Для этого у нас будет функция, которая получит два значения и вернет максимальное результат ее обозначим пока так: max_from(Цopen, Цclose).

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

-5

На рисунке показано красным числитель данной формулы, зеленым – знаменатель.

Так вот, если К будет больше трех, то будем считать, что эта свеча соответствует искомому паттерну. Тут хотел бы обратить внимание, что число три взято «от балды». И, чем хорош подход к программированию, тем, что это значение мы запишем в переменную на этапе «задание переменных», дальше в расчетах будет фигурировать только переменная. А если нам понадобится, то можно будет это «от балды» заменить на другое «от балды», не ковыряясь в коде – только в начале работы скрипта.

Все вроде хорошо и понятно. Но, вот незадача. Мы в процессе работы, наверняка столкнемся с уродливыми свечами типа такой:

-6

То есть цены входа, выхода и минимума будут одинаковыми или очень близкими. Движение вверх будет небольшим. Но, коэффициент К будет или огромным или выдаст ошибку из-за деления на ноль. Что бы избежать признания таких уродцев в качестве искомых паттернов, мы должны смотреть насколько свеча большая. То есть определять разницу между максимумом и минимумом. Если полученный результат будет незначительным, то эту свечу мы рассматривать не будем. Проблема в том, что для разных таймфреймов разное значение будет незначительным. И, я пока вижу только такой подход – все же посмотреть на реальные графики разных таймфреймов и определить для какого тамфрейма какое значение является достаточным или недостаточным.

Но, это я уже рассмотрю в следующей части.

На сегодня все. Всем удачи, всем пока.

Продолжение следует. А что там получится - я пока не знаю.

Часть 2. Подготовка к написанию скрипта

Часть 3. Написание скрипта.

=================================

Краткое содержание данного канала.

=================================