Изображение блога
OS_Engine_team
OS_Engine_team Блог компании Os_Engine
29 июля 2024, 10:55

Сделки по собственному счёту. Класс MyTrade. Примитивы в OsEngine #6

Продолжаем связывать данные из терминалов на бирже с тем, как это видят роботы.

Сегодня поговорим про сделки по нашему счёту. Они появляются в момент исполнения наших ордеров. В своих вёб-терминалах мы видим их примерно так:

Сделки по собственному счёту. Класс MyTrade. Примитивы в OsEngine #6 

1. Что такое моя сделка на бирже?

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

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

Итого, процесс генерации моей сделки выглядит так:

  1. Вы выставляете ордер на покупку или продажу.
  2. Ордер исполняется. Полностью или частично.
  3. Об этом генерируется запись биржей.
  4. Нам высылается MyTrade. Сделка по нашему счёту. Одна или несколько по одному ордеру.

 

2. Класс MyTrade в OsEngine.

В проекте описанием собственных сделок занимается класс MyTrade. На ГитХаб этот примитив можно посмотреть здесь: https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Entity/MyTrade.cs

В проекте данный класс расположен здесь:

Сделки по собственному счёту. Класс MyTrade. Примитивы в OsEngine #6

Сам класс выглядит так:

Сделки по собственному счёту. Класс MyTrade. Примитивы в OsEngine #6

Структура класса MyTrade:

Volume – публичное поле типа decimal. Хранит объем операции.

Price – публичное поле типа decimal. Содержит цену инструмента, по которой прошла сделка.

NumberTrade – публичное поле строкового типа, уникальный идентификатор в рамках конкретного инструмента, устанавливаемый биржей. 

NumberOrderParent – публичное поле строкового типа. Хранит идентификатор родительского ордера, исполнение которого привело к появлению этой сделки.

SecurityNameCode – общедоступное свойство строкового типа содержит наименование актива, по которому прошла эта сделка.

Time – публичное поле типа DateTime. Указывает дату и время совершения торговой сделки.

MicroSecond – публичное поле типа int. Хранит количество микросекунд, прошедших с момента времени, указанного в поле Time. Важно помнить, что не все биржи предоставляют эту информацию. Поэтому в случае отсутствия такой информации на бирже в поле будет храниться 0.

Side – публичное поле типа Side. Указывает направление сделки. Направление собственной сделки всегда совпадает с направлением родительского ордера.

Значения перечисления Side:

  • None — используется при создании объектов, когда направление сделки не определено.
  • Buy — покупка.
  • Sell — продажа.

GetStringFofSave – общедоступный метод, не принимающий параметров, возвращает строку, в которую записаны все поля объекта для дальнейшего сохранения в хранилище.

SetTradeFromString – общедоступный метод. Принимает строку, содержащую данные по всем полям, парсит ее и инициализирует состояние объекта.

ToolTip – публичное свойство типа string. Формирует строковое представление сделки для отображения в качестве всплывающей подсказки на графике при наведении курсора мыши на сделку.

Удачных алгоритмов!

Комментарии открыты для друзей!

Сделки по собственному счёту. Класс MyTrade. Примитивы в OsEngine #6

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

Сделки по собственному счёту. Класс MyTrade. Примитивы в OsEngine #6

0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн