- Получение общего списка свойств терминала и программы
- Номер сборки терминала
- Тип и лицензия программы
- Режимы работы терминала и программы
- Разрешения
- Проверка сетевых подключений
- Вычислительные ресурсы: память, диск, процессор
- Характеристики экрана
- Строковые свойства терминала и программы
- Настраиваемые свойства: лимит баров и язык интерфейса
- Привязка программы к свойствам среды исполнения
- Проверка состояния клавиатуры
- Проверка статуса и причины остановки MQL-программы
- Программное закрытие терминала и код возврата
- Обработка ошибок времени исполнения программы
- Пользовательские ошибки
- Управление отладкой
- Предопределенные переменные
- Предопределенные константы языка MQL5
Предопределенные константы языка MQL5
В данном разделе собраны все константы, определенные средой исполнения для любой программы. Часть из них мы уже видели в предыдущих разделах, а часть относится к прикладным аспектам программирования на MQL5, которые представлены в более поздних главах.
Константа |
Описание |
Значение |
---|---|---|
CHARTS_MAX |
Максимально возможное количество одновременно открытых графиков |
100 |
clrNONE |
Отсутствие цвета |
-1 (0xFFFFFFFF) |
EMPTY_VALUE |
Пустое значение в индикаторном буфере |
|
INVALID_HANDLE |
Некорректный дескриптор |
-1 |
NULL |
Ноль любого типа |
0 |
WHOLE_ARRAY |
Означает количество элементов, оставшееся до конца массива, то есть, будет обработан весь массив |
-1 |
WRONG_VALUE |
Константа может неявно приводиться к типу любого перечисления |
-1 |
Как было покаано в главе про файлы, константа INVALID_HANDLE может использоваться для проверки файловых дескрипторов на корректность.
Константа WHOLE_ARRAY предназначена для функций работы с массивами, которые требуют указания количества элементов в обрабатываемых массивах: если необходимо обработать все значения массива с указанной позиции и до конца, то достаточно указать значение WHOLE_ARRAY.
Константа EMPTY_VALUE обычно присваивается тем элементам в индикаторных буферах, которые не должны отрисовываться на графике. Иными словами, данная константа обозначает пустое значение, используемое по умолчанию. Позднее мы расскажем, как его можно заменить для конкретного индикаторного буфера на другое значение, например, 0.
Константа WRONG_VALUE предназначена для тех случаев, когда требуется обозначить некорректное значение перечисления.
Кроме того существует 2 константы, которые имеют разные значения в зависимости от способа компиляции.
Константа |
Описание |
---|---|
IS_DEBUG_MODE |
Признак работы mq5-программы в режиме отладки: в режиме отладки не равно нулю, в противном случае 0 |
IS_PROFILE_MODE |
Признак работы mq5-программы в режиме профилирования: в режиме профилирования не равно нулю, в противном случае 0 |
Константа IS_PROFILE_MODE позволяет изменить работу программы для корректного сбора информации в режиме профилирования. Профилирование позволяет замерить время выполнения отдельных фрагментов программы (функций и отдельных строк).
Значение константы IS_PROFILE_MODE задается компилятором в момент компиляции, и в обычном режиме выставляется равным 0. При запуске программы в режиме профилирования производится специальная компиляция, и в этом случае вместо IS_PROFILE_MODE подставляется значение отличное от 0.
Константа IS_DEBUG_MODE работает по похожему принципу: равна 0 в результате штатной компиляции и больше 0 после компиляции для отладки. Она пригодится в тех случаях, когда необходимо немного изменить работу MQL-программы для проверки: например, вывести дополнительную информацию в журнал или создавать вспомогательные графические объекты на графике.
Напомним, что препроцессор определяет похожие по смыслу константы _DEBUG и _RELEASE (см. Предопределенные константы препроцессора).
Более подробную информацию о режиме работы программы можно узнать во время выполнения с помощью функции MQLInfoInteger (см. Режимы работы терминала и программы). В частности, отладочная сборка программы может быть запущена и не под отладчиком.