Выкладываю свою схему реализации (ТЗ) серверного обработчика потока.
Задача заключается в следующем:
1. Создать серверный сервис, получающий поток с запада (Rithmic) и востока (Tranzaq) по нескольким (4-5) инструментам;
2. Сервис будет предоставлять через сеть (интернет) котировки (не обязательно) и значения индикаторов для локальных терминалов;
3. Локальные терминалы могут быть любого производителя, имеющие возможность писать пользовательские индикаторы, обращающиеся за данными индикаторов на сервер;
Преимущества очевидны — собственная история индикаторов, нет необходимости писать свой терминал, нет зависимости от брокера и платформ.
Поток, с двух коннекторов должен записываться в базу. Формат должен быть оптимизирован для снятия нагрузки с сервера и ускорения выдачи данных по запросу.
Формат записи следующий:
![Оптимизированный формат потока с рассчитанными значениями базовых индикаторов Оптимизированный формат потока с рассчитанными значениями базовых индикаторов](https://milliondollarov.com/uploads/images/00/10/22/2017/07/23/6aa0d7.jpg)
Такой формат тестировался в авторском терминале Com X Trader.
Соответственно, от программиста требуется документация и пример для подключения индикаторов внешних терминалов к серверной базе индикаторов. Алгоритмы индикаторов, как и формат потока, изложены на скрине.
Необходим простенький интерфейс для работы с коннекторами (ввод логина/пароля), выбор инструмента для обработки и записи, лог событий, настройки соединений и интерфейс управления базой.
Пример использования:
Терминал МТ4-5: пишем индикатор обращающийся по сети (или локально) к базе за основными переменными — Остаток – Disbalance (D), снос – Shift (S), большой маркет – Big Volume (BV), Так же можно работать и с Quik, Ninja Trader, …
Структурная схема работы серверного варианта обработчика потока:
![Схема реализации серверного обработчика потока и подключения торговых терминалов. Схема реализации серверного обработчика потока и подключения торговых терминалов.](https://milliondollarov.com/uploads/images/00/10/22/2017/07/23/2d3a46.jpg)