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


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


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

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

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

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


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

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

Теги:


Спасибо:


Alexander

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


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


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

loading
clippy