Cómo formar correctamente los valores de entrada para el NS. - página 12

 
sergeev писал (а) >>
Si los moderadores lo permiten, pongo los archivos aquí (después de leerlos habrá que borrarlos :))))

¡¡¡MUCHASGRACIAS !!! Gran archivo - Voy a aprender... eso es lo que no sabía hacer, así que voy a aprender, gracias de nuevo.

>> Y gracias por mantener vivo este hilo.

 
sergeev писал (а) >>
Y qué decir de las entradas. ¿Quién tiene qué redes e insumos?

tomar la diferencia en EMA

para cada TF


M1 M5 M15 M30 (H1)



3-5

5-8

8-13

13-21

21-34

34-55

55-89

89-144

144-233


Me sale algo así

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


en la entrada de la formación doy algo así




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



¡Salida! Este paternoster tiene 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. ; // vender
OUT_PATTERNS [ 4, 1]=0. ;
OUT_PATTERNS [ 4, 2]= 0. ;

Vender


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


----

tiene tres salidas

en la red

la salida se considera como dirección

RED NEURONAL COMO GUIÓN

 
YuraZ писал (а) >>

3-5

5-8

8-13

13-21

21-34

34-55

55-89

89-144

144-233

¿Qué es? Puedes ser más específico, no queda muy claro en el post original.

 
TheXpert писал (а) >>

¿Qué es esto? Puedes ser más específico, no queda muy claro en el post original.



estos son los números de muving.



esquemáticamente

--

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    ;

es decir, toma la diferencia entre EMAs adyacentes en varios TFs

y se introduce en la entrada de la red



en el código allí leído más de 6 entradas

pero proceso 6... el código es experimental.


--


 

2 YuraZ. La gente está recogiendo. Eso es bueno de ver.

Su experto en el hilo anterior fue mi primera presentación. Muchas gracias por el código. Voy a pegar aquí su versión ligeramente corregida y decorada. Es bueno para los principiantes.

Archivos adjuntos:
 
sergeev писал (а) >>

2 YuraZ. La gente está recogiendo, eso es bueno de ver.

Su experto en el hilo anterior fue mi primera presentación. Muchas gracias por el código. Voy a pegar aquí su versión ligeramente corregida y decorada. Es perfecto para un principiante.


No creo que merezca la pena el ejemplo, el código inicial lo saqué también del mismo hilo.

https://forum.mql4.com/ru/12474 desde la primera página

---


pero he añadido una capa.

entonces el algoritmo de aumento de la red aleatoria

Aumenté la precisión en el entrenamiento.

entonces el algoritmo de aprendizaje a partir de datos reales (aunque con un profesor poniendo flechas, es decir, un humano)


Añadí que hay aprendizaje de datos reales si pones flechas en el gráfico! el sistema empieza a aprender de datos reales, no de patrones tontos

¡una condición!

necesita ver la apertura de un ventilador M1 M5 M15 M30 ( H1 )

¡también hay un código para un piso!

 
YuraZ писал (а) >>

...

Se ve bien, como una opción es bastante buena.

 
TheXpert писал (а) >>

Se ve bien, como una opción es bastante buena.

las entradas a veces se captan muy bien! pero hace falta algo más!

 
YuraZ писал (а) >>

Si pones flechas en el gráfico, el sistema no aprenderá de patrones tontos, sino de datos reales.

¡una condición!

hay que ver la apertura del ventilador M1 M5 M15 M30 ( H1 )

¡También hay un código de piso!


Lo he visto. He eliminado la detección por flechas. Sin embargo, necesito la versión para máquinas. Sin "manos".

De eso se trata básicamente todo este hilo :)

 
sergeev писал (а) >>

Lo he visto. He eliminado la definición de flecha. Aún así, necesito una versión para máquinas. Sin "manos".

Para ello, en principio, se dedica toda la rama :)

como variante de un punto es posible tratar de encontrar

1 convergencia de un zigzag de varios TF en un punto

+ apertura del ventilador


y alimentar estos puntos a la entrada

Es decir, mantener en la memoria los puntos más cercanos y olvidar los antiguos

No sé qué número de muestras - probablemente de forma experimental

tamaño de la red (número de neuronas en las capas) probablemente también de forma experimental

Razón de la queja: