- Envío de notificaciones push
- Envío de notificaciones por correo electrónico
- Envío de archivos a un servidor FTP
- Intercambio de datos con un servidor web a través de HTTP/HTTPS
- Establecer y romper una conexión de socket de red
- Comprobar el estado del socket
- Establecer tiempos de espera de envío y recepción de datos para sockets
- Leer y escribir datos a través de una conexión de socket insegura
- Preparar una conexión de socket segura
- Leer y escribir datos a través de una conexión de socket segura
Funciones de red
Los programas MQL pueden comunicarse con otros ordenadores de una red distribuida o con servidores de Internet mediante diversos protocolos. Las funciones admiten operaciones con sitios web y servicios (HTTP/HTTPS), transferencia de archivos (FTP), envío de correo electrónico (SMTP) y notificaciones push.
Las funciones de red pueden dividirse en tres grupos:
- SendFTP, SendMail y SendNotification son las funciones más básicas para enviar archivos, correos electrónicos y notificaciones móviles.
- La función WebRequest está diseñada para trabajar con recursos web y permite enviar fácilmente solicitudes HTTP (incluyendo GET y POST).
- El conjunto de funciones Socket permite crear una conexión TCP (incluida una conexión TLS segura) con un host remoto a través de sockets del sistema.
La secuencia en la que se enumeran los grupos corresponde a la transición entre las funciones de alto nivel que ofrecen mecanismos ya hechos para la interacción entre el cliente y el servidor, a las de bajo nivel que permiten la implementación de un protocolo de aplicación arbitrario según los requisitos de un servicio público concreto (por ejemplo, una bolsa de criptomonedas o un servicio de señales de trading). Por supuesto, una aplicación de este tipo requiere mucho esfuerzo.
Por seguridad del usuario final, la lista de direcciones web permitidas a las que puede conectarse un programa MQL mediante las funciones Socket y WebRequest debe especificarse explícitamente en el cuadro de diálogo de configuración, en la pestaña Expert Advisors. Aquí puede especificar dominios, la ruta completa a páginas web (no sólo el sitio, sino también otros fragmentos de la URL, como carpetas o un número de puerto) o direcciones IP. A continuación se muestra una captura de pantalla de la configuración de algunos de los dominios de los ejemplos de este capítulo.
Permisos de acceso a los recursos de red en la configuración del terminal
Esta lista no se puede editar mediante programación. Si intenta acceder a un recurso de red que no está en esta lista, el programa MQL recibirá un error y la solicitud será rechazada.
Es importante señalar que todas las funciones de red proporcionan solamente una conexión de cliente a un servidor en particular, es decir, es imposible organizar un servidor utilizando MQL5 para esperar y procesar las solicitudes entrantes. Para ello, será necesario integrar el terminal con un programa externo o un servicio de Internet (por ejemplo, con uno en la nube).