Pregunta sobre la programación de redes neuronales - página 5

 
Y además, una configuración de red de este tipo es capaz de resolver cualquier problema, incluido el de "exclusión o" :)
 
Bien. Pero todavía me gustaría saber un poco más sobre la práctica: ¿qué alimentamos a la entrada, qué dimensión N debe establecerse, etc.? A menos que, por supuesto, no sea un secreto :) Soy un dummie en este negocio, pero estoy listo para unirme.
 
rsi:
Bien. Pero todavía me gustaría saber un poco más sobre la práctica: ¿qué alimentamos a la entrada, qué dimensión N debe establecerse, etc.? A menos que, por supuesto, no sea un secreto :) Soy un dummie en este negocio, pero listo para unirme.

He expuesto el indicador más arriba. El ángulo de la pendiente de la regresión lineal se introduce en la entrada. Intenta ejecutarlo en Eura 1 hora
 
Gracias, voy a echar un vistazo :)
 
rsi:
Gracias, voy a echar un vistazo :)

Me gustaría añadir una cuenta Z a esta cosa y sería bueno :)
 

Sí. Es algo curioso. Gracias de nuevo, klot, ya he tenido suficiente para el fin de semana :)

 
Este es un neuro de metaquotes, échale un vistazo a ver si te ayuda. Predice bien los retrocesos. La dirección sólo es tolerable para periodos cortos de 2-5bar.
 
AAAksakal, ¿mirar qué?
 
klot:


Y en general, cualquier NS puede ser fácilmente programado directamente en MQL4. El pesimismo se define sólo por la falta de imaginación y fantasía. Básicamente, no hay límites...

El pesimismo se define por las limitaciones del comprobador de estrategias, es decir, si el rango de valores de entrada es grande o el número de estos mismos valores supera el límite, el optimizador se niega a comenzar. Así que, después de todo, hay límites.

Hoy por fin he terminado de construir una red neuronal escrita íntegramente en MQL4 con arquitectura 3:3:1 (tres neuronas en la entrada, tres entradas ocultas, una salida). Todas las capas se configuran con el probador GA. Pero el problema es que para una capa se necesitan al menos 12 parámetros de entrada, al menos con valores de -1 a 1 en pasos de 1 (como Rosenblatt). Pero el optimizador no puede manejar tantos. Tuve que escabullirme y simplificar la primera capa.

A diferencia de la malla ajena, la hecha por uno mismo es mejor en el sentido de que puede ser mejorada. Por ejemplo, además de hacer que la primera capa no sea estándar, he añadido la normalización dinámica de los datos de entrada.

Las señales en las entradas son bastante primitivas:

   static  int  p = 12;
   ...
   double       z1 = Close[0] - iMA(Symbol(), 0, p, 0, MODE_SMA, PRICE_OPEN, 0);
   double       z2 = Open[p] - iMA(Symbol(), 0, p, 0, MODE_SMA, PRICE_OPEN, p);
   double       z3 = Open[p * 2] - iMA(Symbol(), 0, p, 0, MODE_SMA, PRICE_OPEN, p * 2);

A pesar de la primitividad mencionada anteriormente, la rejilla resulta ser muy entrenable, es decir, los pesos y los umbrales se eligen fácilmente para que los resultados de las pruebas resulten sin un solo error (sin factor de beneficio). Pero después de ese ajuste, la prueba de avance comienza inmediatamente a caer en picado en el diferencial. Tuve que manipular la estrategia comercial para que no se ajustara la parrilla.

Valió la pena el esfuerzo, aunque hizo que mi cerebro se volviera del revés:

Estos son los resultados de la prueba. De 1 a 273 operaciones - optimización, más pruebas de avance.

Y aquí está la prueba de avance:

Aquí están los resultados de la prueba de avance:

Informe de comprobación de la estrategia
RNN
Alpari-Demo (Build 409)

SímboloEURUSD (Euro vs. Dólar)
Periodo1 Hora (H1) 2011.10.24 00:00 - 2012.01.13 23:59 (2011.10.24 - 2012.01.14)
ModeloPor precios de apertura (sólo para Asesores Expertos con control explícito de apertura de barra)
Parámetrost1=54; t2=4; t3=48; x1=194; x2=128; x3=68; y1=1; y2=1; y3=-1; t4=136; sl=900; lotes=1; mn=888;

Bares en la historia2431Garrapatas modeladas3862Calidad de la simulaciónn/a
Errores de concordancia de los gráficos0




Depósito inicial10000.00



Beneficio neto14713.00Beneficio total40711.60Pérdida total-25998.60
Rentabilidad1.57Remuneración esperada88.10

Reducción absoluta2721.60Reducción máxima4800.00 (39.74%)Reducción relativa39.74% (4800.00)

Total de operaciones167Posiciones cortas (% de ganancias)101 (67.33%)Posiciones largas (% de ganancias)66 (92.42%)

Operaciones rentables (% del total)129 (77.25%)Operaciones con pérdidas (% del total)38 (22.75%)
El más grandecomercio rentable900.00trato perdedor-907.20
Mediaacuerdo rentable315.59comercio perdedor-684.17
Máximovictorias continuas (beneficios)13 (2557.00)Pérdidas continuas (pérdida)4 (-3605.40)
MáximoBeneficio continuo (número de victorias)3511.60 (11)Pérdida continua (número de pérdidas)-3605.40 (4)
Mediaganancias continuas4pérdida continua1





Lo más interesante es que incluso en el gráfico podemos ver que la sección de optimización es peor que la sección de avance. Esto rara vez ocurre. Aunque he seleccionado a éste como el mejor delantero de entre muchos otros, es decir, otros delanteros tienen resultados mucho peores que los de la optimización pero sin embargo tienen los mejores.

 
Reshetov:

El pesimismo viene determinado por las limitaciones del comprobador de estrategias, es decir, si los rangos de valores de entrada son grandes o el número de estos mismos valores supera el límite, el optimizador se niega a arrancar. Así que, después de todo, hay límites.

Hoy por fin he terminado de construir una red neuronal escrita íntegramente en MQL4 con arquitectura 3:3:1 (tres neuronas en la entrada, tres entradas ocultas, una salida). Todas las capas se configuran con el probador GA. Pero el problema es que para una capa se necesitan al menos 12 parámetros de entrada, al menos con valores de -1 a 1 en pasos de 1 (como Rosenblatt). Pero el optimizador no puede manejar tantos. Tuve que escabullirme y simplificar la primera capa.

A diferencia de la malla ajena, la hecha por uno mismo es mejor en el sentido de que puede ser mejorada. Por ejemplo, además de hacer que la primera capa no sea estándar, he añadido la normalización dinámica de los datos de entrada.

Las señales en las entradas son bastante primitivas:

A pesar de la primitividad mencionada anteriormente, la rejilla resulta ser muy entrenable, es decir, los pesos y los umbrales se eligen fácilmente para que los resultados de las pruebas resulten sin un solo error (sin factor de beneficio). Pero después de ese ajuste, la prueba de avance comienza inmediatamente a caer en picado en el diferencial. Tuve que manipular la estrategia comercial para que no se ajustara la parrilla.

Valió la pena el esfuerzo, aunque hizo que mi cerebro se volviera del revés:



Hice una red normal de 256 entradas, una capa oculta por 256 neuronas. Y una capa de salida de una neurona. Y lo entrené todo perfectamente en MT4

Había una opción con tres capas ocultas, pero eran innecesarias