- 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
Constantes predefinidas del lenguaje MQL5
En esta sección se describen todas las constantes definidas por el entorno de ejecución para cualquier programa. Ya hemos visto algunos de ellos en secciones anteriores. Algunas constantes están relacionadas con aspectos de programación MQL5 aplicados, que se presentarán en capítulos posteriores.
Constante |
Descripción |
Valor |
---|---|---|
CHARTS_MAX |
El número máximo posible de gráficos abiertos simultáneamente |
100 |
clrNONE |
Sin color |
-1 (0xFFFFFFFF) |
EMPTY_VALUE |
Valor vacío en el búfer del indicador |
|
INVALID_HANDLE |
Manejador no válido |
-1 |
NULL |
Cualquier tipo null |
0 |
WHOLE_ARRAY |
El número de elementos hasta el final del array, es decir, se procesará todo el array. |
-1 |
WRONG_VALUE |
Una constante se puede convertir implícitamente a cualquier tipo de enumeración |
-1 |
Como se muestra en el capítulo Archivos, se puede utilizar la constante INVALID_HANDLE para validar los descriptores de archivo.
La constante WHOLE_ARRAY está pensada para funciones que trabajan con arrays que requieren especificar el número de elementos de los arrays procesados: Si es necesario procesar todos los valores del array desde la posición especificada hasta el final, especifique el valor WHOLE_ARRAY.
La constante EMPTY_VALUE suele asignarse a aquellos elementos en búferes indicadores, que no deben dibujarse en el gráfico. En otras palabras: esta constante significa un valor vacío. Más adelante describiremos cómo puede sustituirse para un búfer indicador específico por otro valor, por ejemplo, 0.
La constante WRONG_VALUE está pensada para aquellos casos en los que se requiere designar un valor de enumeración incorrecto.
Además, dos constantes tienen valores diferentes según el método de compilación.
Constante |
Descripción |
---|---|
IS_DEBUG_MODE |
Un atributo de ejecutar un programa mq5 en el modo de depuración: es distinto de cero en el modo de depuración y 0 en caso contrario. |
IS_PROFILE_MODE |
Un atributo de ejecutar un programa mq5 en el modo de perfilaje: es distinto de cero en el modo de perfilaje y 0 en caso contrario |
La constante IS_PROFILE_MODE permite cambiar el funcionamiento del programa para la correcta recopilación de información en el modo de perfilaje. La creación de perfiles permite medir el tiempo de ejecución de fragmentos individuales del programa (funciones y líneas individuales).
El compilador establece el valor de la constante IS_PROFILE_MODE durante la compilación. Normalmente, se fija en 0. Cuando el programa se lanza en un modo de perfilaje, se realiza una compilación especial y, en este caso, se utiliza un valor distinto de cero en lugar de IS_PROFILE_MODE.
La constante IS_DEBUG_MODE funciona de forma similar: es igual a 0 como resultado de la compilación nativa y es mayor que 0 tras la compilación de depuración. Es útil en los casos en los que es necesario modificar ligeramente el funcionamiento del programa MQL con fines de verificación; por ejemplo, para enviar información adicional al registro o para crear objetos gráficos auxiliares en el gráfico.
El preprocesador define las constantes _DEBUG y _RELEASE que tienen un significado similar (véase Constantes predefinidas del preprocesador).
Se puede obtener información más detallada sobre el modo de funcionamiento del programa en tiempo de ejecución mediante la función MQLInfoInteger (véase Modos de funcionamiento del terminal y del programa). En concreto, la versión de depuración de un programa puede ejecutarse sin depurador.