Изображение блога
Алексей Ван <o-s-a.net>
Алексей Ван <o-s-a.net> Блог компании Os_Engine
23 декабря 2023, 15:16

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

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

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

Идём и открываем CandleConnector. Сам класс находится в проекте вот здесь:

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

Далее переходим в регион подписки на данные. А конкретно, находим метод Subscrable:

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

1. Работа в цикле до подписания на данные.

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

Т.е. вся логика подписки находится внутри цикла. Выход из него:

  1. Ошибка.
  2. Создание серии свечек по заданной бумаге и подписка на поточные данные по ней.

 

2. Задержки разные для разных типов программ.

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

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

 

3. Проверки на готовность сервера или экстренное закрытие потока подключения.

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

  1. Экстренное завершение потока подключения, вызванное внешним кодом.
  2. Выбран ли пользователем тип сервера и имя бумаги.
  3. Если сервера не развёрнуты, попытка развернуть их автоматически.

 

4. Блок поиска сервера для Оптимизатора.

В оптимизаторе серверы создаются сотнями и тысячами очень быстро в специальном пуле серверов ServerMaster. Для них реализована отдельная логика поиска:

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

5. Место, где мы точно понимаем, что наш сервер создан ранее.

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

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

 

6. Цикл конечной подписки и конец метода.

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30


7. Внутренности цикла конечной подписки.

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

  1. Проверка запроса отключения потока подписки.
  2. Если вдруг пользователь сменил тип сервера, нужно ждать.
  3. Задержки, разбитые по Реальной торговле / все остальные.
  4. Это то, ради чего эта статья написана. Запрос подключения бумаги на прослушку. В ответ должна прийти серия свечек.
  5. Подписка для оптимизатора.

На этом всё. Пожалуйста, найдите время для того, чтобы изучить класс ConnectorCandle. Это первый и самый важный пользователь любой реализации сервера, которая есть в OsEngine.

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


Пост из серии «Коннекторы к OsEngine»

Серия о том, как стать настоящим программистом и изменить свою профессию.

Оглавление и смыслы здесь: https://smart-lab.ru/company/os_engine/blog/959953.php

Комментарии открыты для друзей, добавляйтесь!

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

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

ConnectorCandles #3. Метод подписки на реализацию сервера. Коннекторы к OsEngine #30

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн