Продолжаем связывать данные из терминалов на бирже с тем, как это видят роботы.
Сегодня поговорим про сделки по нашему счёту. Они появляются в момент исполнения наших ордеров. В своих вёб-терминалах мы видим их примерно так:
В одной из предыдущих статей мы говорили об обезличенных сделках, которые доступны всем участникам торгов. В этой поговорим про собственные сделки, которые отличаются от обезличенных расширенным набором информации и доступны только их владельцу.
Как мы знаем, все сделки генерируются в момент исполнения ордеров, следовательно, каждая собственная сделка в дополнение к полям, присутствующим в обезличенных трейдах, будет содержать номер своего ордера-родителя.
Итого, процесс генерации моей сделки выглядит так:
В проекте описанием собственных сделок занимается класс MyTrade. На ГитХаб этот примитив можно посмотреть здесь: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Entity/MyTrade.cs
В проекте данный класс расположен здесь:
Сам класс выглядит так:
Структура класса MyTrade:
Volume – публичное поле типа decimal. Хранит объем операции.
Price – публичное поле типа decimal. Содержит цену инструмента, по которой прошла сделка.
NumberTrade – публичное поле строкового типа, уникальный идентификатор в рамках конкретного инструмента, устанавливаемый биржей.
NumberOrderParent – публичное поле строкового типа. Хранит идентификатор родительского ордера, исполнение которого привело к появлению этой сделки.
SecurityNameCode – общедоступное свойство строкового типа содержит наименование актива, по которому прошла эта сделка.
Time – публичное поле типа DateTime. Указывает дату и время совершения торговой сделки.
MicroSecond – публичное поле типа int. Хранит количество микросекунд, прошедших с момента времени, указанного в поле Time. Важно помнить, что не все биржи предоставляют эту информацию. Поэтому в случае отсутствия такой информации на бирже в поле будет храниться 0.
Side – публичное поле типа Side. Указывает направление сделки. Направление собственной сделки всегда совпадает с направлением родительского ордера.
Значения перечисления Side:
GetStringFofSave – общедоступный метод, не принимающий параметров, возвращает строку, в которую записаны все поля объекта для дальнейшего сохранения в хранилище.
SetTradeFromString – общедоступный метод. Принимает строку, содержащую данные по всем полям, парсит ее и инициализирует состояние объекта.
ToolTip – публичное свойство типа string. Формирует строковое представление сделки для отображения в качестве всплывающей подсказки на графике при наведении курсора мыши на сделку.
Удачных алгоритмов!
Комментарии открыты для друзей!
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