← Назад

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

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

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

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

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

Комментарии (16)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

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 Автор

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

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