- OnStart
- OnInit
- OnDeinit
- OnTick
- OnCalculate
- OnTimer
- OnTrade
- OnTradeTransaction
- OnBookEvent
- OnChartEvent
- OnTester
- OnTesterInit
- OnTesterDeinit
- OnTesterPass
OnDeinit
Вызывается в индикаторах и экспертах при наступлении события Deinit. Функция предназначена для деинициализации запущенной MQL5-программы.
void OnDeinit(
|
Параметры
reason
[in] Код причины деинициализации.
Возвращаемое значение
Нет возвращаемого значения
Примечание
Событие Deinit генерируется для экспертов и индикаторов в следующих случаях:
- перед переинициализацией в связи со сменой символа или периода графика, к которому прикреплена mql5-программа;
- перед переинициализацией в связи со сменой входных параметров;
- перед выгрузкой mql5-программы.
Параметр reason может принимать следующие значения:
Константа |
Значение |
Описание |
---|---|---|
REASON_PROGRAM |
0 |
Эксперт прекратил свою работу, вызвав функцию ExpertRemove() |
REASON_REMOVE |
1 |
Программа удалена с графика |
REASON_RECOMPILE |
2 |
Программа перекомпилирована |
REASON_CHARTCHANGE |
3 |
Символ или период графика был изменен |
REASON_CHARTCLOSE |
4 |
График закрыт |
REASON_PARAMETERS |
5 |
Входные параметры были изменены пользователем |
REASON_ACCOUNT |
6 |
Активирован другой счет либо произошло переподключение к торговому серверу вследствие изменения настроек счета |
REASON_TEMPLATE |
7 |
Применен другой шаблон графика |
REASON_INITFAILED |
8 |
Обработчик OnInit() вернул ненулевое значение |
REASON_CLOSE |
9 |
Терминал был закрыт |
Коды причины деинициализации эксперта можно также получить функцией UninitializeReason() или из предопределенной переменной _UninitReason.
Пример функций OnInit() и OnDeinit() для эксперта
input int fake_parameter=3; // бесполезный параметр
|
Смотри также
OnInit, Функции обработки событий, Выполнение программ, События клиентского терминала, Причины деинициализации, Область видимости и время жизни переменных, Создание и уничтожение объектов