![Причины деинициализации - Именованные константы - Константы, перечисления и структуры - Справочник MQL4 Причины деинициализации - Именованные константы - Константы, перечисления и структуры - Справочник MQL4](https://c.mql5.com/36/25/prichini-deinicializacii-imenovannie.png)
- docs.mql4.com
Спасибо, я ознакомился с текстом. Ниже код, который я исполюзую
void OnDeinit(int reason) { if(reason==REASON_TEMPLATE || reason==REASON_REMOVE || reason==REASON_CHARTCLOSE) GlobalVariablesDeleteAll(Prefix); if(reason==REASON_REMOVE) { if(Prefix=="WI"+_Symbol+IntegerToString(Magic)) { string name="_Magic"; string text ="You can continue with Magic = "+IntegerToString(Magic); ObjectSetString(0,name,OBJPROP_TEXT,text); name="_Magic1"; text="Indicator was delete from this chart !"; cr(name,20,40,12,text,GetFont(Font_Name),Z_Color,false); ObjectSet(name,OBJPROP_CORNER,2); } } if(reason==REASON_CHARTCHANGE || reason==REASON_CHARTCLOSE) GlobalVariableSet(Prefix+"_Chart",2); //else GlobalVariableDel(Prefix+"_Chart"); EventKillTimer(); }
Так пробую чистить глобальные переменные. И все хорошо пока не используются профили. При переключении профилей я хотел бы чтобы глобальные переменные не удалялись. Но как оказалось при переключении профиля терминал генерирует код того же события что при закрытии графика, как писал выше. Потому и появился вопрос есть ли возможность каким-либо образом различить эти 2 события.
насколько я понимаю Ваш код это индикатор?
индикаторы несколько иначе получают причины деинициализации, вот было обсуждение https://www.mql5.com/ru/forum/287677/page2#comment_9244404
суть обсуждения - к некоторых случаях индикатор полностью уничтожается и создается его новая копия
![Как добавить 3-е условие по нажатие на клавишу с клавиатуры? Как добавить 3-е условие по нажатие на клавишу с клавиатуры?](https://c.mql5.com/36/25/kak-dobavit-3-e-uslovie-po-nazhatie.jpg)
- 2018.11.04
- www.mql5.com
насколько я понимаю Ваш код это индикатор?
индикаторы несколько иначе получают причины деинициализации, вот было обсуждение https://www.mql5.com/ru/forum/287677/page2#comment_9244404
суть обсуждения - к некоторых случаях индикатор полностью уничтожается и создается его новая копия
да это индикатор
И подобный вопрос по REASON_CHARTCHANGE есть ли возможность отличить когда изменяется инструмент а когда таймфрейм?
"Помнить" последний инструмент и таймфрейм и видеть что изменилось.
"Помнить" последний инструмент и таймфрейм и видеть что изменилось.
Спасибо, попробую. А может подскажете где о профилях смогу почитать? Рою - рою и ничего пока нет, может есть возможность отчитать в каком профиле открыт график с индикатором?
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день.
Оказалось что программа генерирует ту же самую причину деинициализации при закрытии графика и при смене профиля - REASON_CHARTCLOSE .
Есть ли какая-нибудь возможность отличить эти события?
Спасибо