Отрисовка индикатора после обрыва связи

 

Добрый день, коллеги.

Столкнулся с интересным поведением MQL5-индикатора после обрыва связи МТ5 с сервером.

Индикатор имеет 2 буфера: в один пишутся значения индикатора "Супертренд" с текущего таймфрейма, в другой - с заданного старшего таймфрейма.

В обычном режиме это выглядит так:

После обрыва связи и ее восстановления в буфер с данными старшего таймфрейма пишется только одно непонятное значение (красная линия через всю историю):

Такое чувство, что индикатор старшего таймфрейма не успевает пересчитаться и возвращает одно где-то зафиксированное значение.

Если при этом нажать на графике "Обновить" - все выравнивается, как надо.

Подскажите, в чем тут может быть дело, и как это обойти?

Файлы прикладываю:

- ST1.mq5 - однотаймовый супертренд

- STmult.mq5 - который на изображениях выше (берет данные однотаймового для разных таймфреймов)

Работаю в Win7 x64, MT5 build 3510

Файлы:
STmult.mq5  25 kb
ST1.mq5  21 kb
 

Если идей нет, подскажите хотя бы, как в MQL5 программно определить обрыв связи.

В MQL4 был метод IsConnected(). Аналог в MQL5 не могу найти.

 
satorifx #:

Если идей нет, подскажите хотя бы, как в MQL5 программно определить обрыв связи.

В MQL4 был метод IsConnected(). Аналог в MQL5 не могу найти.

https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/cterminalinfo/cterminalinfoisconnected
Документация по MQL5: Стандартная библиотека / Торговые классы / CTerminalInfo / IsConnected
Документация по MQL5: Стандартная библиотека / Торговые классы / CTerminalInfo / IsConnected
  • www.mql5.com
IsConnected - CTerminalInfo - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

https://www.mql5.com/ru/docs/check/terminalinfointeger

TERMINAL_CONNECTED

Наличие подключения к торговому серверу

Документация по MQL5: Проверка состояния / TerminalInfoInteger
Документация по MQL5: Проверка состояния / TerminalInfoInteger
  • www.mql5.com
TerminalInfoInteger - Проверка состояния - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Как насчет того, чтобы во всех местах, где проверяется BarsCalculated, также проверять и SeriesInfoInteger(_Symbol, period, SERIES_SYNCHRONIZED)? period заменить на требуемые таймфреймы.