Skip to content

vlshl/pulxer

Repository files navigation

Проект Pulxer

Это серверная часть системы биржевой торговли.

Сервер выполняет следующие функции:

  • накопление исторических данных по биржевым торгам

Исторические данные загружаются по расписанию из внешнего источника. Данные включают в себя котировки вплоть до последней прошедшей торговой сессии и содержат как тиковую информацию (данные по каждой сделке), так и информацию по более крупным таймфреймам.

  • получение и обработка данных текущей торговой сессии в режиме реального времени

Текущие данные по биржевым сделкам сервер получает от компонента Leech в режиме реального времени. Обмен данными происходит по протоколу WebSocket. Далее данные распределяются по другим модулям сервера - модулю отслеживания позиций и плагинам.

  • отслеживание позиций по бумагам в реальном времени (время открытия, цена, размер позиции, текущая цена и текущая прибыль/убыток)

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

  • список закрытых позиций (цена и время открытия, размер позиции, цена и время закрытия, итоговая прибыль/убыток)

Таблица закрытых позиций пополняется новыми записями в момент закрытия позиции. Если позиция закрывается не полностью, происходит дробление позиции - появляется новая закрытая позиция, а у открытой позиции корректируется количество.

  • механизм плагинов (плагины имеют доступ как к историческим данным, так и к данным текущей торговой сессии в реальном времени)

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

  • работа Telegram-бота, который в реальном времени выдает информацию по изменению текущих открытых позиций при изменении цен

Отдельный модуль сервера поддерживает работу Telegram-бота для информирования об изменении открытых позиций. При помощи бота можно получить список текущих позиций и информацию о них - дату/время открытия, цену открытия, размер позиции в бумагах/лотах, текущую цену, текущую прибыль/убыток. Также при движении какой-либо позиции вверх или вниз на установленный шаг (по умолчанию это 0.5%, шаг можно настраивать) бот присылает пользователю оповещение.

Администрирование при помощи CLI

Для администрирования сервера помимо Web-интерфейса используется также CLI (утилита pulxer-cli.exe). При помощи CLI можно выполнять такие действия, как управление пользователями, настройка и выполнение фоновой загрузки исторических данных и т.д. В дальнейшем большинство действий будет перенесено в Web-интерфейс.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages