Scripts y servicios
En este capítulo, resumiremos y presentaremos toda la información técnica sobre los scripts y servicios que ya hemos empezado a conocer en las partes anteriores del libro.
Los scripts y los servicios tienen los mismos principios para organizar y ejecutar el código del programa. Como sabemos, su función principal OnStart también es la única. Los scripts y servicios no pueden procesar otros eventos.
Sin embargo, hay un par de diferencias significativas. Los scripts se ejecutan en el contexto de un gráfico y tienen acceso directo a sus propiedades a través de variables integradas tales como _Symbol, _Period y _Point, entre otras. Los estudiaremos en la sección Propiedades de los gráficos. Los servicios, por su parte, trabajan por su cuenta, sin estar vinculados a ninguna ventana, aunque tienen la capacidad de analizar todos los gráficos mediante funciones especiales (las mismas funciones de gráficos puede utilizarse en otros tipos de programas: scripts, indicadores y Asesores Expertos).
Por otra parte, las instancias creadas del servicio son restauradas automáticamente por el terminal en las siguientes sesiones. En otras palabras: el servicio, una vez iniciado, permanece siempre en funcionamiento hasta que el usuario lo detiene. Por el contrario, el script se borra cuando se apaga el terminal o se cierra el gráfico.
Tenga en cuenta que el servicio se ejecuta en el terminal, como todos los demás tipos de programas MQL, y por lo tanto cerrar el terminal también detiene el servicio. El servicio activo se reanudará la próxima vez que inicie el terminal. El funcionamiento ininterrumpido de los programas MQL sólo puede garantizarse mediante un terminal en funcionamiento constante, por ejemplo, en un VPS.
En scripts y servicios, puede establecer las propiedades generales de los programas utilizando las directivas #property. Además de ellas, hay propiedades que son específicas de los scripts y los servicios; hablaremos de ellas en las dos secciones siguientes.
Los scripts que se están ejecutando actualmente en los gráficos aparecen en la misma lista que muestra los Asesores Expertos en ejecución: en el cuadro de diálogo Experts abierto con el comando Lista de expertos del menú contextual del gráfico. A partir de ahí, pueden ser retirados a la fuerza del gráfico.
Los servicios sólo pueden gestionarse desde la ventana Navigator.