Я не предлагаю использовать OnTransReply для проверки состояния сессии.
OnTransReply вызывается в том числе когда мы
выставляем заявку и получаем сообщения:
"Сейчас эта сессия не идет"
"Идет пром. клиринг, нельзя совершать торговые операции"
"Инструмент недопустим в аукционе открытия"
"Торги по этому финансовому инструменту сейчас не проводятся"
"Превышен лимит отправки транзакций для данного логина"
...
И робот видит этот вызов и что он произошел на конкретную транзакцию и дальше обрабатывает эту ошибку.
Сейчас речь идет о том, что при попытке
снять заявку вызов OnTransReply не произошел и робот ждет ответ на снятие, но в ответ - ничего. Только сообщение в таблице сообщений которое он не видит.
И нам остается проверять состояние сессии и делать
предположение о том, что заявка не снята потому-что попытка снятия отклонена с ошибкой "Сейчас эта сессия не идет."
А если вызов OnTransReply происходил еще и при
снятии, то в робота не пришлось бы включать предположения, он мог бы обработать конкретную ситуацию.
Цитата |
---|
Nikolay написал: Подавать их необходимо когда торги по инструменту проводятся. |
Цитата |
---|
Владислав написал: Мы можем проверять состояние сессий перед отправкой транзакции, но даже так мы будем натыкаться на ошибки транзакций в первые секунды неторгового времени. |