Сегодня поговорим про ленту сделок.
В Вашем вёб-терминале Вы видите ленту сделок где-то здесь. Обычно это таблица:
Обезличенная сделка или трейд – все эти термины описывают факт взаимодействия между покупателем и продавцом (через сведение ордеров), результатом которого является атомарная операция передачи ценных бумаг из одних рук в другие. Записи об этом мы и видим в таблице обезличенных сделок.
Как обезличенная сделка появляется:
В терминале Astras от АЛОР лента сделок Сбербанка выглядит так:
Каждая сделка в данной таблице при попадании в OsEngine преобразуется в класс Trade.
В проекте OsEngine на ГитХаб этот класс находится здесь: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Entity/Trade.cs
Внутри проекта это здесь:
Сам же класс, если Вы его откроете, выглядит следующим образом:
Рассмотрим подробно:
SecurityNameCode – общедоступное свойство строкового типа содержит наименование актива, по которому прошла эта сделка.
Id – публичное поле строкового типа, уникальный идентификатор в рамках конкретного инструмента, устанавливаемый биржей.
Volume – публичное поле типа decimal хранит объем операции.
Price – публичное поле типа decimal содержит цену инструмента, по которой прошла сделка.
Time – публичное поле типа DateTime указывает дату и время совершения торговой сделки.
MicroSecond – публичное поле типа int хранит количество микросекунд, прошедших с момента времени, указанного в поле Time. Важно помнить, что не все биржи предоставляют эту информацию, поэтому, в случае отсутствия такой информации на бирже, в поле будет храниться 0.
Side – активная сторона сделки. Публичное поле типа Side. Значения перечисления Side:
TimeFrameInTester – сервисная информация для тестера. Нужно во время тестирования на разных таймфреймах по одной бумаге.
Bid – публичное поле типа decimal хранит значение цены лучшего уровня на покупку из стакана заявок на момент создания объекта класса Trade.
Ask – публичное поле типа decimal хранит значение цены лучшего уровня на продажу из стакана заявок на момент создания объекта класса Trade.
BidsVolume – публичное поле типа decimal хранит значение суммарного объема всех уровней на покупку в стакане заявок на момент создания объекта класса Trade.
AsksVolume – публичное поле типа decimal хранит значение суммарного объема всех уровней на продажу в стакане заявок на момент создания объекта класса Trade.
GetSaveString – общедоступный метод, не принимающий параметров, возвращает строку, в которую записаны все поля объекта для дальнейшего сохранения в хранилище.
SetTradeFromString – общедоступный метод принимает строку, содержащую данные по всем полям, парсит ее и инициализирует состояние объекта.
GetSideIqFeed – приватный метод определяет сторону сделки для трейдов, полученных из IqFeed.
В базовом источнике BotTabSimple, о котором мы будем много говорить в наших гайдах, есть возможность подписаться на ленту сделок по инструменту и, анализируя её, принимать решения.
Например, в публичной сборке есть пример TimeOfDayBot, который входит в позицию по наступлении определённого времени, которое он смотрит по входящей ленте сделок:
Удачных алгоритмов!
Комментарии открыты для друзей!
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