- 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
Envío de notificaciones push
Como sabe, el terminal le permite enviar notificaciones push de los servicios MetaQuotes, del propio terminal y de los programas MQL a un dispositivo móvil con sistemas operativos iOS o Android. Esta tecnología utiliza MetaQuotes ID, un identificador único de un usuario (véase la nota). MetaQuotes ID se asigna al instalar la versión móvil del terminal en el dispositivo del usuario, tras lo cual se debe especificar el ID en los ajustes del terminal, en la pestaña Notificaciones (se pueden especificar varios identificadores separados por comas). Después, la funcionalidad de envío de notificaciones push estará disponible para los programas MQL.
De hecho, MetaQuotes ID no identifica a un usuario, sino a una instalación concreta de un terminal móvil; un usuario puede tener varias instalaciones. Por defecto, el ID no está asociado al registro en la comunidad mql5.com, aunque puede especificarse tal vinculación en el sitio. No confunda el registro de usuario en la comunidad con el ID de MetaQuotes. Para trabajar con las notificaciones no es necesario que el usuario del terminal se conecte a la comunidad.
bool SendNotification(const string text)
La función SendNotification envía notificaciones push con el texto especificado a todos los terminales móviles que tengan un MetaQuotes ID de la configuración del terminal. La longitud del mensaje no puede superar los 255 caracteres.
Si la notificación se envía correctamente desde el terminal, la función devuelve true, y devuelve false si se produce un error. Los posibles códigos de error en _LastError incluyen:
- 4515 - ERR_NOTIFICATION_SEND_FAILED - problemas de comunicación
- 4516 - ERR_NOTIFICATION_WRONG_PARAMETER - un parámetro no válido, por ejemplo, una cadena vacía
- 4517 - ERR_NOTIFICATION_WRONG_SETTINGS - MetaQuotes ID está mal configurado o no existe
- 4518 - ERR_NOTIFICATION_TOO_FREQUENT - llamadas a funciones demasiado frecuentes
Si hay conexión con el servidor, el mensaje se envía al instante. Si el dispositivo del usuario está en línea, el mensaje debería llegar al destinatario, pero no se puede garantizar la entrega en el caso general. No hay notificación de retorno al programa sobre la entrega del mensaje. No se guarda el historial de mensajes push en el servidor para entrega diferida.
La función tiene restricciones en cuanto a la frecuencia de uso: no más de 2 llamadas por segundo y no más de 10 por minuto.
En el probador de estrategias, la función SendNotification no se ejecuta.
En el libro se incluye un sencillo script NetNotification.mq5 que envía una notificación de prueba cuando la configuración es correcta.
void OnStart()
|