- Macro substituciones predefinidas
- Constantes matemáticas
- Constantes de tipos numéricos
- Razones de deinicialización
- Verificación del puntero a objeto
- Otras constantes
Macro substituciones predefinidas
Para facilitar la depuración y obtener la información sobre el funcionamiento de un programa mql5 están previstas las constantes-macros especiales predefinidas, cuyos valores se establecen en el momento de compilación. La manera más fácil de usarlas consiste en la devolución de sus valores mediante la función Print(), como se muestra en el ejemplo de abajo.
Constante |
Descripción |
---|---|
__CPU_ARCHITECTURE__ |
Nombre de la arquitectura (conjunto de comandos) con la que se ha creado el archivo EX5 al realizar la compilación |
__DATE__ |
Fecha de compilación del archivo sin hora (horas, minutos y segundos son iguales a 0) |
__DATETIME__ |
Fecha y hora de compilación del archivo |
__LINE__ |
Número de cadena en el código fuente, en la que se ubica esta macro |
__FILE__ |
Nombre del archivo corriente compilado |
__PATH__ |
Ruta absoluta hacia el archivo actual a compilar |
__FUNCTION__ |
Nombre de la función, en cuyo cuerpo está ubicado la macro |
__FUNCSIG__ |
Signatura de la función en cuyo cuerpo se encuentra la macro. El mostrar en el log la descripción completa de la función con tipos de parámetros puede ser útil durante la identificación de las funciones sobrecargadas |
__MQLBUILD__, __MQL5BUILD__ |
Número build del compilador |
__COUNTER__ |
Para cada declaración __COUNTER__ encontrada, el compilador cambia en su lugar el valor del contador de 0 a N-1, donde N es el número de usos en el código. Al recompilar el código fuente sin cambios, el orden __COUNTER__ está garantizado. El valor del contador __COUNTER__ se calcula de la forma siguiente:
En el ejemplo de abajo, podemos ver con claridad cómo el compilador procesa el código fuente y va sustituyendo __COUNTER__ (a medida que encuentra dicho elemento) por valores en aumento secuencial. |
__RANDOM__ |
Para cada declaración __RANDOM__, el compilador coloca en el código un número ulong aleatorio. |
Ejemplo:
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
|
Exemplo para aprender a trabalhar com uma macro __COUNTER__
//--- criamos uma macro para impressão rápida da expressão e seu valor no log
|