какой ответ ищете? - ответ да можно!
OnInit() вызывается во многих каких случаях
а вот DeInit() - там можно отследить что произошло
Вы не предоставили пример кода, что обсуждать? - может у Вас OnInit() вообще пустой, смысл что то обсуждать?
как вариант,вот был топик в котором ТС попросил распечатать причину деинициализации https://www.mql5.com/ru/forum/319143
Привет всем! Кто может подсказать возможно ли сделать так что бы при смене ТФ не было переинициализации советника?
какой ответ ищете? - ответ да можно!
OnInit() вызывается во многих каких случаях
а вот DeInit() - там можно отследить что произошло
Вы не предоставили пример кода, что обсуждать? - может у Вас OnInit() вообще пустой, смысл что то обсуждать?
как вариант,вот был топик в котором ТС попросил распечатать причину деинициализации https://www.mql5.com/ru/forum/319143
У меня суть проблемы в том что в OnInit() создаются кнопки (OBJ_BUTTON) и мне нужно сохранить состояние этих кнопок (нажата/отжата) при
смене ТФ... А так как в OnDeInit() я прописал удаление этих же кнопок (ну для их удаления при удалении самого советника) то получается что при
смене ТФ срабатывает OnDeInit() и наново срабатывает инициализация что, конечно же сбрасывает состояние кнопки... Как-то так
При смене таймфрейма перезапуск советника не происходит. Всего навсего вызывается функция OnInit(), а там уж то, что сами туда напихали. Факт того, что происходит смена таймфрейма, отслеживается в OnDeinit(). Не забывайте, что для смены таймфрейма и смены символа один код деинициализации.
Ну как же? OnDeInit() тоже вызывается! Когда я убираю все с OnDeInit() то все работает почти правильно... а если в OnDeInit() оставить функцию удаления то все слетает...
Ну как же? OnDeInit() тоже вызывается! Когда я убираю все с OnDeInit() то все работает почти правильно... а если в OnDeInit() оставить функцию удаления то все слетает...
У меня суть проблемы в том что в OnInit() создаются кнопки (OBJ_BUTTON) и мне нужно сохранить состояние этих кнопок (нажата/отжата)
при смене ТФ... А так как в OnDeInit() я прописал удаление этих же кнопок (ну для их удаления при удалении самого советника) то
получается что при смене ТФ срабатывает OnDeInit() и наново срабатывает инициализация что, конечно же сбрасывает состояние
кнопки... Как-то так
ну и в чем проблема? используйте указатели и в OnDeinit() - причину переключения ТФ не удаляйте обькты, в противном случае удаляйте
в OnInit() проверяйте указатель ==NULL создайте обекты, в противном случае ничего не делайте, что позволит Вам сохранить состояние обьекта
вот топик где работу графической панели разбирали, ТС перевел все на работу с указателями, остался доволен https://www.mql5.com/ru/forum/317444
ну и в чем проблема? используйте указатели и в OnDeinit() - причину переключения ТФ не удаляйте обькты, в противном случае удаляйте
в OnInit() проверяйте указатель ==NULL создайте обекты, в противном случае ничего не делайте, что позволит Вам сохранить состояние обьекта
вот топик где работу графической панели разбирали, ТС перевел все на работу с указателями, остался доволен https://www.mql5.com/ru/forum/317444
да все правильно, сдалал так:
if(reason!=3) { Deleted(); }
вроде работает, все равно как-то не корректно, но это уже скорее связано с самими кнопками...
в OnInit() проверяйте указатель ==NULL создайте обекты, в противном случае ничего не делайте, что позволит Вам сохранить состояние обьекта
а можете подробнее об этом рассказать? Указатели - это если бы я использовал классы, верно?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования