← Zurück

Цена реальной сделки

Регистрирую заявку допустим покупка по цене 25075 объемом 50 лотов. В стакане несколько заявок/бидов на продажу (по цене 25060, 25065 и 25070) и моя заявка должна собрать весь объемом этих трех заявок.

В OrderChange у объекта заявки приходит цена заявки, которая указана при ее создании, но по факту реальная цена сделки средняя между 25060/25065/25070. В этом случае в OrderChange не приходит частичное исполнение заявки, а приходит одно событие, что заявка исполнилась, т.к. она собрала объем этих трех заявок и состояние заявки исполнена. Как оптимально и быстро узнать реальную цену совершенных сделок? Мало ли кто-то быстро поставит большой объем в 25060 и сделка совершится по этой цене. Мне для точных расчетов необходимо знать точную/реальную цену сделки, которая совершилась на бирже по факту.

В квике есть Таблица сделок. В ней, как раз показываются все исполненные сделки с указанием Id заявки, реальной цены сделки на бирже, по которой прошла сделка и объем этой сделки.

War dieses Thema hilfreich?

Thema teilen

Kommentare (3)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Георгий
Георгий

Например как-то так:

_price = Volume * Security.ShrinkPrice(this.MyTrades.Where(s => s.Trade.Security == Security).GetAveragePrice());

vovka_
Георгий
Георгий

Если нужна цена каждой сделки, то в MyTrades ищите по номеру ордера все связанные сделки

vovka_
Knup
Knup

Можете использовать правило WhenNewTrade для ордера

order.WhenNewTrade(Connector) .Do(mytrade => ) .Apply(this);

и отлавливать каждую сделку, исполненную по заявке. В mytrade.Trade.Volume будет указан объём сделки, в mytrade.Trade.Price - цена.

vovka_