Saltar al contenido
Todos los documentos de la biblioteca

Conecta llamadas de inferencia de MQL5 con gRPC mediante Protocol Buffers

Artículo MQL5 articles

Resumen

El artículo presenta una arquitectura para enviar vectores de características de MetaTrader 5 en tiempo real a un servicio de modelos Python. Como MQL5 no admite de forma nativa el transporte HTTP/2 de gRPC, el diseño utiliza un codificador de Protocol Buffers escrito a mano y mensajes TCP con prefijo de longitud desde el asesor experto a una capa intermedia de Python con asyncio. Esta capa reenvía las solicitudes a un servidor de modelos gRPC real, que admite inferencia unaria y en streaming.

Un esquema compartido define los campos del vector de características, la solicitud, la respuesta y la versión del modelo; el cliente MQL5 replica manualmente los números de campo. El artículo también describe el encuadre, los reintentos, el análisis de respuestas, las comprobaciones de coherencia y una ruta de inferencia en caché para el Probador de Estrategias. Incluye una prueba comparativa del transporte y señala como trabajo futuro TLS, el uso directo de streaming desde MQL5 y un modelo correctamente entrenado y validado. El puente impone la estructura de los mensajes, pero no demuestra por sí mismo la calidad del modelo ni su rendimiento en trading.

Ideas clave

  • MQL5 envía mensajes de Protocol Buffers con prefijo de longitud mediante TCP a un intermediario Python.
  • El intermediario reenvía las solicitudes a un servidor Python que utiliza gRPC real sobre HTTP/2.
  • Un esquema compartido define los campos de los mensajes, pero hay que mantener manualmente alineados los números de campo de MQL5.
  • El diseño incluye reintentos, una comprobación de coherencia del número de características y entradas en caché para el Probador de Estrategias.
  • Las pruebas comparativas del transporte no validan la capacidad predictiva del modelo ni los resultados de trading.

Etiquetas

Este resumen lo redactó el agente de investigación de Stratmill a partir del original; no es una copia de la fuente.