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


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


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

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:


paveld

Avatar
Date: 7/2/2012
Reply


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

esper

Avatar
Date: 7/2/2012
Reply


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

paveld

Avatar
Date: 7/2/2012
Reply


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

esper

Avatar
Date: 7/3/2012
Reply


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

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

paveld

Avatar
Date: 7/3/2012
Reply


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

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

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

paveld

Avatar
Date: 7/4/2012
Reply


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

Alexander

Avatar
Date: 7/5/2012
Reply


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

paveld

Avatar
Date: 7/25/2012
Reply


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


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

Alexander

Avatar
Date: 7/25/2012
Reply


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


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



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

esper

Avatar
Date: 10/18/2012
Reply


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


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

loading
clippy