Una biblioteca rápida y gratuita para MT4, para deleite de los neuralnetworkers - página 14
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Ahora he probado el EA y he detectado esto
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:28 2009.09.04 13:00 n5_test EURUSD,H1: 1024
2009.12.24 23:04:27 2009.09.04 12:00 n5_test EURUSD,H1: 1023
2009.12.24 23:04:26 2009.09.04 11:00 n5_test EURUSD,H1: 1022
Estos números son los que devuelve el código:
a = f2M_create_standard (nn_layer,nn_input,nn_hidden1,nn_hidden2,nn_output);
Print(a);
El ID de la cuadrícula aumenta así a 1024 y entonces el sistema se niega a crear una nueva cuadrícula
La función f2M_destroy(ann[i]) no destruye ninguna cuadrícula. Este es el supuesto...
Sin embargo, la función f2M_destroy(ann[i]) no destruye ninguna malla. Esa es la suposición...
Alexander, ¿has probado f2M_destroy_all_anns();
¿Tal vez haya una diferencia en el rendimiento?
Sí, lo he probado ahora, parece que se ha localizado un problema...
I. - Puse static int AnnsNumber = 1027 en EA;
- He borrado todo de la carpeta ANN y he limpiado el registro.
- Puedo ver en el registro que se crean redes con índices de 7 a 1024.
- Las redes se guardan en archivos con números desde .1017.net hasta .0.net.
He repetido esta secuencia varias veces y nada cambia.
Adjunto el registro de la primera variante.
.
===========================
II. Inserté f2M_destroy_all_anns(); al principio de init(); y la situación cambió cardinalmente a mejor, sólo apareció un fallo al final
22:44:41 2008.07.31 23:59 FANN-EA_tmp USDJPY,M5: f2M_save(1, E:|ANN\USDJPY-870.1.net) devuelve: 0
22:44:41 2008.07.31 23:59 FANN-EA_tmp USDJPY,M5: f2M_destroy(1) devuelve: 0
22:44:41 2008.07.31 23:59 FANN-EA_tmp USDJPY,M5: f2M_save(0, E:|ANN\USDJPY-870.0.net) devuelve: -1
22:44:41 2008.07.31 23:59 FANN-EA_tmp USDJPY,M5: f2M_destroy(0) devuelve: -1
La cuadrícula cero no se guardó, mientras que 1024.net sí. Pero eso son las pequeñas cosas )))
Alguien ha descomentado todas las opciones. En el código del CVS no hay ningún error de este tipo.
Pregunta: ¿Quién ha desplegado FANN2MQL?
¿Por instalador? ¿A mano desde el sitio oficial? ¿Por algún otro medio?
¿Quizás todos somos víctimas de una conspiración anti red? )
Yo también voy a añadir a la lista de rarezas de FANN...
En aras de la experimentación, se decidió entrenar un comité de 46 redes de dimensión 30/N/N/1 por fuerza bruta (es decir, en cada barra: ~300k).
Por favor, aclárese. ¿Cada una de las 46 redes tiene diferentes salidas?
¿Cuál es la gama de escalas?
Si es posible, adjunte un perfil de una cuadrícula del comité.
Ahora he probado el EA y he detectado esto
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:29 2009.09.04 14:00 n5_test EURUSD,H1: -1
2009.12.24 23:04:28 2009.09.04 13:00 n5_test EURUSD,H1: 1024
2009.12.24 23:04:27 2009.09.04 12:00 n5_test EURUSD,H1: 1023
2009.12.24 23:04:26 2009.09.04 11:00 n5_test EURUSD,H1: 1022
Estos números son los que devuelve el código:
a = f2M_create_standard (nn_layer,nn_input,nn_hidden1,nn_hidden2,nn_output);
Print(a);
El ID de la red aumenta así a 1024 y entonces el sistema se niega a crear una nueva red
La función f2M_destroy(ann[i]) no destruye ninguna cuadrícula. Esto es una suposición...
Así que se define en la propia biblioteca :
La función f2M_destroy(ann[i]) no destruye ninguna red. Aquí está tal suposición...
La función en sí misma :
La memoria se libera.
Buena suerte.
El problema puede surgir si se destruyen las redes en orden aleatorio o del primero al último. Hay que destruir las redes de la última a la última, es decir, en orden inverso al de su creación.
El problema puede surgir si se destruyen las redes al azar o del primero al último. Debe ser de la última a la última, es decir, en orden inverso al de la creación de las redes.
Permítanme añadir. O en caso de accidente terminal. Pero parece que se ha encontrado la solución.
La cuestión es diferente. Vladislav, creo que lees el código C++ sin "intermediarios".
¿Podría comentar el problema de las respuestas idénticas de la comisión de rejilla y la correcta inicialización de los valores de los pesos? (detallado aquí y más registros, y aquí una pregunta sobre los pesos)
lasso y VladislavVG
Muchas gracias
Por favor, aclárese. ¿Son diferentes los resultados de cada una de las 46 redes?
¿Cuál es el rango de tamaño de las pesas?
Si es posible, adjunte un perfil de una cuadrícula del comité.
Sí. Las entradas son diferentes para cada cuadrícula, aunque esto no es crucial. Puede tomar una señal estándar, por ejemplo, el mismo RSI y una rejilla, y seguir obteniendo valores negativos en bruteforce para cualquier entrada.
Inicialización de los pesos -1, 1.
Sobre el perfil... ¿Se refiere al archivo resultante de la red entrenada?