Свечной анализ. Кодирование паттернов - страница 4

 
IgorM:
да описывает, но извините - задача лоб решена, каждый раз править if-ы не самый лучший вариант
 Здесь  if делится на 3 группы каждая группа делится на 4 варианта в итоге 12 типов свечей, которые могут вообще сформироваться на графике. Что касается в лоб, то попробуйте придумать свой вариант но думаю это сложновато будет для вас
 
Alexey:
 Здесь  if делится на 3 группы каждая группа делится на 4 варианта в итоге 12 типов свечей, которые могут вообще сформироваться на графике. Что касается в лоб, то попробуйте придумать свой вариант но думаю это сложновато будет для вас
Он уже это делал годов так пять назад
 
Vinin:
Он уже это делал годов так пять назад
И что за 5 лет, так и не продвинулся?
 
IgorM:

круто!

Попробую формализовать задание: разработать метод определения взаимного расположения баров для 5 приведенных примеров 

1. красный бар Open > Close  

2. в примере № 1 у красного бара High и у зеленого бара Low незначительны или могут отсутствовать (у остальных примеров по аналогии) задается константой в пп

1.      2.       3.    4.    5.  

 как эффективно вот такую "хрень" закодировать для указанных 5 примеров?

Вы вообще заметили что у вас 4 и 5-й паттерн, по модели движения, отличаются от 1-3-го.

В первых 3-х (если не брать мелкого отката в 3-м) два движения (атака-откат), тогда как в 4-5-м (если убрать шум в 5-м) движений 4-ре (атака-коррекция-атака после коррекции-откат).

 
Alexey:
И что за 5 лет, так и не продвинулся?

ну как бы по программированию не когда было - много работал и заработал, нужно было ипотеку закрыть http://www.mreporter.ru/reports/44471

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

enum Alphabet{A,B,C,D,E,NONE};
enum BarType{
   бычья_безхай_безлоу,
   бычья_схай_безлоу,
   бычья_безхай_слоу,
   бычья_схай_слоу,
   медвежья_безхай_безлоу,
   медвежья_схай_безлоу,
   медвежья_безхай_слоу,
   медвежья_схай_слоу,
};
struct OHLC{
   double open;
   double high;
   double low;
   double close;
};


Alphabet decodeBar(const OHLC &bar1,const OHLC &bar2){
   BarType res_bar1,res_bar2;
   res_bar1 = scanbar(bar1);
   res_bar2 = scanbar(bar2);
 if (res_bar1 == медвежья_безхай_слоу && бычья_схай_безлоу) return(A);
return(NONE);
}
Alphabet decodeBar(const OHLC &bar1,const OHLC &bar2,const OHLC &bar3){
return(B);
} 
BarType scanbar(const OHLC &bar){
// заглушка
return(бычья_безхай_безлоу);

вроде можно такой код изменять алфавит для поиска новых паттернов

Urain:

В первых 3-х (если не брать мелкого отката в 3-м) два движения (атака-откат), тогда как в 4-5-м (если убрать шум в 5-м) движений 4-ре (атака-коррекция-атака после коррекции-откат).

это Вы уже торговую стратегию пытаетесь подобрать, речь пока идет как описать бары и их взаимное расположение, а контекст рынка это следующий этап
Креативно-шокирущий ответ кризису и морозу от девушки из Иркутска!
Креативно-шокирущий ответ кризису и морозу от девушки из Иркутска!
  • www.mreporter.ru
Время события: 26.12.2014 22:42 Место события: Иркутск, улица Нижняя Набережная Конкурс: Мы просто решили в такой шуточной форме ответить мировому кризису!!! Россия великая страна и ей не страшны ни санкции ни попытки обвалить рубль. Героиней ролика стала молодая...
 
IgorM:

ну как бы по программированию не когда было - много работал и заработал, нужно было ипотеку закрыть

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

вроде можно такой код изменять алфавит для поиска новых паттернов

Вот вам мысль: нарезка баров может искажать паттерны.

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

 
Urain:

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

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

Kos CandleCode

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

 

Кому нужны свечные паттерны - поищите у меня в профиле.

Все уже украдено до вас ) 

 

Еще мысли.

Положение 0 - второй бар  полностью ниже первого.

Положение 1 - все цены второго бара ниже первого, а high выше low и ниже тела (в пределах нижней тени). 

Положение 2 - все цены второго бара ниже первого, а high входит в тело первого бара.  

Положение 3 - все цены второго бара ниже первого, а high входит в верхнюю тень первого бара.   

Положение 4 - все цены второго бара ниже первого, а high выше high первого бара.

Теперь low и низ тела ниже первого бара, так же двигаем верхнюю часть тела, и high. И т.д. и т.д. и т.д.

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

Но это мелочь, стоит только только взяться.

1. <Low

2. >=Low и <Min(O,C) 

3. >=Min(O,C) и <=Max(O,C) 

4. > Max(O,C)  и <=High

5. >High 

 
IgorM:

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

Kos CandleCode

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

Для этого нужно разложить на базовые кирпичи понятие паттерн, из чего он состоит?

Я выше предложил терминологию атака коррекция откат,

например атака - первичное движение в паттрене (может быть сложным или простым, состоит из одного или нескольких баров),

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

Это всё для например :)

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

Причина обращения: