Ошибки, баги, вопросы - страница 1868

kaus_bonus:

в смысле? совсем не вызывается, или в данном коде?

В Вашей ситуации.
Vladimir Karputov:

Загрузка и выгрузка индикаторов


Индикаторы выгружаются в следующих случаях:

  • при откреплении индикатора от графика;
  • закрытие терминала (если индикатор был прикреплен к графику);
  • загрузка шаблона, если к графику прикреплен индикатор;
  • закрытие графика, к которому был прикреплен индикатор;
  • смена профиля, если индикатор прикреплен к одному из графиков сменяемого профиля;
  • смена символа и/или периода графика, к которому прикреплен индикатор;
  • изменение входных параметров индикатора.


Причины "смена счёта нет", значит индикатор при смене счёта не выгружается и следовательно OnDeinit() для индикатора при смене торгового счета тоже не будет.

В самом деле указанная мной причина работает только для экспертов

Коды причины деинициализации эксперта ....

Тогда остается вопрос - как заставить перестать работать таймер без радикального удаления индикатора с чарта?

Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Причины деинициализации
Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Причины деинициализации
  • www.mql5.com
Стандартные константы, перечисления и структуры / Именованные константы / Причины деинициализации - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
kaus_bonus:

В самом деле указанная мной причина работает только для экспертов

Тогда остается вопрос - как заставить перестать работать таймер без радикального удаления индикатора с чарта?


В OnInit() запомнить счёт. В таймере проверять номер счёта. Если счёт изменился - выходить из таймера.
kaus_bonus:

Тогда остается вопрос - как заставить перестать работать таймер без радикального удаления индикатора с чарта?

Использовать ACCOUNT_LOGIN и ACCOUNT_SERVER.

согласитесь,кривенькое решение?!

предположим, мы делаем ACCOUNT_LOGIN!=ACCOUNT_LOGIN_NEW, убиваем таймер,а затем возвращаемся обратно к этому счета,что произойдет? таймер ведь не запустится снова?

проще добавить причину "смена счета"  к индикаторам так же,или я в чем-то не прав ,и это приведет к каким-то сложностям?

kaus_bonus:

согласитесь,кривенькое решение?!

Это ход конем!

предположим, мы делаем ACCOUNT_LOGIN!=ACCOUNT_LOGIN_NEW, убиваем таймер,а затем возвращаемся обратно к этому счета,что произойдет? таймер ведь не запустится снова?

При обнаружении смены счета запоминаете уже новые характеристики.

Можете оформить в виде маленькой библиотеки по принципу, что здесь (макросы). Тогда "кривенькое" не будет мозолить глаза.

fxsaber:

Это ход конем!

При обнаружении смены счета запоминаете уже новые характеристики.

Можете оформить в виде маленькой библиотеки по принципу, что здесь (макросы). Тогда "кривенькое" не будет мозолить глаза.


спасибо за ответы) я такое не умею) проще серпом по ...

а затем заново запустить индюк)

rozline:

Господа! Дико извиняюсь, что вообще пишу. Но нужна помощь, как говориться ASAP.

У меня случилась ошибка терминала, он перестал подключать кастомные индикаторы и советники.

Лог типа такого

2017.04.20 18:18:59.764 Custom Indicator loading of AD (@Si,H1) failed

Тоже в этот же день! перестали открываться 99% кастомных инд. и советников, один почему то работает



fxsaber:

Это ход конем!

При обнаружении смены счета запоминаете уже новые характеристики.

Можете оформить в виде маленькой библиотеки по принципу, что здесь (макросы). Тогда "кривенькое" не будет мозолить глаза.

Вот за что не люблю библиотеки, что их нужно таскать хвостиком за каждой программой, а если с кем нужно поделиться файлом, то и библу нужно давать, что крайне не удобно и криво.

а еще вопрос - мы запустили индикатор на 5 знаке, а затем переключили на брокера с  4 знаком. что будет с индикатором? разве он не должен при этом пересчитаться? ведь значения используемыъ цен абсолютно другие будут.

по-моему,косяк.