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


Дважды вызывается правило WhenPartiallyMatched, хотя произошла одна сделка
Atom Ответить
29.06.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

Теги:


Спасибо:



Скидка 15% на все обучение до 5 апреля (осталось 2 дней).

10 Ответов
paveld

Фотография
Дата: 02.07.2012
Ответить


Ошибка принята?
Автор топика
Спасибо:

esper

Фотография
Программист
Дата: 02.07.2012
Ответить


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

paveld

Фотография
Дата: 02.07.2012
Ответить


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

esper

Фотография
Программист
Дата: 03.07.2012
Ответить


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

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

paveld

Фотография
Дата: 03.07.2012
Ответить


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

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

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

paveld

Фотография
Дата: 04.07.2012
Ответить


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

Alexander

Фотография
Дата: 05.07.2012
Ответить


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

paveld

Фотография
Дата: 25.07.2012
Ответить


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


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

Alexander

Фотография
Дата: 25.07.2012
Ответить


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


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



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

esper

Фотография
Программист
Дата: 18.10.2012
Ответить


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


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy