Обсуждение статьи "Исследование методов свечного анализа (Часть II): Автопоиск новых паттернов"

 

Опубликована статья Исследование методов свечного анализа (Часть II): Автопоиск новых паттернов:

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

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

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

На рис.1 представлена общая схема создания нового паттерна.


Рис.1 Алгоритм создания нового паттерна.

Таким образом получается определенный набор(пул) свечей, из которых будут формироваться новые паттерны наборами по 1-3 свечи с повторениями или без. Общее количество в пуле будет равно 11 базовых свечей. Сформированные свечные модели буду анализироваться по тому же принципу, что и в первой статье.


Автор: Alexander Fedosov

 

Было бы полезно разделить анализируемый интервал на 2 отрезка — на одном выбирать перспективные паттерны, а на втором проверять их состоятельность (аналог in- и out-of-sample).

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

 
Andrey Khatimlianskii:

Было бы полезно разделить анализируемый интервал на 2 отрезка — на одном выбирать перспективные паттерны, а на втором проверять их состоятельность (аналог in- и out-of-sample).

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

У меня чуть другая идея. Сделать отдельный класс и набор методов для применения в индикатора и экспертах. До этого была теория, теперь практическое применение.
А состоятельность любого паттерна и так проверяется. Найден, сразу проверка куда пошла цена, как быстро(1-3 свечи) достигнет установленного профита. В таблице это коэффициент К. 
 
Alexander Fedosov:
А состоятельность любого паттерна и так проверяется. Найден, сразу проверка куда пошла цена, как быстро(1-3 свечи) достигнет установленного профита. В таблице это коэффициент К. 

Имел в виду, считать К на одном куске, а проверять на другом.

 

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

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

 

А сортировать, по какому нибудь значению возможно?  Или может быть есть возможность выгрузить таблицу в эксель?

 
s22aa:

А сортировать, по какому нибудь значению возможно?  Или может быть есть возможность выгрузить таблицу в эксель?

Учту в будущем обновлении.

 
Alexander Fedosov:

Учту в будущем обновлении.

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

Ну тогда, у меня ещё предложения есть. 

Советник не видит инструменты Российской биржи. Видит только тот инструмент на графике которого запущен советник. Не критично.

Нужен выбор периода тестирования, а не просто последние свечи.

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

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

Это индекс РТС склейка контрактов. 

P.S. Пока писал, подумал, что возможно у меня, что то не так с индексом РТС. Так как тестирование советника торгующего по паттернам  внутренние, внешние  бары, показывало положительный результат последние два месяца и отрицательный результат если тестить период год. Будет время проверю какие результаты получатся на СМЕ. 

 
Alexander Fedosov:

Учту в будущем обновлении.

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

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

         if(paternDn(4,3,2,i,close[i]))  
         if(paternDn(8,2,9,i,close[i]))
         if(paternDn(2,2,5,i,close[i]))
         if(paternDn(9,5,3,i,close[i]))
         if(paternDn(2,2,9,i,close[i]))
         if(paternDn(9,8,1,i,close[i]))
         if(paternDn(2,9,8,i,close[i]))
         if(paternDn(9,8,2,i,close[i]))
         if(paternDn(6,9,8,i,close[i]))
         if(paternDn(8,1,3,i,close[i]))
         if(paternDn(9,8,5,i,close[i]))
         if(paternDn(2,8,8,i,close[i]))
         if(paternDn(5,1,2,i,close[i]))
         if(paternDn(9,2,2,i,close[i]))
         if(paternDn(5,2,2,i,close[i]))
         if(paternDn(4,2,2,i,close[i]))
         if(paternDn(3,4,8,i,close[i]))
         if(paternDn(8,8,6,i,close[i]))
         if(paternDn(1,1,2,i,close[i]))
         if(paternDn(4,8,5,i,close[i]))
         if(paternDn(9,2,1,i,close[i]))
         if(paternDn(8,4,9,i,close[i]))
         if(paternDn(9,8,9,i,close[i]))
         if(paternDn(9,2,2,i,close[i]))
         if(paternDn(8,2,8,i,close[i]))
         if(paternDn(4,9,1,i,close[i]))
         if(paternDn(3,2,9,i,close[i]))
         if(paternDn(1,6,9,i,close[i]))
         if(paternDn(8,5,8,i,close[i]))
         if(paternDn(8,9,9,i,close[i]))
         if(paternDn(9,2,9,i,close[i]))
         if(paternDn(3,3,8,i,close[i]))
         if(paternDn(1,8,1,i,close[i]))
         if(paternDn(8,8,1,i,close[i]))
         if(paternDn(8,10,11,i,close[i]))
         if(paternDn(8,8,10,i,close[i]))
         BuffDn[i]=EMPTY_VALUE;
 
s22aa:

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

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

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