Для каждой выполняющейся программы, написанной на языке программирования 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().