Ошибки, баги, вопросы - страница 3662
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
То есть, получается, что при перезапуске терминала - история баров в момент инициализации индикатора ещё не готова?
Проверить через Sleep гипотезу пробовали?
Вполне вероятно, что так и есть, и это, конечно, плохо.
Sleep
Sleep в индикаторах не работает.
Вот же диво, а я и не знал, редко ими занимаюсь. Спасибо.
Проверить через Sleep гипотезу пробовали?
Вполне вероятно, что так и есть, и это, конечно, плохо.
У меня подобная проблема была в советнике и Sleep() не помогала.
Значит, остаётся надеется, что на проблему обратят внимание разработчики.
Значит, остаётся надеется, что на проблему обратят внимание разработчики.
Да. Будем надеяться.
Раз в МТ4 абсолютно тот же код нормально работает - следовательно, это системная проблема.
Пока что попытаюсь вынести инициализацию индикатора - в отдельную процедуру, и потом запускать её на первом пришедшем тике. Если получится - отпишусь.
Да, всё верно.
Обращаю внимание разработчиков, ошибка.
При запуске индикатора при работающем MT5 - все проходит штатно, и без ошибок.
Если оставить индикатор на графике, и перезапустить МТ5, то в момент вызова функции Init() индикатора - таймсерии ещё не готовы:
Лично я пока обошёл проблему повторной инициализацией при первом вызове OnCalculate(). Если во время OnInit() не получилось инициализироваться, то я ещё раз проделываю все нужные действия в первом вызове OnCalculate - в этом случае и символ синхронизирован, и количество баров выдаётся верно.
Да, всё верно.
Обращаю внимание разработчиков, ошибка.
При запуске индикатора при работающем MT5 - все проходит штатно, и без ошибок.
Если оставить индикатор на графике, и перезапустить МТ5, то в момент вызова функции Init() индикатора - таймсерии ещё не готовы:
Лично я пока обошёл проблему повторной инициализацией при первом вызове OnCalculate(). Если во время OnInit() не получилось инициализироваться, то я ещё раз проделываю все нужные действия в первом вызове OnCalculate - в этом случае и символ синхронизирован, и количество баров выдаётся верно.
проверка баров всегда и была в OnCalculate
на достаточность для расчета и т.д.
проверка баров всегда и была в OnCalculate
на достаточность для расчета и т.д.
Хм... А если их количество уже нужно в OnInit() ?
Необходимо выполнить инициализационные действия, в зависимости от того, достаточно ли имеется баров. Более того, некоторые подготовительные действия могут потребоваться со значениями цен баров. А у нас, выходит, баров-то ещё и нет...
Если запускать индикатор на работающем МТ5 - всё проходит нормально. Проблемы возникают только если терминал перезапускается. Если при OnInit() символ может быть ещё не синхронизирован, и бары могут быть ещё недоступны - какой смысл в инициализации вобще?
Хм... А если их количество уже нужно в OnInit() ?
Необходимо выполнить инициализационные действия, в зависимости от того, достаточно ли имеется баров. Более того, некоторые подготовительные действия могут потребоваться со значениями цен баров. А у нас, выходит, баров-то ещё и нет...
Если запускать индикатор на работающем МТ5 - всё проходит нормально. Проблемы возникают только если терминал перезапускается. Если при OnInit() символ может быть ещё не синхронизирован, и бары могут быть ещё недоступны - какой смысл в инициализации вобще?