Как правильно сформировать входные значения для НС. - страница 12

 
sergeev писал (а) >>
Если модераторы разрешат, выкладываю архивы здесь (после ознакомления с ними вы должны будете их удалить :))))

СПАСИБО БОЛЬШОЕ!!! Отличный архив-пшол изучать... вот я чего не умел так этого, пшол учиться-еще раз СПАСИБО.

З.Ы. и спасибо что ветке не даете умереть.

 
sergeev писал (а) >>
Ну так что на счет входов. У кого какие сети и входы?

берем разницу в EMA

по каждому ТФ


M1 M5 M15 M30 (H1)



3-5

5-8

8-13

13-21

21-34

34-55

55-89

89-144

144-233


получаю нечто вроде такого

#define MAX_INP 6 //; 3-5 5-8 8-13 13-21 21-34 34-55 55-89 89-144 144-233


на вход при обучении подаю примерно так




INP_PATTERNS[3][0]=-2;
INP_PATTERNS[3][1]=-3 ;
INP_PATTERNS[3][2]=-4 ;
INP_PATTERNS[3][3]=-5 ;
INP_PATTERNS[3][4]=-6 ;
INP_PATTERNS[3][5]=-7 ;
INP_PATTERNS[3][6]=-8 ;
INP_PATTERNS[3][7]=-9 ;
INP_PATTERNS[3][8]=-10;
OUT_PATTERNS [ 3, 0]= 0. ;
OUT_PATTERNS [ 3, 1]= 0. ;
OUT_PATTERNS [ 3, 2]= 1.0 ; // бай



выход ! у этого патерна БАЙ




INP_PATTERNS[4][0]=1 ;
INP_PATTERNS[4][1]=1 ;
INP_PATTERNS[4][2]=2 ;
INP_PATTERNS[4][3]=2 ;
INP_PATTERNS[4][4]=3 ;
INP_PATTERNS[4][5]=3 ;
INP_PATTERNS[4][6]=4 ;
INP_PATTERNS[4][7]=5 ;
INP_PATTERNS[4][8]=6 ;

OUT_PATTERNS [ 4, 0]= 1. ; // селл
OUT_PATTERNS [ 4, 1]= 0. ;
OUT_PATTERNS [ 4, 2]= 0. ;

Селл


INP_PATTERNS[5][0]=0 ;
INP_PATTERNS[5][1]=0 ;
INP_PATTERNS[5][2]=1;
INP_PATTERNS[5][3]=0 ;
INP_PATTERNS[5][4]=-2;
INP_PATTERNS[5][5]=0 ;
INP_PATTERNS[5][6]=1;
INP_PATTERNS[5][7]=0 ;
INP_PATTERNS[5][8]=-5 ;

OUT_PATTERNS [ 5, 0]= 0.00 ;
OUT_PATTERNS [ 5, 1]= 1.00 ; // флет
OUT_PATTERNS [ 5, 2]= 0.00 ;


----

имеею три выхода

у сети

выход рассматривается как направление

НЕЙРОСЕТЬ В ВИДЕ СКРИПТА

 
YuraZ писал (а) >>

3-5

5-8

8-13

13-21

21-34

34-55

55-89

89-144

144-233

Что это такое? Можно поподробней, из исходного поста не совсем понятно.

 
TheXpert писал (а) >>

Что это такое? Можно поподробней, из исходного поста не совсем понятно.



это номера мувингов



cхематично

--

void Get0MAEUR(int iBAR )
  {
  
  
   MA[1][3 ] [iBAR]=iMA(Symbol(),PERIOD_M1,  3,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][5 ] [iBAR]=iMA(Symbol(),PERIOD_M1,  5,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][8 ] [iBAR]=iMA(Symbol(),PERIOD_M1,  8,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][13] [iBAR]=iMA(Symbol(),PERIOD_M1, 13,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][21] [iBAR]=iMA(Symbol(),PERIOD_M1, 21,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][34] [iBAR]=iMA(Symbol(),PERIOD_M1, 34,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][55] [iBAR]=iMA(Symbol(),PERIOD_M1, 55,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][89] [iBAR]=iMA(Symbol(),PERIOD_M1, 89,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][144][iBAR]=iMA(Symbol(),PERIOD_M1,144,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[1][233][iBAR]=iMA(Symbol(),PERIOD_M1,233,0,MODE_EMA,PRICE_CLOSE,iBAR);
 
 
   MA[2][3 ] [iBAR]=iMA(Symbol(),PERIOD_M5,  3,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][5 ] [iBAR]=iMA(Symbol(),PERIOD_M5,  5,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][8 ] [iBAR]=iMA(Symbol(),PERIOD_M5,  8,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][13] [iBAR]=iMA(Symbol(),PERIOD_M5, 13,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][21] [iBAR]=iMA(Symbol(),PERIOD_M5, 21,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][34] [iBAR]=iMA(Symbol(),PERIOD_M5, 34,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][55] [iBAR]=iMA(Symbol(),PERIOD_M5, 55,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][89] [iBAR]=iMA(Symbol(),PERIOD_M5, 89,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][144][iBAR]=iMA(Symbol(),PERIOD_M5,144,0,MODE_EMA,PRICE_CLOSE,iBAR);
   MA[2][233][iBAR]=iMA(Symbol(),PERIOD_M5,233,0,MODE_EMA,PRICE_CLOSE,iBAR);
 
 
...


            INP_PATTERNS[iB][0]=  (MA[iTF][3  ][iP]-MA[iTF][5  ][iP])/Point    ;
            INP_PATTERNS[iB][1]=  (MA[iTF][5  ][iP]-MA[iTF][8  ][iP])/Point    ;
            INP_PATTERNS[iB][2]=  (MA[iTF][8  ][iP]-MA[iTF][13 ][iP])/Point    ;
            INP_PATTERNS[iB][3]=  (MA[iTF][13 ][iP]-MA[iTF][21 ][iP])/Point    ;
            INP_PATTERNS[iB][4]=  (MA[iTF][21 ][iP]-MA[iTF][34 ][iP])/Point    ;
            INP_PATTERNS[iB][5]=  (MA[iTF][34 ][iP]-MA[iTF][55 ][iP])/Point    ;
            INP_PATTERNS[iB][6]=  (MA[iTF][55 ][iP]-MA[iTF][89 ][iP])/Point    ;
            INP_PATTERNS[iB][7]=  (MA[iTF][89 ][iP]-MA[iTF][144][iP])/Point    ;
            INP_PATTERNS[iB][8]=  (MA[iTF][144][iP]-MA[iTF][233][iP])/Point    ;

т е берется разница между соседними EMA на нескольких ТФ

и подается на вход сети



в коде там я читаю больше чем 6 входов

но обрабатываю 6 - код эксперементальный


--


 

2 YuraZ. Народ подтягивается.Это радует.

Ваш эксперт из указанной ветке был моим первым знакомством. Большое вам спасибо за его код. Приворжу здесь его чуток поправленный и украшенный вариант. Для новичка самое то.

Файлы:
 
sergeev писал (а) >>

2 YuraZ. Народ подтягивается.Это радует.

Ваш эксперт из указанной ветке был моим первым знакомством. Большое вам спасибо за его код. Приворжу здесь его чуток поправленный и украшенный вариант. Для новичка самое то.


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

https://forum.mql4.com/ru/12474 c первой страницы

---


правда я добавил слой

потом алгоритм случайного увеличения сети

при обучении увеличил точность

потом алгоритм обучения на реальных данных ( правда с учителем ставящим стрелки т е человеком )


там я добавил обучение на реальных даннхы если расставить на графике стрелки ! то система начинает обучается не по тупым патернам а по реальным данным

условие одно!

надо увидеть раскрытие веера минимум M1 M5 M15 M30 ( H1 )

еще там ставиться код флета !

 
YuraZ писал (а) >>

...

Выглядит симпатично, как один из вариантов вполне неплох.

 
TheXpert писал (а) >>

Выглядит симпатично, как один из вариантов вполне неплох.

входы порой ловятся красивые! но надо что то еще !

 
YuraZ писал (а) >>

там я добавил обучение на реальных даннхы если расставить на графике стрелки ! то система начинает обучается не по тупым патернам а по реальным данным

условие одно!

надо увидеть раскрытие веера минимум M1 M5 M15 M30 ( H1 )

еще там ставиться код флета !


Видел. Определение по стрелкам я убрал. Все таки нужен машинный вариант. Без "рук".

Для этого в принципе и вся ветка посвящена :) 

 
sergeev писал (а) >>

Видел. Определение по стрелкам я убрал. Все таки нужен машинный вариант. Без "рук".

Для этого в принципе и вся ветка посвящена :)

как вариант точки можно пытаться найти

1 схождение зигзага с нескольких ТФ в одной точке

+ раскрытие веера


и эти точки подать на вход

т е держать в памяти ближайшие точки и забывать старые

кол образцов не знаю какое - видимо эксперементально

размер сети (кол нейронов в слоях ) тоже наверно эксперементально

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