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

 
St.Vitaliy:

Я вот тоже с собой воевал, все на разные движения засматривался, вот тут так классно было заработать.

Но, потом посмотрел, что за 2 недели заработал квартальную зарплату и подумал "ну и хрен с ним с моментом".

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

ТС автоматизирована?
 
Heroix:
ТС автоматизирована?
да, но тестирование проводил в экселе, на дневках. 10 инструментов, разные периоды.
 

EURUSD продолжает спуск внутри канала. Верхняя граница канала определилась. Теперь идём к нижней границе. Цель 1.262.

 

 
gpwr:

EURUSD продолжает спуск внутри канала. Верхняя граница канала определилась. Теперь идём к нижней границе. Цель 1.262.

 

А стоп где?
 
St.Vitaliy:
А стоп где?

В этот раз стоп не понадобится :)

для чистоты эксперимента - пусть будет на 1.2788 (текущая 1.2758) 

 
Коротковат стопик то, фигуру вверх добавьте
 
gpwr:

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

Я тут неделю бился над автоматическим построением каналов по зигзагу. Много тут ручной подгонки и много исключений. Решил забросить зигзаг и попытаться построить каналы по LWMA. Из всех машек, LWMA даёт маиболее прямые сегменты. Вот пример:

 

Здесь LWMA  с периодом 150 сдвинутая на 50 баров. Кстати, кто нибудь знает групповую задержку LWMA? У этого фильтра должна быть нелинейная фаза, но можно наверно использовать задержку нулевой частоты. Перед тем как я начну выводить, может кто-нибудь уже знает ответ. Думал аппроксимировать LWMA прямыми сегментами, но угол придётся корректировать и в этом вся загвоздка. Если знаем где начало каждого канала (например по изгибам какой-нибудь плавной машки), то можно также использовать линейную регрессию (тот же LWMA) на участках заданной длинны, то есть период LWMA будет адаптироваться под начало текущего канала. Вот сравнение LWMA (красный) и плавной машки (синий):

 

Может есть другие идеи?

Есть идеи и реализация есть. Пару лет назад на форуме четверки кто-то (по-моему, Сергеев) затеял ветку "Канал, какой ты?". Там я эту идею  озвучил, причем она уже была реализована. Суть очень проста:

1. Канал сам по себе смысла не имеет, он интересен лишь как дочерний объект тренда, поэтому его построение целесообразно именно в момент распознавания этого тренда. 

 2. Сначала формируется ось канала, затем - начинаем рисовать границы. Начало канала - момент первого касания ценой его оси, окончание - последнее (крайнее) касание. 

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

Картинка с экрана (реальное время, евродоллар, часы):  

 

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

 

Правка поста не работает, почему-то. :(

Не часы, а М30 

 

Вообще, ветка очень интересная, но тем в ней уже три: 

1. Распознавание патернов

2. Построение каналов

3. Инструменты фондового рынка 

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

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

/* iPulsar  Отображает количество периодов размером Scale(по умолчанию - дней), 
            на протяжении которых не были пробиты текущие значения High и Low. 
            Условно, характеризует "силу" тестируемых уровней.
            Использует фильтр уровня горизонта ретроспективы. При горизонте, 
            меньшем заданного числа периодов Scale, значение индикатора 
            не отображается.  */
#property   copyright "Copyright 2012, Тарабанов А.В."
#property   link      "alextar@bk.ru"
#property   indicator_separate_window  // Атрибуты индикатора
#property   indicator_buffers 2
#property   indicator_color1 Magenta   // Атрибуты буферов
#property   indicator_width1 2
#property   indicator_color2 Teal
#property   indicator_width2 2
#define     Version  "iPulsar_v1"      // Константы
#define     Zero     0.00000001
double         HP[],    LP[],          // Буферы
               Periods;                // Глобальные переменные
extern double  Filter      =0;         // Не отображать меньшие, чем ...
extern int     Scale       =1440,      // Размерность шкалы
               ScaleDigits =0;         // Точность отображаемых значений
//+------------------------------------------------------------------+
int init(){
   IndicatorShortName(Version);        // Атрибуты индикатора
   IndicatorDigits(ScaleDigits);
   SetIndexLabel(0,"High");            // Атрибуты буферов
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,HP);
   SetIndexEmptyValue(0,0);
   SetIndexLabel(1,"Low");
   SetIndexStyle(1,DRAW_HISTOGRAM);
   SetIndexBuffer(1,LP);
   SetIndexEmptyValue(1,0);
   if( Scale==0 ) Scale=Period();      // Контроль внешних переменных
   if( Scale<0  ) Scale=-Scale;
   if( ScaleDigits<0 ) ScaleDigits=-ScaleDigits;
   Periods=Scale/Period();             // Инициализация глобальных переменных
   return(0);
}
//+------------------------------------------------------------------+
int start(){
   double f=Filter*Periods, H, L, HB, LB;
   bool HD, LD;                        // Флаги обнаружения пробоев
   int i, k, History=Bars-1;
   int j=History-IndicatorCounted();   // Рассматриваемые бары
   while( j>=0 ){
      H=High[j];
      L=Low[j];
      HD=false;
      LD=false;
      HB=0;                            // Число баров до пробоя High
      LB=0;                            // Число баров до пробоя Low
      i=j;
      while( i<History ){              // Поиск пробоев
         if(  HD && LD ) break;        // Пробои найдены
         i++;
         k=i-j-1;                      // Текущая глубина поиска
         if( !HD && High[i]-H>Zero ){
            HD=true;                   // Пробой High
            if( k-f>-Zero ) HB=k;      // Фильтрация
         }
         if( !LD && L-Low[i]>Zero ){
            LD=true;                   // Пробой Low
            if( k-f>-Zero ) LB=k;      // Фильтрация
      }  }
      // Контроль обнаружения пробоев:
      if( !HD ) HB=History-j-2;
      if( !LD ) LB=History-j-2;
      // Приведение к заданной шкале и отображение:
      HP[j]= NormalizeDouble(HB/Periods,ScaleDigits);
      LP[j]=-NormalizeDouble(LB/Periods,ScaleDigits);
      j--;
   }
   return(0);
}
Построение каналов - взгляд изнутри и снаружи
Построение каналов - взгляд изнутри и снаружи
  • 2010.11.30
  • Dmitriy Skub
  • www.mql5.com
Наверное, не будет преувеличением сказать, что после скользящих средних каналы - самый популярный инструмент для анализа рыночной ситуации и принятия торговых решений. Не углубляясь во множество существующих стратегий использования каналов и их составных элементов, мы здесь рассмотрим математические основы и практическую реализацию индикатора, строящего канал, заданный тремя экстремумами на экране терминала.
Причина обращения: