Как включить проверку потоков данных из сокетов, если коннектор может останавливать трансляцию данных без оповещения.
Неделю назад выяснили, что некоторые биржи в момент прекращения трансляции трейдов и стаканов по сокетам могут об этом не оповестить. Оставляют сокет в рабочем состоянии, а часть данных транслировать прекращают. В итоге создан механизм отслеживания данных по потокам с принудительным переподключением коннектора, если такое случилось.
Работает этот механизм не везде. На данный момент включен только для биржи BingX. В остальных случаях его нужно будет включать.
Разберёмся с тем, как это делать.
Для начала нужно исправить разрешение для сервера, обозначив ему самому, что нужно следить за обновлением данных.
Делается это здесь:
Всё! После этого механизм анализа потока данных на отключения без предупреждения начнёт работать для коннектора. Можно больше ничего не делать. Далее информация справочная.
Вся реализация механизма располагается в родительском классе любого коннектора в OsEngine:
Активация механизма происходит в свойстве ServerRealization:
Если в разрешениях коннектора стоит «запускать механизм», создаётся дополнительный поток, который будет просматривать данные:
Передача последнего времени по ленте сделок:
Передача последнего времени по стакану:
Сам механизм проверки времени данных находится в отдельном регионе «Checking data streams subscribed to»
Удачных алгоритмов!
Комментарии открыты для друзей!
OsEngine: https://github.com/AlexWan/OsEngine
Поддержка OsEngine: https://t.me/osengine_official_support
Регистрируйся в АЛОР и получай бонусы: https://www.alorbroker.ru/open
Сайт АЛОР БРОКЕР: https://www.alorbroker.ru
Раздел «Для клиентов»: https://www.alorbroker.ru/openinfo/for-clients
Программа лояльности от АЛОР БРОКЕР и OsEngine: https://smart-lab.ru/company/os_engine/blog/972745.php