В данной статье посмотрим, в каком месте CandleConnector подписывается на бумаги в AServer. Какие методы ServerRealization при этом вызываются и откуда.
Регион, который нам нужен:
1. Вспоминаем про CandleConnector.
Это штука, которая предоставляет данные по подписке для
- https://smart-lab.ru/company/os_engine/blog/971435.php
- https://smart-lab.ru/company/os_engine/blog/972220.php
- https://smart-lab.ru/company/os_engine/blog/972671.php
В третьем посте на тему Вы увидите место, из которого вызывается метод StartThisSecurity:
2. Регион Subscribe to data вAserver.
Регион, в котором происходит подписка на данные по определённому инструменту. Очень нагруженное место.
- Объект класса, который собирает свечи.
- Хранилище свечей в файловую систему.
- Блокиратор многопоточного доступа к методу StartThisSecurity.
- Блокиратор многопоточного доступа к методу StartThisSecurity на старте коннектора.
- Время последней попытки старта бумаги.
- Метод для старта прослушивания бумаги.
- Метод для остановки прослушивания бумаги.
- Обработчик события обновления серии свечей.
- Событие: Обновились свечи.
3. Метод старта подписки.
- Не пускаем все пытающиеся подписаться потоки на следующий lock одновременно. Не чаще 10 раз в секунду. Если коннектор подписывается медленнее, это уже на совести RateGate, установленного в IServerRealization.
- Блокировка многопоточного доступа в код ниже.
- Костыли на случай, если коннектор не готов к подписке.
- Поиск нужного объекта бумаги.
- Создание серии свечек для подписки.
- ВЫЗОВ IserverRealization. Наконец-то… Запрос на подписку на ленту сделок и стакан по бумаге.
- Запустить серию свечек в CandleManager.
- Сохранение бумаги в объекты, занимающиеся сохранением данных по трейдам и свечам в файловую систему.
Удачных алгоритмов!
Пост из серии «Коннекторы к OsEngine»
Серия о том, как стать настоящим программистом и изменить свою профессию.
Оглавление и смыслы здесь: https://smart-lab.ru/company/os_engine/blog/959953.php
Комментарии открыты для друзей, добавляйтесь!
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