Discusión sobre el artículo "Programamos una red neuronal profunda desde cero usando el lenguaje MQL" - página 5
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
He modificado la entrada "bodyPer". En lugar de cargar simplemente la longitud relativa del cuerpo, calculo este valor : bodyPer=0,5+((cierre-apertura)/p100)/2;
De modo que más que la longitud relativa, la variable también captura la dirección de la vela. Eso libera un hueco para una 4ª variable, supongo.
int error=CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues);
Aquí pasamos los datos de una vela que aún no se ha formado. En realidad, todos los parámetros serán los mismos cuando se abra la vela. Todos serán = rates[0].open
int error=CandlePatterns(tasas[0].alta,tasas[0].baja,tasas[0].apertura,tasas[0].cierre,tasas[0].cierre-tasas[0].apertura,_xValores);
Aquí pasamos los datos de una vela que aún no se ha formado. En realidad, todos los parámetros serán los mismos cuando se abra la vela. Todos serán = rates[0].open
¡Incorrecto!
Aquí la copia se realiza no desde la barra cero, sino desde la primera, por lo que aquí
CandlePatterns(rates[0].high,rates[0].low,rates[0].open,rates[0].close,rates[0].close-rates[0].open,_xValues);
serán los valores de la última barra....
No creo que sea necesario copiar 5 barras, bastará con copiar 1 barra pasada así:
¡¡¡Hola Anddy, gran trabajo has hecho!!!
¡Estoy analizando tu código para adaptarlo a mi estrategia y hasta ahora puedo decir que tu DNN es increíble! Gracias por compartirlo.
Sólo tengo una duda: no reconozco el uso de "yValues[2]>0.6" en ninguna situación. Después de varios intentos con diferentes activos, no se cerró ninguna operación debido a esta condición. ¿Es esto correcto?
Gracias.
Un saludo,
Alexandre
En este foro, por favor, comente en portugués. Utiliza la herramienta de traducción automática o comenta en uno de los foros en otro idioma.
Hay un error lógico en el código.
Comportamiento extraño cada vez que se cambia la variable de tendencia, los resultados del entrenamiento son siempre diferentes, ¿por qué?
Hay un error lógico en el código.
Especificidad de la función de activación.
Y cuantos más valores alcancen o crucen el límite del umbral, más posiciones o más oportunidades de encajar (memorizar el recorrido) el gráfico de precios en la red neuronal.Cuantas más capas, más atenuación - los valores estarán más cerca de 0.
Offset arregla un poco este problema.
Así que cuando el umbral se establece en 0.6, la mayoría de los conjuntos posibles son descartados. Y si estás alimentando algún número enorme o varios números grandes a la entrada, entonces incluso un pase directo traerá más valores posibles al final de la red neuronal.
Especificidad de la función de activación.
Y cuantos más valores alcancen o crucen el límite del umbral, más posiciones o más oportunidades de encajar (recuerde la trayectoria) el gráfico de precios en la red neuronal.Cuantas más capas, más atenuación - los valores estarán más cerca de 0.
El desplazamiento arregla un poco este problema.
Así que cuando el umbral se establece en 0,6, la mayoría de los conjuntos posibles se descartan. Y si estás alimentando algún número enorme o varios números grandes a la entrada, entonces incluso un pase directo traerá más valores posibles al final de la red neuronal.
De todos modos, los resultados del entrenamiento son siempre muy variables con cualquier tipo de optimización, lo que plantea ciertas dudas sobre su aplicabilidad al trading real - siempre habrá mejores parámetros de pesos en las combinaciones de reordenación. ¿Cuál es la explicación para esta peculiaridad de esta NS?
De todas formas, los resultados del entrenamiento son siempre muy variables con cualquier tipo de optimización, lo que plantea ciertas dudas sobre la aplicabilidad para el trading real - siempre habrá mejores parámetros de pesos en la reordenación de combinaciones. ¿Cuál es la explicación para esta peculiaridad de este NS?
Le das mucha importancia a este NS, de hecho todos los NS y todo lo relacionado con MO, en general - en cualquier lugar donde haya multiplicaciones de números por números y un sumador en la función de activación - todo será un ajuste al gráfico. Un sistema totalmente inestable.
Es interesante indagar en ello, construir arquitecturas, añadir neuronas y capas. Pero, es absolutamente inútil, no es mejor que cruzar mashka.Además, la fijación de precios es un proceso no estacionario. Cada vez hay nuevos datos, y si divides el gráfico en patrones, tenderán a funcionar al 50% en el historial.
NS es para sistemas estacionarios, repetitivos.
Pero en Forex y demás necesitas sistemas más avanzados, inteligentes. Algo así como varios NSs, de alguna manera conectados entre sí, de alguna manera mágicamente adaptarse al cambio de las estadísticas del patrón, etc
NS en sí es una memorización de la trayectoria de los precios, o el promedio de los resultados, si la cantidad de nuevos datos es más que posibles combinaciones de números obtenidos por multiplicación (o simplemente hablando - la arquitectura NS más simple con dos o tres entradas).
Le das mucha importancia a esta NS, de hecho a todas las NS y a todo lo relacionado con MO, en general - en cualquier lugar donde haya multiplicaciones de números por números y un sumador en la función de activación - todo será un ajuste al gráfico. Un sistema totalmente inestable.
Es interesante indagar en ello, construir arquitecturas, añadir neuronas y capas. Pero, es completamente inútil, no es mejor que cruzar la mashka.Además, la fijación de precios es un proceso no estacionario. Cada vez hay nuevos datos, y si divides el gráfico en patrones, tenderán a funcionar al 50% en el historial.
NS es para sistemas estacionarios, repetitivos.
Pero en Forex y demás necesitas sistemas más avanzados, inteligentes. Algo así como varios NSs, de alguna manera conectados entre sí, de alguna manera mágicamente adaptarse al cambio de las estadísticas del patrón, etc
NS en sí es una memorización de la trayectoria de los precios, o el promedio de los resultados, si la cantidad de nuevos datos es más que posibles combinaciones de números obtenidos por multiplicación (o simplemente hablando - la arquitectura NS más simple con dos o tres entradas).
Ivan, gracias por la aclaración. Cualquier estadística tiene tendencia a repetirse. En principio, si se utiliza un indicador integral en la optimización (entrenamiento) del NS, entonces podemos ver por los puntos cómo y cuándo se produce la transición de la ignorancia al conocimiento - cómo operar mejor. La búsqueda de una variable significativa es una conversación aparte. ¿Has conseguido resolver el problema de escalar las entradas más de 4 veces?