Información sobre el programa MQL5 en ejecución

Para obtener la información sobre los programas mql5 que actualmente están funcionando, se usan las constantes de las enumeraciones ENUM_MQL_INFO_INTEGER y ENUM_MQL_INFO_STRING.

Para la función MQLInfoInteger()

ENUM_MQL_INFO_INTEGER

Identificador

Descripción

Tipo de la propiedad

MQL_HANDLES_USED

Número actual de identificadores de objetos activos. Se consideran tanto objetos dinámicos (creados a través de new), así como objetos no dinámicos, variables globales/locales o miembros de clase. Cuantos más identificadores utilice un programa, más recursos consumirá.

int

MQL_MEMORY_LIMIT

Tamaño máximo posible de la memoria dinámica para el programa MQL5 en Mb

int

MQL_MEMORY_USED

Tamaño de la memoria usada por el programa MQL5 en Mb

int

MQL_PROGRAM_TYPE

Tipo del programa mql5

ENUM_PROGRAM_TYPE

MQL_DLLS_ALLOWED

Permiso de usar DLL para este programa iniciado

bool

MQL_TRADE_ALLOWED

Permiso para tradear concedido a este programa iniciado

bool

MQL_SIGNALS_ALLOWED

Permiso para trabajar con las señales de este programa iniciado

bool

MQL_DEBUG

Indica que el programa iniciado trabaja en el modo de depuración

bool

MQL_PROFILER

Indica que el programa iniciado trabaja en el modo de perfiladura del código

bool

MQL_TESTER

Indica que el programa iniciado trabaja en el Probador

bool

MQL_FORWARD

Indica que el programa iniciado trabaja en el proceso de simulación en tiempo real (forward testing)

bool

MQL_OPTIMIZATION

Indica que el programa iniciado trabaja en el proceso de optimización

bool

MQL_VISUAL_MODE

Indica que el programa iniciado trabaja en el modo visual de simulación

bool

MQL_FRAME_MODE

Indica que el EA iniciado en el gráfico trabaja en el modo de recogida de los frames de resultados de la optimización

bool

MQL_LICENSE_TYPE

Tipo de licencia del módulo EX5. La licencia se refiere al módulo EX5 desde el cual se hace la solicitud con el uso de MQLInfoInteger(MQL_LICENSE_TYPE).

ENUM_LICENSE_TYPE

MQL_STARTED_FROM_CONFIG

Retorna true si el script/asesor se inicia desde la sección StartUp del archivo de configuración. Esto significa que este script/asesor ha sido especificado en el archivo de configuración con el que ha sido iniciado el terminal.

bool

Para la función MQLInfoString()

ENUM_MQL_INFO_STRING

Identificador

Descripción

Tipo de la propiedad

MQL_PROGRAM_NAME

Nombre del programa mql5 en ejecución

string

MQL_PROGRAM_PATH

Ruta para dicho programa en ejecución

string

 

Para obtener la información sobre el tipo del programa en ejecución podemos usar los valores de la enumeración ENUM_PROGRAM_TYPE.

ENUM_PROGRAM_TYPE

Identificador

Descripción

PROGRAM_SCRIPT

Script

PROGRAM_EXPERT

Experto

PROGRAM_INDICATOR

Indicador

PROGRAM_SERVICE

Servicio

 

ENUM_LICENSE_TYPE

Identificador

Descripción

LICENSE_FREE

Versión gratuita ilimitada

LICENSE_DEMO

Versión demo del producto de pago de la Tienda. Funciona sólo en el Probador de Estrategias

LICENSE_FULL

Esta es una versión con licencia adquirida, que permite al menos 5 activaciones. El vendedor podrá aumentar el número permitido de activaciones.

LICENSE_TIME

Esta es una versión con un término de licencia limitado

Ejemplo:

   ENUM_PROGRAM_TYPE mql_program=(ENUM_PROGRAM_TYPE)MQLInfoInteger(MQL_PROGRAM_TYPE);
   switch(mql_program)
     {
      case PROGRAM_SCRIPT:
        {
         Print(__FILE__+" is script");
         break;
        }
      case PROGRAM_EXPERT:
        {
         Print(__FILE__+" is Expert Advisor");
         break;
        }
      case PROGRAM_INDICATOR:
        {
         Print(__FILE__+" is custom indicator");
         break;
        }
      default:Print("MQL5 type value is ",mql_program);
   //---
   Print("MQLInfoInteger(MQL_MEMORY_LIMIT)="MQLInfoInteger(MQL_MEMORY_LIMIT), " MB");
   Print("MQLInfoInteger(MQL_MEMORY_USED)="MQLInfoInteger(MQL_MEMORY_USED), " MB");
   Print("MQLInfoInteger(MQL_HANDLES_USED)="MQLInfoInteger(MQL_HANDLES_USED), " handles");