Справочник MQL4

Предопределенные переменные

Для каждой выполняющейся mql4-программы поддерживается ряд предопределенных переменных, которые отражают состояние текущего ценового графика на момент запуска программы - эксперта, скрипта или пользовательского индикатора.

Значение предопределенным переменным устанавливает клиентский терминал перед запуском mql4-программы на выполнение. Предопределенные переменные константны и не могут быть изменены из mql4-программы. Исключение составляет переменная _LastError, которая может быть обнулена функцией ResetLastError.

Переменная

Значение

_Digits

Количество десятичных знаков после запятой

_Point

Размер пункта текущего инструмента в валюте котировки

_LastError

Значение последней ошибки

_Period

Значение таймфрейма текущего графика

_RandomSeed

Текущее состояние генератора псевдослучайных целых чисел

_StopFlag

Флаг остановки программы

_Symbol

Имя символа текущего графика

_UninitReason

Код причины деинициализации программы

Ask

Последняя известная цена продажи текущего инструмента

Bars

Количество баров на текущем графике

Bid

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

Close

Массив-таймсерия, содержащий цены закрытия каждого бара текущего графика

Digits

Количество цифр после десятичной точки в цене текущего инструмента

High

Массив-таймсерия, содержащий максимальные цены каждого бара текущего графика

Low

Массив-таймсерия, содержащий минимальные цены каждого бара текущего графика

Open

Массив-таймсерия, содержащий цены открытия каждого бара текущего графика

Point

Размер пункта текущего инструмента в валюте котировки

Time

Массив-таймсерия, содержащий время открытия каждого бара текущего графика

Volume

Массив-таймсерия, содержащий тиковые объемы каждого бара текущего графика

Предопределенные переменные не могут быть определены в библиотеке. Библиотека использует эти переменные, определенные в программе, из которой эта библиотека была вызвана.

Пример:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   Print("Имя символа текущего графика=",_Symbol);
   Print("Значение таймфрейма текущего графика=",_Period);
   Print("Последняя известная цена продажи текущего инструмента=",Ask);
   Print("Последняя известная цена покупки текущего инструмента=",Bid);   
   Print("Количество десятичных знаков после запятой=",Digits);
   Print("Количество десятичных знаков после запятой=",_Digits);
   Print("Размер пункта текущего инструмента в валюте котировки=",_Point);
   Print("Размер пункта текущего инструмента в валюте котировки=",Point);   
   Print("Количество баров на текущем графике=",Bars);
   Print("Цена открытия текущего бара текущего графика=",Open[0]);
   Print("Цена закрытия текущего бара текущего графика=",Close[0]);
   Print("Максимальная цена текущего бара текущего графика=",High[0]);
   Print("Минимальная цена текущего бара текущего графика=",Low[0]);
   Print("Время открытия текущего бара текущего графика=",Time[0]);
   Print("Тиковый объем текущего бара текущего графика=",Volume[0]);
   Print("Значение последней ошибки=",_LastError);
   Print("Текущее состояние генератора псевдослучайных целых чисел=",_RandomSeed);
   Print("Флаг остановки программы=",_StopFlag);
   Print("Код причины деинициализации программы=",_UninitReason);   
  }