Основы MQL5 программирования. Разработка технических индикаторов и торговых советников - страница 6
Пример 2. Варианты значений переменных типа color
– Дата и время – тип данных для хранения информации о дате и времени.
– datetime – обозначение даты или времени в программе, начиная с 1 января 1970 года. Занимает 8 байт в памяти. Может использоваться для определения времени открытия или закрытия ордера, экспирации отложенных ордеров (то есть время истечения отложенного ордера, можно создать отложенный ордер с существованием ограниченного времени). Также этот тип данных может использоваться для регулирования свеч, то есть время открытия и закрытия.
– Перечисления – возможность выбора одного из множества вариантов в выпадающем списке.
– enum – тип данных всегда имеет размер 4 байта в отличие от С++, поэтому количество перечислений может быть отграничено объемом переменной. Используется для перечисления вариантов, например, выбор таймфрейма. Для того чтобы что бы выбрать один из вариантов все возможные варианты должны быть перечислены.
Пример 3. Варианты значений переменных типа enum
// – —
ClosePosition (PositionTicket);
3.2 Область видимости и время жизни переменных
Переменные в рамках MQL5 программ могут быть разделены на три типа
– Локальные переменные – это переменные, которые созданы внутри какой-либо функции. Они будут видимы только внутри этой функции и при ее окончании – они будут уничтожены для повторного создания при следующей итерации. Локальные переменные будут видны только далее по коду после их создания.
Пример 4. Пример локальной переменной
– Глобальные переменные – это переменные, которые созданы на одном уровне с функциями, то есть на глобальном уровне. Они будут существовать до момента деинициализации приложения.
– Глобальные переменные терминала – это переменные, которые могут быть созданы в любом приложении, но их время жизни не заканчивается деинициализацией создавшего их приложения. Глобальные переменные терминала используются для общего использования из разных приложений. Базовым примером работы с глобальными переменными терминала может быть использование выгрузки сложных и объемных расчетов из одного продукта, их отправки в глобальные переменные. Далее этими данными смогут пользоваться все остальные продукты. Это хороший инструмент оптимизации работы масштабных проектов, состоящих из нескольких десятков приложений, работающих в одной связке.
3.3 Операции и выражения
– Выражения – Выражения оканчиваются точкой с запятой. Выражения могут быть длинными или короткими и не зависимо от величины выражения, любое будет оканчиваться точкой с запятой. Одно выражение может занимать несколько строк или наоборот в одной строке может быть несколько выражений.
– Операции – Все операции всегда следую друг за другом слева на право. Операции имеют свой уровень приоритета. Операции с более высоки приоритетом, будут выполняются первыми. Приоритет операций умножения и деления выше, чем в операциях сложения и вычитания, как и в стандартных правилах математики. Компилятор использует приоритет операторов для определения порядка обработки выражений.