Информация о запущенной MQL5-программе

Константы, для получения информации о выполняющейся mql5-программе, перечислены в ENUM_MQL_INFO_INTEGER и ENUM_MQL_INFO_STRING.

Для функции MQLInfoInteger()

ENUM_MQL_INFO_INTEGER

Идентификатор

Описание

Тип свойства

MQL_HANDLES_USED

Текущее количество активных хендлов объектов. Учитываются как динамические (созданные через new), так и нединамические объекты, глобальные/локальные переменные или члены классов. Чем больше хэндлов использует программа, тем больше она потребляет ресурсов.

int

MQL_MEMORY_LIMIT

Максимально возможный объём динамической памяти для MQL5-программы в MB

int

MQL_MEMORY_USED

Размер использованной памяти MQL5-программой в MB

int

MQL_PROGRAM_TYPE

Тип mql5-программы

ENUM_PROGRAM_TYPE

MQL_DLLS_ALLOWED

Разрешение на использование DLL для данной запущенной программы

bool

MQL_TRADE_ALLOWED

Разрешение на торговлю для данной запущенной программы

bool

MQL_SIGNALS_ALLOWED

Разрешение на работу с сигналами данной запущенной программы

bool

MQL_DEBUG

Признак работы запущенной программы в режиме отладки

bool

MQL_PROFILER

Признак работы запущенной программы в режиме профилирования кода

bool

MQL_TESTER

Признак работы запущенной программы в тестере

bool

MQL_FORWARD

Признак работы запущенной программы в процессе форвардного тестирования

bool

MQL_OPTIMIZATION

Признак работы запущенной программы в процессе оптимизации

bool

MQL_VISUAL_MODE

Признак работы запущенной программы в визуальном режиме тестирования

bool

MQL_FRAME_MODE

Признак работы запущенного эксперта на графике в режиме сбора фреймов результатов оптимизации

bool

MQL_LICENSE_TYPE

Тип лицензии модуля EX5. Лицензия относится именно к тому модулю EX5, из которого делается запрос с помощью MQLInfoInteger(MQL_LICENSE_TYPE).

ENUM_LICENSE_TYPE

MQL_STARTED_FROM_CONFIG

Возвращает true, если скрипт/эксперт запущен из секции StartUp конфигурационного файла. Это означает, что данный скрипт/эксперт был прописан в конфигурационном файле, с которым запущен терминал.

bool

Для функции MQLInfoString()

ENUM_MQL_INFO_STRING

Идентификатор

Описание

Тип свойства

MQL_PROGRAM_NAME

Имя запущенной MQL5-программы

string

MQL_PROGRAM_PATH

Путь для данной запущенной программы

string

 

Для получения информации о типе выполняемой программы предназначены значения перечисления ENUM_PROGRAM_TYPE.

ENUM_PROGRAM_TYPE

Идентификатор

Описание

PROGRAM_SCRIPT

Скрипт

PROGRAM_EXPERT

Эксперт

PROGRAM_INDICATOR

Индикатор

PROGRAM_SERVICE

Сервис

 

ENUM_LICENSE_TYPE

Идентификатор

Описание

LICENSE_FREE

Бесплатная неограниченная версия

LICENSE_DEMO

Демо-версия платного продукта из Маркета. Работает только в тестере стратегий

LICENSE_FULL

Купленная лицензионная версия допускает не менее 5 активаций. Продавец может увеличить разрешенное число активаций

LICENSE_TIME

Версия с ограниченной по времени лицензией

Пример:

   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");