← Zurück

Изменение позиции

Коллеги, подскажите, плз, как правильно определять момент изменения позиции? Я так понял, что в этом может помочь событие PositionsChanged, но оно вызывается чаще, чем мне бы хотелось.

"События вызываются всегда, когда Квик через ДДЕ посылает обновление таблицы с позициями. А происходит это не только тогда, когда происходит сделка. В этой таблице есть и поля, которые изменяются постоянно." Mikhail Sukhov

Теоретически я могу устанавливать свой флаг при срабатывании NewMyTrades и только после этого события обрабатывать PositionsChanged, но подозреваю, что можно сделать проще.

2 Mikhail - так можно задавать вопросы?

War dieses Thema hilfreich?

Thema teilen

Kommentare (16)

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

Mikhail Sukhov
Mikhail Sukhov

vfreeman: 2 Mikhail - так можно задавать вопросы?

😂 Нормуль.

Перенес в Квик.

dvoris
dvoris

Присоединюсь.. как отследить - отследим, просто хотелось бы понять, почему такое поведение.

Событие PositionsChanged возникает многократно, не совсем понятно почему. Таблица "позиции" в квике настроена по минимуму (входящий остаток, текущий и т.д.). По идее, ничего другого там не меняется.

16:28:03 : New order: 2140122385 13:27:28 SBER03 Buy 1 0 16:28:03 : New trade: 1221926362 13:27:28 SBER03 1 98.88 16:28:03 : Change position: SBER03 10 0 16:28:03 : Change position: SBER03 10 0 16:28:03 : Change position: SBER03 10 0 16:28:03 : Change position: SBER03 10 0 16:21:06 : Change position: SBER03 10 0 16:21:06 : New order: 2140024860 13:20:31 SBER03 Buy 1 0 16:21:06 : New trade: 1221921391 13:20:31 SBER03 1 98.75 16:21:06 : Change position: SBER03 10 0 16:21:06 : Change position: SBER03 10 0 16:21:06 : Change position: SBER03 10 0

rtDen
rtDen

Апну тему, хотелось бы услышать ответ на этот вопрос (почему постоянно вызывается событие QuikTrader.PositionsChanged).

vfreeman
vfreeman Autor

rtDen: Апну тему, хотелось бы услышать ответ на этот вопрос (почему постоянно вызывается событие QuikTrader.PositionsChanged).

вызов события не означает изменение события я в свое время включил дополнительный фильтр в обработку этого события - отслеживал изменение CurrentValue объекта Position

ps: оказывается я создал этот топик 10 месяцев назад 😀

rtDen
rtDen

vfreeman: я в свое время включил дополнительный фильтр в обработку этого события - отслеживал изменение CurrentValue объекта Position

Скорее всего, сделаю так же

Alexander
Alexander

rtDen: Апну тему, хотелось бы услышать ответ на этот вопрос (почему постоянно вызывается событие QuikTrader.PositionsChanged).

Посмотрел по коду - поднимается только если приходит DDE изменение по таблице позиций на рынке акций или деривативов. Распечатайте всё что вам приходит и покажите изменения.

сейчас пришло по Dde - мы записали это всё - подняли событие

rtDen
rtDen

Alexander Mukhanchikov: Распечатайте всё что вам приходит и покажите изменения. Честно говоря, не понял, что нужно сделать. Таблицы "Позиции по деривативам" и "Позиции по бумагам" в квике не меняются, при вызове события "private void trader_PositionsChanged(IEnumerable<Position> positions)" в positions имеется одна позиция, по RIM2, CurrentValue BlockedValue и т.д. в ней каждый раз одинаковые.

Alexander
Alexander

rtDen:

Alexander Mukhanchikov: Распечатайте всё что вам приходит и покажите изменения. Честно говоря, не понял, что нужно сделать. Таблицы "Позиции по деривативам" и "Позиции по бумагам" в квике не меняются, при вызове события "private void trader_PositionsChanged(IEnumerable<Position> positions)" в positions имеется одна позиция, по RIM2, CurrentValue BlockedValue и т.д. в ней каждый раз одинаковые.

Покажите скриншот данной таблицы в квике, которая экспортируется.

rtDen
rtDen

Таблицы

Alexander
Alexander

Спасибо, буду детально проверять. Вообще по DDE должны передаваться только строки таблицы, если в них были изменения.

Если нет - будем пинать Квик и попробуем у себя учесть эти очередные "особенности".

rtDen
rtDen

Спасибо Вам за быстрое реагирование.

Alexander
Alexander

Это 4.0.23, да?

rtDen
rtDen

Да

Alexander
Alexander

Багу подтверждаю, похоже бага Квика.

Отписался у них на форуме - http://quik.ru/forum/iwr/87354/87354/

Ждём ответа.

Внутри S# править неправильно - на клиентской части стоит тогда пока фильтровать данное поведение.

Alexander
Alexander

Alexander Mukhanchikov: Багу подтверждаю, похоже бага Квика.

Отписался у них на форуме - http://quik.ru/forum/iwr/87354/87354/

Ждём ответа.

Внутри S# править неправильно - на клиентской части стоит тогда пока фильтровать данное поведение.

У кого возникает проблема - просьба выслать им архив какой они просят.

rtDen
rtDen

Ясно, пока добавлю доп. фильтр.