Изменение баланса по заявке после того как статус был изменен на Done


Изменение баланса по заявке после того как статус был изменен на Done
Atom
8/6/2012


Добрый день, уже однажды поднимал тему в техподдержке,

Quote:
Ситуация такая, стратегия отправляет заявки на биржу метод RegisterOrder(Order) и по таймауту или исполнению некого условия снимает через метод Trader.CancelOrder(Order). Учет закрытых позиций и цены происходит при событии появлении новой сделки order.NewTrades() (нужно для работы робота),
По событию снятия заявки .Order.Canceled() или её полного исполнения заявка считается закрытой.

В каждом событии стоит проверка - если статус заявки Done и количество учтенных роботом позиций равно ОбъемЗаявки - БалансЗаявки. То исключаем её из списка робота, и считаем что закрыта, т.е. робот считает что вся информация по заявке получена.
Учитывается ситуация если сделки пришли позже, чем заявка была снята/исполнена, так же есть обработка события неудачной отмены заявки. Код основательно перерыт и перепроверен.

Но иногда возникает ситуация когда условие проверки выполняется заявка исключается, но Робот учитывает не все сделки прошедшие по заявке.Причина в том, что после того, как статус заявки становится Done, а баланс по ней ещё может изменится.
Сейчас все работает на тестовом сервере РТС, Forts Plaza - II.


Версия s# новая, и периодически обновляется, но проблему это не решает.

решение так и не было найдено, в связи с чем возник вопрос, если перейти на Quik избежать такой ситуации? Или это внутренняя логика S# и не зависит от коннектора?

Tags:


Thanks:


Alexander

Avatar
Date: 8/7/2012
Reply


Приведите пример с изменённым балансом после состояния Done
Thanks:


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

loading
clippy