Дважды вызывается правило WhenPartiallyMatched, хотя произошла одна сделка


Дважды вызывается правило WhenPartiallyMatched, хотя произошла одна сделка
Atom Reply
6/29/2012


Лог работы стратегии:
Цитата:

20:35:11.550 | | QuikTrader | RegisterOrder: TransactionId=4502221, Id=0, Price=133885, Balance=5, Security=RIU2@RTS, State=None
20:35:11.917 | | QuikTrader | New order: TransactionId=4502221, Id=1653852924, Price=133885, Balance=5, Security=RIU2@RTS, State=Active
20:35:11.917 | | TS_RIU2@RTS_SPBFUT010Lt | Выставлена Sell заявка ('SHORT'). TransactionId=4502221, id=1653852924, цена 133885, V=5, Pos=0
20:35:12.188 | | QuikTrader | Order changed: TransactionId=4502221, Id=1653852924, Price=133885, Balance=5, Security=RIU2@RTS, State=Active
20:35:12.189 | | QuikTrader | Order changed: TransactionId=4502221, Id=1653852924, Price=133885, Balance=5, Security=RIU2@RTS, State=Active
20:35:15.766 | | TS_RIU2@RTS_SPBFUT010Lt | Новая Sell сделка 69988399 по цене 133885 на 1 заявки 4502221.
20:35:15.767 | | QuikTrader | Order changed: TransactionId=4502221, Id=1653852924, Price=133885, Balance=4, Security=RIU2@RTS, State=Active
20:35:15.768 | | TS_RIU2@RTS_SPBFUT010Lt | Новая позиция -1.
20:35:15.805 | | TS_RIU2@RTS_SPBFUT010Lt | WhenPartiallyMatched. TransactionId=4502221, Id=1653852924, цена 133885, средняя цена 133885, V=5, Balance=4. P/L=-305, Pos=-1
20:35:15.859 | | QuikTrader | CancelOrder: TransactionId=4502221, Id=1653852924, Price=133885, Balance=4, Security=RIU2@RTS, State=Active
20:35:15.895 | | TS_RIU2@RTS_SPBFUT010Lt | Подготовлена 'STOP Buy' заявка по цене 134085, V=1 для заявки с Id=1653852924, активации по цене 133965, StopSize=200
20:35:15.897 | | QuikTrader | RegisterOrder: TransactionId=4502223, Id=0, Price=133815, Balance=1, Security=RIU2@RTS, State=None
20:35:16.233 | | QuikTrader | New order: TransactionId=4502223, Id=1653852973, Price=133815, Balance=1, Security=RIU2@RTS, State=Active
20:35:16.234 | | TS_RIU2@RTS_SPBFUT010Lt | Выставлена 'PROFIT Buy' заявка по цене 133815 для заявки с Id=1653852924. TransactionId=4502223, Id=1653852973, V=1, Pos=-1, задержка 00:00:00.3361409
20:35:16.504 | | QuikTrader | Order changed: TransactionId=4502221, Id=1653852924, Price=133885, Balance=4, Security=RIU2@RTS, State=Done
20:35:16.505 | | TS_RIU2@RTS_SPBFUT010Lt | WhenPartiallyMatched. TransactionId=4502221, Id=1653852924, цена 133885, средняя цена 133885, V=5, Balance=4. P/L=-305, Pos=-1
20:35:16.507 | | TS_RIU2@RTS_SPBFUT010Lt | Подготовлена 'STOP Buy' заявка по цене 134085, V=1 для заявки с Id=1653852924, активации по цене 133965, StopSize=200
20:35:16.549 | | QuikTrader | RegisterOrder: TransactionId=4502224, Id=0, Price=133815, Balance=1, Security=RIU2@RTS, State=None
20:35:16.605 | | QuikTrader | Order changed: TransactionId=4502223, Id=1653852973, Price=133815, Balance=1, Security=RIU2@RTS, State=Active
20:35:16.607 | | QuikTrader | Order changed: TransactionId=4502223, Id=1653852973, Price=133815, Balance=1, Security=RIU2@RTS, State=Active
20:35:16.941 | | QuikTrader | New order: TransactionId=4502224, Id=1653852985, Price=133815, Balance=1, Security=RIU2@RTS, State=Active
20:35:16.941 | | TS_RIU2@RTS_SPBFUT010Lt | Выставлена 'PROFIT Buy' заявка по цене 133815 для заявки с Id=1653852924. TransactionId=4502224, Id=1653852985, V=1, Pos=-1, задержка 00:00:00.3919062
20:35:17.211 | | QuikTrader | Order changed: TransactionId=4502224, Id=1653852985, Price=133815, Balance=1, Security=RIU2@RTS, State=Active
20:35:17.212 | | QuikTrader | Order changed: TransactionId=4502224, Id=1653852985, Price=133815, Balance=1, Security=RIU2@RTS, State=Active


Видно что в 20:35:16.505 правило WhenPartiallyMatched активируется второй раз, хотя Position остается равным -1.
В 20:35:15.859 заявка снимается.

Ниже приведен скриншот из квика (заявка зеленым цветом), где также видно что для заявки с Id=1653852924 исполнено было 1, после чего заявка снята.
На правило WhenPartiallyMatched для заявки подписан один раз.
Версия S# 4.1.2

Tags:


Thanks:




10 Answers
paveld

Avatar
Date: 7/2/2012
Reply


Ошибка принята?
Topic starter
Thanks:

esper

Avatar
Programmer
Date: 7/2/2012
Reply


Если выставить
Код
.Once()
для правила, это не поможет избежать данной ситуации?
Thanks:

paveld

Avatar
Date: 7/2/2012
Reply


На правило частичного исполнения нельзя - ведь заявка может много раз исполниться частично
Topic starter
Thanks:

esper

Avatar
Programmer
Date: 7/3/2012
Reply


paveld Перейти
На правило частичного исполнения нельзя - ведь заявка может много раз исполниться частично

Если правило сработает несколько раз по нескольким частичным исполнениям заявки, то мы в любом случае не будем знать на исполнение какого именно объема правило сработало в данный момент, так? Тогда в чем смысл ограничивать количество срабатываний правила, если в любом случае придется самостоятельно высчитывать объем?
Thanks:

paveld

Avatar
Date: 7/3/2012
Reply


esper Перейти
paveld Перейти
На правило частичного исполнения нельзя - ведь заявка может много раз исполниться частично

Если правило сработает несколько раз по нескольким частичным исполнениям заявки, то мы в любом случае не будем знать на исполнение какого именно объема правило сработало в данный момент, так? Тогда в чем смысл ограничивать количество срабатываний правила, если в любом случае придется самостоятельно высчитывать объем?

Наоборот, не ограничиваю количество срабатываний правила. То что объем не определить - это уже понял что он приходит только по правилу OrderChanged.
Количество срабатываний правила частичного исполнения заявки должно быть равно количеству трейдов по этой заявке. Помоему логично. Поэтому хочется понять так ли это на самом деле или это все таки ошибка.
Topic starter
Thanks:

paveld

Avatar
Date: 7/4/2012
Reply


Уважаемые разработчики библиотеки!
Ответьте хотя бы ошибка это или так и задумано было.
Topic starter
Thanks:

Alexander

Avatar
Date: 7/5/2012
Reply


Да, бага есть. Будем думать как поправить.
Thanks:

paveld

Avatar
Date: 7/25/2012
Reply


Alexander Mukhanchikov Перейти
Да, бага есть. Будем думать как поправить.


Подскажите пожалуйста, исправляли баг или нет7
Topic starter
Thanks:

Alexander

Avatar
Date: 7/25/2012
Reply


paveld Перейти
Alexander Mukhanchikov Перейти
Да, бага есть. Будем думать как поправить.


Подскажите пожалуйста, исправляли баг или нет7



Нет, по срокам пока тоже неизвестно. Большое исправление должно быть.
Thanks:

esper

Avatar
Programmer
Date: 10/18/2012
Reply


В 4.1.5 поправили правило. Просьба проверить ушла ли ошибка.
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy