Discusión sobre el artículo "Redes neuronales en el trading: Optimización de LSTM para la predicción de series temporales multivariadas (Final)"

 

Artículo publicado Redes neuronales en el trading: Optimización de LSTM para la predicción de series temporales multivariadas (Final):

Continuamos implementando el framework DA-CG-LSTM, que ofrece métodos innovadores para el análisis y pronóstico de series temporales. El uso de CG-LSTM y atención dual permite una detección más precisa de las dependencias de largo y corto plazo en los datos, lo cual resulta particularmente útil para trabajar con los mercados financieros.

Como hemos señalado antes, la arquitectura del framework DA-CG-LSTM se basa en dos componentes fundamentales: los módulos de atención y la unidad recurrente CG-LSTM modificada. Estos elementos forman una estructura de modelo robusta, ofreciéndole la flexibilidad necesaria, la resistencia al ruido del mercado y la capacidad de capturar dependencias temporales complejas de múltiples niveles. Ante la alta volatilidad y el caos de los mercados financieros, estas cualidades no solo resultan deseables: son fundamentales para construir sistemas comerciales confiables.

En la parte práctica del artículo anterior, analizamos con detalle el proceso de creación de un bloque CG-LSTM utilizando MQL5. El componente desarrollado implementa con éxito tres funciones clave: el filtrado de características para eliminar el exceso de ruido, la gestión eficiente del estado interno del modelo para preservar la información a largo plazo y la agregación de datos en diferentes niveles temporales. La capacidad del bloque para suprimir el ruido no estructurado y mantener una dinámica de aprendizaje estable nos permite construir modelos que mantienen la calidad predictiva durante largos periodos de datos históricos.

Redes neuronales en el trading: optimización de LSTM para la predicción de series temporales multivariadas (Final)


Autor: Dmitriy Gizlyk

 
Quiero compartir mi experiencia y mis emociones. En primer lugar, un agradecimiento especial y una reverencia al autor. Hace uno o dos meses me habría asustado un artículo así. Habría pensado que no podría permitírmelo. Hoy todo ha cambiado de arriba abajo. Las redes neuronales son la magia de nuestro tiempo. Ni yo mismo me lo creo, pero ahora mismo estoy aquí sentado recopilando datos para entrenar esta red neuronal. Está funcionando. Acabo de alimentar estos dos artículos y la guía original ChatGPT o3, y me está guiando a través del curso. También tenía una idea de indicador en un cajón largo durante varios años, que me las arreglé para formular sólo en Excel debido a mi falta de conocimiento de MQL. Y en un par de semanas lo he implementado con la ayuda de Grok y ChatGPT en MQL5. ¡Y funciona! ¡Y opera! Y ahora también puedo conectar esta neurona mágica directamente a mi indicador. En resumen, estoy abrumado de emoción por lo rápido que se han abierto vías ilimitadas.
 
Por cierto, cuando corro Investigación con granjas conectadas, las granjas, por desgracia, la salida del binario (DACGLSTM.bd) sólo a nivel local. Es decir, este archivo no se comparte de ninguna manera, pero cada equipo tiene su propia, a nivel local. Neuronka me da una idea aquí, pero no me he molestado:

.

Como hacer que todos los agentes de pruebas escriban un .bd a una bola de red - en 4 pasos

  1. Carpeta compartida

    • En el PC "principal" crea D:\DACShare .

    • PCM → "Acceso" → "Avanzado" → Compartir DACGLSTM, permisos de Lectura/Escritura para Todos.

    • Ruta final: \MAINPC\DACGLSTM .

  2. Cuenta para los servicios

    • compmgmt.msc → "Usuarios" → añadir mqlagent (cualquier contraseña).

    • En services.msc en cada MetaQuotes Tester Agent ... → pestaña "Login" → "Esta cuenta" → MAINPC\mqlagent , introduzca la contraseña, reinicie el servicio.

  3. Editar el código de investigación

    input string SharedRoot = "\\\\MAINPC\\DACGLSTM\"; string FileName = SharedRoot + "trajectories"; int handle = FileOpen(FileName + ".bd", FILE_WRITE|FILE_BIN|FILE_SHARE); // en lugar de FILE_COMMON

    (mismo reemplazo de lectura). Compilar .ex5 y copiar a todos los agentes.

  4. Comprobar
    Ejecutar la optimización; el log de cada agente mostrará:
    Guardado en: \MAINPC\DACGLSTM\DACGLSTM.bd size=...
    Abrir el globo - el fichero crece después de cada pasada.

👉 Ahora todos los agentes locales y remotos escriben un único buffer de datos, y Study.mq5 puede aprender desde cualquier máquina, simplemente abriendo el mismo .bd

 

No estoy muy seguro de cómo se actualiza DACGLSTM.bd

Ejecuto Research en un intervalo de 1 mes. La optimización es completa. El parámetro de optimización es Agente de 1 a 8. Entonces el mes siguiente... pero el archivo no se escribe. Veo que la fecha del archivo se actualiza sólo con el inicio de una nueva prueba y eso es todo, pero el tamaño sigue siendo el mismo.

 
Vladimir Sanin #:

No está muy claro cómo se actualiza DACGLSTM.bd

Ejecuto la investigación con un intervalo de 1 mes. La optimización es completa. El parámetro de optimización es Agente de 1 a 8. Luego el mes siguiente... pero el archivo no se escribe. Veo que la fecha del archivo se actualiza sólo con el inicio de una nueva prueba y eso es todo, pero el tamaño sigue siendo el mismo.

Por favor, dígame el tamaño de su archivo DACGLSTM.bd y el número de operaciones por mes.

 
Andrey Yankin #:

Dígame el tamaño de su archivo DACGLSTM.bd y el número de operaciones por mes.

He conseguido acumular 800MB de trayectorias por ensayo y error. He probado diferentes periodos - 10 días, un mes, 3-6-12 meses.... Después de la última ejecución de la segunda mitad de 2024, el tamaño aumentó de 200 a 800. Después de eso corrí otra segunda mitad del año 2023, pero el archivo no cambió de tamaño. Ofertas para la mitad de un año alrededor de 3000-3500 se acumula, marco de tiempo de 15 minutos que uso - todas las garrapatas. En plazos más pequeños el proceso comienza a prolongarse durante mucho tiempo, no estoy dispuesto a esperar tanto tiempo. Sí, por cierto, he aumentado MaxReplayBuffer a 1000000, fue 500.

 
No está claro cómo ejecutar Estudio, en prueba única o en modo de optimización.
 
Vladimir Sanin #:
Estudio

Estudio se coloca simplemente en el gráfico. Una vez instalado, lee los archivos de datos y empieza a optimizar. Muestra el progreso y los resultados en el gráfico, en la esquina superior izquierda.

En un marco temporal de 15 minutos, 3000 operaciones en medio año.... Resulta que casi cada dos velas se abre una operación y todas en Venta. Puede asegurarse de ello realizando una única prueba con visualización o configurándola en una cuenta demo. Las operaciones se abren y se cierran en la siguiente vela.

 
Estudio ejecutado en una sola prueba. Iteración 100000 (por defecto), lote 128. Gráficos Intel UHD 730. Supongo que el intervalo de fechas no importa aquí en absoluto? De todos modos, se inició, un núcleo y el vídeo está caliente, pero incluso los porcentajes no se están ejecutando, sólo ocupado. No se cuanto tiempo esperar. Lo estoy probando en otro ordenador potente con una buena tarjeta de video.....
 
Andrey Yankin #:

El estudio sólo lo pone en el gráfico. Una vez instalado, lee los archivos de datos y empieza a optimizar. Muestra el progreso y los resultados en el gráfico de la esquina superior izquierda.

En un marco temporal de 15 minutos, 3000 operaciones en medio año.... Resulta que casi cada dos velas se abre una operación y todas en Venta. Puede asegurarse de ello realizando una única prueba con visualización o configurándola en una cuenta demo. Las operaciones se abren y se cierran en la siguiente vela.

Entonces, ¿es necesario ponerlo en el gráfico y realizar una prueba con optimización? No estamos hablando de la versión Online, ¿verdad? No queda claro que intervalo de fechas tomar para el Estudio, ¿alguno? Hice la prueba con visualización, veo que los datos cambian en la parte superior izquierda, pero el gráfico se mantiene en su sitio. Los porcentajes de los datos aumentan lentamente al mismo tiempo y de la misma manera, pero el gráfico en sí se queda quieto.


 
Vladimir Sanin #:
Estudiar
Estudiar sólo en el gráfico.