Comment former correctement les valeurs d'entrée pour le NS. - page 12

 
sergeev писал (а) >>
Si les modérateurs le permettent, je mets les archives ici (après les avoir lues vous devrez les supprimer :))))

MERCI BEAUCOUP ! !! Superbes archives - Je vais apprendre... c'est ce que je ne savais pas faire, donc je vais apprendre - merci encore.

>> et merci de maintenir ce fil en vie.

 
sergeev писал (а) >>
Alors qu'en est-il des entrées. Qui dispose de quels réseaux et de quels apports ?

prendre la différence en EMA

pour chaque TF


M1 M5 M15 M30 (H1)



3-5

5-8

8-13

13-21

21-34

34-55

55-89

89-144

144-233


J'obtiens quelque chose comme ça

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


à l'entrée de la formation je donne quelque chose comme ceci




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 ; // bye



sortie ! ce paternoster a BAY




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. ; // vendre
OUT_PATTERNS [ 4, 1]=0. ;
OUT_PATTERNS [ 4, 2]= 0. ;

Vendez


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 ; // retournement de situation
OUT_PATTERNS [ 5, 2]= 0.00


----

a trois sorties

au réseau

la sortie est considérée comme une direction

RÉSEAU NEURONAL EN TANT QUE SCRIPT

 
YuraZ писал (а) >>

3-5

5-8

8-13

13-21

21-34

34-55

55-89

89-144

144-233

Qu'est-ce que c'est ? Pouvez-vous être plus précis, ce n'est pas très clair dans le message original.

 
TheXpert писал (а) >>

Qu'est-ce que c'est ? Pouvez-vous être plus précis, ce n'est pas très clair dans le message original.



Ce sont les numéros de mulet.



schématiquement

--

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    ;

c'est-à-dire qu'il prend la différence entre les EMA adjacentes sur plusieurs TFs

et est alimenté par l'entrée du secteur



dans le code là je lis plus de 6 entrées

mais je traite 6... le code est expérimental.


--


 

2 YuraZ. Les gens se reprennent. C'est bon à voir.

Votre expert dans le fil de discussion ci-dessus a été ma première introduction. Merci beaucoup pour le code. Je vais coller ici sa version légèrement corrigée et décorée. Il est bon pour les débutants.

Dossiers :
 
sergeev писал (а) >>

2 YuraZ. Les gens se reprennent. C'est bon à voir.

Votre expert dans le fil de discussion ci-dessus a été ma première introduction. Merci beaucoup pour le code. Je vais coller ici sa version légèrement corrigée et décorée. C'est parfait pour un débutant.


Je ne pense pas que ce soit digne de l'exemple, j'ai obtenu le code initial du même fil de discussion aussi.

https://forum.mql4.com/ru/12474 dès la première page

---


mais j'ai ajouté une couche

alors l'algorithme d'augmentation aléatoire du réseau

J'ai augmenté la précision dans l'entraînement.

puis l'algorithme d'apprentissage à partir de données réelles (mais avec un enseignant mettant des flèches, c'est-à-dire un humain)


J'ai ajouté qu'il y a un apprentissage à partir de données réelles si vous mettez des flèches sur le graphique ! Le système commence à apprendre à partir de données réelles, pas à partir de modèles stupides.

une condition !

vous devez voir un ventilateur qui ouvre M1 M5 M15 M30 ( H1 )

il y a aussi un code pour un appartement !

 
YuraZ писал (а) >>

...

Ça a l'air bien, en tant qu'option, c'est assez bien.

 
TheXpert писал (а) >>

Ça a l'air bien, en tant qu'option, c'est assez bien.

les entrées sont parfois saisies magnifiquement ! mais il faut autre chose !

 
YuraZ писал (а) >>

Si vous mettez des flèches sur le graphique, le système commence à s'entraîner non pas sur des modèles stupides mais sur des données réelles !

une condition !

vous devez voir l'ouverture du ventilateur au moins M1 M5 M15 M30 ( H1 )

Il existe aussi un code de l'appartement !


Je l'ai vu. J'ai supprimé la détection par les flèches. Cependant, j'ai besoin de la version machine. Sans "mains".

C'est en fait le sujet de ce fil de discussion :)

 
sergeev писал (а) >>

Je l'ai vu. J'ai enlevé la définition de la flèche. Toujours besoin d'une version machine. Sans "mains".

En principe, toute la branche y est consacrée :)

comme une variante d'un point, il est possible d'essayer de trouver

1 convergence d'un zigzag de plusieurs TF en un seul point

+ ouverture du ventilateur


et alimenter ces points à l'entrée

C'est-à-dire se souvenir des points les plus proches et oublier les anciens.

Je ne sais pas quel est le nombre d'échantillons - probablement expérimental

la taille du réseau (nombre de neurones dans les couches) probablement aussi expérimentalement

Raison: