- Obtener una lista general de las propiedades del terminal y del programa
- Número de versión del terminal
- Tipo de programa y licencia
- Modos de funcionamiento del terminal y del programa
- Permisos
- Comprobación de las conexiones de red
- Recursos informáticos: memoria, disco y CPU
- Especificaciones de la pantalla
- Propiedades del terminal y de la cadena de programa
- Propiedades personalizadas: límite de barras e idioma de la interfaz
- Vincular un programa a propiedades en tiempo de ejecución
- Comprobar el estado del teclado
- Comprobar el estado del programa MQL y motivo de finalización
- Cierre programático del terminal y establecimiento de un código de retorno
- Tratamiento de errores en tiempo de ejecución
- Errores definidos por el usuario
- Gestión de depuración
- Variables predefinidas
- Constantes predefinidas del lenguaje MQL5
Entorno de ejecución del programa MQL
Como sabemos, los textos fuente de un programa MQL después de la compilación en un código binario ejecutable con el formato ex5 están listos para funcionar en el terminal o en agentes de prueba. Así, un terminal o un probador proporcionan un entorno común en el que «viven» los programas MQL.
Recuerde que el comprobador integrado sólo admite dos tipos de programas MQL: Asesores expertos e indicadores. Hablaremos en detalle sobre los tipos de programas MQL y sus características en la quinta parte del libro. Mientras tanto, en este capítulo nos centraremos en aquellas funciones de la API de MQL5 que son comunes a todos los tipos, y que le permiten analizar el entorno de ejecución y, hasta cierto punto, controlarlo.
La mayoría de las propiedades de entorno son de sólo lectura a través de las funciones TerminalInfoInteger, TerminalInfoDouble, TerminalInfoString, MQLInfoInteger y MQLInfoString. A partir de los nombres se puede entender que cada función devuelve valores de un tipo determinado. Una arquitectura de este tipo da lugar a que el significado aplicado de las propiedades combinadas en una función pueda ser muy diferente. Otra agrupación puede ser proporcionada por la implementación de su propia capa de objetos en MQL5 (se ofrecerá un ejemplo un poco más adelante, en la sección sobre el uso de las propiedades para la vinculación con el entorno del programa).
El conjunto especificado de funciones tiene una división lógica explícita en propiedades generales del terminal (con el prefijo «Terminal») y propiedades de un programa MQL independiente (con el prefijo «MQL»). Sin embargo, en muchos casos, es necesario analizar conjuntamente las características similares tanto del terminal como del programa. Por ejemplo, los permisos para utilizar una DLL o realizar operaciones de trading se conceden tanto al terminal en su conjunto como a un programa específico. Por eso tiene sentido considerar las funciones dentro de un complejo, como un todo.
Sólo algunas de las propiedades de entorno asociadas a los códigos de error son «writable» (se puede escribir en ellas); en concreto, el restablecimiento de un error previo (ResetLastError) y el establecimiento de un error de usuario (SetUserError).
También veremos en este capítulo las funciones para cerrar el terminal dentro de un programa (TerminalClose, SetReturnError) y pausar el programa en el depurador (Debug Break).