-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Testing Core - тестирующее ядро, создается для тестирования гейтов под нагрузкой, с условиями ошибок в ордерах и прочем. В архитектуре учитывается дальнейшее использование ядра в качестве полноценного торгового ядра.
Основные компоненты:
- Strategy - абстрактный класс, реализации которого пишет пользователь (алготрейдер). В нём описан алгоритм торговой стратегии, который использует Trader для получения данных и выставления ордеров. Будет использоваться для написания тестовых сценариев.
- Trader - отвечает за взаимодействие с Gate. Хранит и обновляет данные, отправляет команды. Логгирует действия стратегии.
- Communicator - класс, который используется для взаимодействия с лог-сервером и Gate.
Далее классы описаны более подробно.
Отвечает за взаимодействие с гейтом и хранение данных. То есть создает, отправляет гейту и обновляет ордера, хранит и обновляет балансы, ордер-буки, отправляет гейту команды.
Отвечает за взаимодействие с Gate, в частности, по Aeron. Получает и отправляет сообщения, форматирует под общий формат и проверяет их на правильность (не были повреждены, соблюдение формата).
Содержит информацию об ордере, может отправить сообщение в гейт для исполнения или отмены ордера на бирже.
Хранит состояние ордера на бирже. Список состояний:
- unplaced - ордер не был добавлен на биржу, существует только в ядре
- placing - гейту была отправлена команда разместить ордер, ответ пока не получен
- open - ордер открыт на бирже
- filled - ордер частично заполнен
- closed - ордер закрыт (полностью заполнен, т.е. исполнен)
- canceled - ордер отменен ядром (вне зависимости от того, насколько он был заполнен)
- error - ошибка во время создания ордера (например, недостаточно средств)
Отвечает за хранение и обновление ордеров.
Отвечает за создание объектов ордеров. Не размещает ордера на бирже.
(см. схему в общей схеме архитектуры)
Отвечает за хранение и обновление баланса.
(см. схему в общей схеме архитектуры)
Отвечает за хранение и обновление рыночных данных, в данной версии только актуального ордер-бука.
(см. схему в общей схеме архитектуры)