rss

Профиль компании

Финансовые компании

Блог компании Os_Engine | Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88

Как включить проверку потоков данных из сокетов, если коннектор может останавливать трансляцию данных без оповещения.

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

Работает этот механизм не везде. На данный момент включен только для биржи BingX. В остальных случаях его нужно будет включать.

Разберёмся с тем, как это делать.

Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88 

1. Разрешение сервера. IServerPermission.

Для начала нужно исправить разрешение для сервера, обозначив ему самому, что нужно следить за обновлением данных.

Делается это здесь:

Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88 

  1. IsUseCheckDataFeedLogic – если True, то слежение за потоками у коннектора включается.
  2. CheckDataFeedLogic_ExceptionSecuritiesClass – массив классов, которые проверяться не будут. Если надо, можно оставить null.
  3. CheckDataFeedLogic_NoDataMinutesToDisconnect – максимальное время, по которому может быть задержка данных по стакану котировок по любому инструменту, после чего коннектор начнёт процедуру переподключения. Эта настройка умножается на три, чтобы получить максимальное время задержки по ленте сделок.

Всё! После этого механизм анализа потока данных на отключения без предупреждения начнёт работать для коннектора. Можно больше ничего не делать. Далее информация справочная.

 

2. Реализация. Открываем AServer.

Вся реализация механизма располагается в родительском классе любого коннектора в OsEngine:

Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88

3. Реализация. Время по стаканам и трейдам сохраняется.

Активация механизма происходит в свойстве ServerRealization:

Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88 

Если в разрешениях коннектора стоит «запускать механизм», создаётся дополнительный поток, который будет просматривать данные:

Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88

Передача последнего времени по ленте сделок:

Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88

Передача последнего времени по стакану:

Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88

Сам механизм проверки времени данных находится в отдельном регионе «Checking data streams subscribed to»

Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88

  1. Бумаги, по которым коннектор подписан на данные.
  2. Сервисная очередь данных. Добавлена, чтобы не нагружать работой поток, разбирающий данные.
  3. Метод, принимающий на анализ бумаги, на которые мы подписываемся.
  4. Само место анализа данных на отставание.

Удачных алгоритмов!

Комментарии открыты для друзей!

Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88

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

Разное #9. Включение проверки потоков данных. Коннекторы к OsEngine #88


UPDONW
Новый дизайн