Справочник MQL4

Глобальные переменные

Глобальные переменные создаются путем размещения их объявлений вне описания какой-либо функции. Глобальные переменные определяются на том же уровне, что и функции, т. е. не локальны ни в каком блоке.

Пример:

int GlobalFlag=10;   // глобальная переменная
int OnStart()
  {
   ...
  }

Область видимости глобальных переменных - вся программа, глобальные переменные доступны из всех функций, определенных в программе. Инициализируются нулем, если явно не задано другое начальное значение. Глобальная переменная может быть проинициализирована только соответствующей ее типу константой либо константным выражением.

Инициализация глобальных переменных производится однократно после загрузки программы в память клиентского терминала и перед первой обработкой события Init. Для глобальных переменных, представляющих собой объекты классов, при инициализации вызываются соответствующие конструкторы.

Время жизни глобальных переменных такое же, как и у статических переменных: от загрузки до выгрузки MQL4-программы.

Замечание: не следует путать переменные, объявленные на глобальном уровне, с глобальными переменными клиентского терминала, доступ к которым осуществляется при помощи функций GlobalVariable...().

Смотри также

Типы данных, Инкапсуляция и расширяемость типов, Инициализация переменных, Область видимости и время жизни переменных, Создание и уничтожение объектов