Можно запустить скрипт в цикле, кот. будет анализировать состояние связи с заданной периодичностью и устанавливать глобальную переменную в случае обрыва, а также, записывать время обрыва и восстановления связи в файл, при необходимости. Советник же может анализировать эту переменную, и предпринимать необходимые действия, если зафиксирован обрыв связи.
Можно запустить скрипт в цикле, кот. будет анализировать состояние связи с заданной периодичностью и устанавливать глобальную переменную в случае обрыва, а также, записывать время обрыва и восстановления связи в файл, при необходимости. Советник же может анализировать эту переменную, и предпринимать необходимые действия, если зафиксирован обрыв связи.
Да эту функцию я знаю, конечно. Только вот как я ее вызову, если тики не приходят? Как я уже говорил, нагружать терминал постоянно работаюшим скриптом я не хочу, т. к. таких терминалов у меня работает до десяти штук.
Да эту функцию я знаю, конечно. Только вот как я ее вызову, если тики не приходят? Как я уже говорил, нагружать терминал постоянно работаюшим скриптом я не хочу, т. к. таких терминалов у меня работает до десяти штук.
Вы не совсем правильно поняли, скрипт будет висеть на одном графике и запускаться, скажем, 10 раз в секунду. Он совсем не будет загружать процессор, даже при 10 запущенных терминалах.
if(TimeCurrent()-LastTick >= 60*Period())Переменная LastTick объявлена глобальной (для советника, не для терминала). Запоминаем время последнего тика. Если следующий тик пришел позже, чем длительность текущего периода, установленного для графика, то вызываем init,
init();
LastTick = TimeCurrent();
в которой обрабатываем пропущенные бары.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Все-таки моменты вкл/выкл терминала ловятся намного легче (init/deinit)