Ошибки, баги, вопросы - страница 1868
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
билд 1589
Как сделать,чтобы OnTimer в индикаторе переставал работать при смене счета/брокера при условии,что у того нет вообще такого тикера,или он не добавлен в обзор рынка, без использования IndicatorDelete ?
Ошибка в документации - функции IndicatorDelete нет, есть ChartIndicatorDelete!
https://www.mql5.com/ru/docs/standardlibrary/cchart/cchartindicatordelete
ситуация такая - запускаю на фьючерсе приложенный индикатор. переключаю на другого брокера, а таймер продолжает тикать,хотя чарт становится черным и не обновляется.
при этом он не пишет причину деинициализации
REASON_ACCOUNT
6
Активирован другой счет либо произошло переподключение к торговому серверу вследствие изменения настроек счета
билд 1589
OnDeinit не вызывается.
в смысле? совсем не вызывается, или в данном коде?
билд 1589
Как сделать,чтобы OnTimer в индикаторе переставал работать при смене счета/брокера при условии,что у того нет вообще такого тикера,или он не добавлен в обзор рынка, без использования IndicatorDelete ?
Ошибка в документации - функции IndicatorDelete нет, есть ChartIndicatorDelete!
https://www.mql5.com/ru/docs/standardlibrary/cchart/cchartindicatordelete
ситуация такая - запускаю на фьючерсе приложенный индикатор. переключаю на другого брокера, а таймер продолжает тикать,хотя чарт становится черным и не обновляется.
при этом он не пишет причину деинициализации
REASON_ACCOUNT
6
Активирован другой счет либо произошло переподключение к торговому серверу вследствие изменения настроек счета
Загрузка и выгрузка индикаторов
Индикаторы загружаются в следующих случаях:
Индикаторы выгружаются в следующих случаях:
Причины "смена счёта нет", значит индикатор при смене счёта не выгружается и следовательно OnDeinit() для индикатора при смене торгового счета тоже не будет.
в смысле? совсем не вызывается, или в данном коде?
Загрузка и выгрузка индикаторов
Индикаторы выгружаются в следующих случаях:
Причины "смена счёта нет", значит индикатор при смене счёта не выгружается и следовательно OnDeinit() для индикатора при смене торгового счета тоже не будет.
В самом деле указанная мной причина работает только для экспертов
Тогда остается вопрос - как заставить перестать работать таймер без радикального удаления индикатора с чарта?
В самом деле указанная мной причина работает только для экспертов
Тогда остается вопрос - как заставить перестать работать таймер без радикального удаления индикатора с чарта?
В OnInit() запомнить счёт. В таймере проверять номер счёта. Если счёт изменился - выходить из таймера.
Тогда остается вопрос - как заставить перестать работать таймер без радикального удаления индикатора с чарта?
согласитесь,кривенькое решение?!
предположим, мы делаем ACCOUNT_LOGIN!=ACCOUNT_LOGIN_NEW, убиваем таймер,а затем возвращаемся обратно к этому счета,что произойдет? таймер ведь не запустится снова?
проще добавить причину "смена счета" к индикаторам так же,или я в чем-то не прав ,и это приведет к каким-то сложностям?
согласитесь,кривенькое решение?!
Это ход конем!
предположим, мы делаем ACCOUNT_LOGIN!=ACCOUNT_LOGIN_NEW, убиваем таймер,а затем возвращаемся обратно к этому счета,что произойдет? таймер ведь не запустится снова?
При обнаружении смены счета запоминаете уже новые характеристики.
Можете оформить в виде маленькой библиотеки по принципу, что здесь (макросы). Тогда "кривенькое" не будет мозолить глаза.