Внутренние переменные

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

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

Переменная

Значение

_Digits

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

_Point

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

_LastError

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

_Period

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

_RandomSeed

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

_StopFlag

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

_Symbol

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

_UninitReason

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

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

int _Digits

В переменной _Digits хранится количество десятичных знаков после запятой, определяющее точность измерения цены символа текущего графика.

Можно также использовать функцию Digits().

 

double _Point

В переменной _Point хранится размер пункта текущего инструмента в валюте котировки.

Можно также использовать функцию Point().

 

int _LastError

В переменной _LastError хранится значение последней ошибки, произошедшей во время исполнения mql5-программы. Сбросить значение в ноль можно функцией ResetLastError().

Для получения кода ошибки можно также использовать функцию GetLastError().

 

int _Period

В переменной _Period хранится значение таймфрейма текущего графика.

Можно также использовать функцию Period().

 

_RandomSeed

Переменная для хранения текущего состояния при генерации псевдослучайных целых чисел. _RandomSeed меняет своё значение при вызове MathRand(). Для установки нужного начального состояния используйте MathSrand().

Случайное число x, получаемое функцией MathRand(), вычисляется при каждом вызове следующим образом:

x=_RandomSeed*214013+2531011;
_RandomSeed=x;
x=(x>>16)&0x7FFF;

 

bool _StopFlag

В переменной _StopFlag хранится флаг остановки mql5-программы. Когда клиентский терминал пытается остановить программу, в эту переменную записывается значение true.

Для проверки значения флага _StopFlag можно также использовать функцию IsStopped().

 

string _Symbol

В переменной _Symbol хранится имя символа текущего графика.

Можно также использовать функцию Symbol().

 

int _UninitReason

В переменной _UninitReason хранится код причины деинициализации программы.

Обычно код причины деинициализации получают с помощью функции UninitializeReason().