Восстановление заявок после обрыва связи

Страницы: 1
RSS
Восстановление заявок после обрыва связи
 
Здравствуйте. Иногда бывает такое, что робот пытаясь либо выставить заявку, либо изменить её, либо снять, отправляет транзакцию, и не дождавшись ответа, происходит обрыв связи с сервером. Когда связь восстанавливается, робот не знает, что случилось с заявкой. Я пытаюсь получить состояние заявки из таблицы заявок, но проблема в том, что при восстановлении связи окно квика часто зависает на некоторое время, и в это время getOrder_by_ID и getOrder_by_Number возвращают ответ, аналогичный ответу при отсутствии заявки, хотя заявка на самом деле существует. Когда квик перестаёт висеть, приходит нормальный ответ с существующей заявкой. Но как роботу понять, перестал квик висеть или нет, я не знаю. Есть ли какое-то решение, как роботу корректно восстановить статусы заявок, которые ему неизвестны, после восстановления связи?
 
Это так часто уже обсуждалось на форуме. Необходимо организовать процедуру ожидания загрузки данных с сервера брокера. К сожалению, разработчики считают, что это не проблема, поэтому никаких конкретных методов для этого нет.

Что можно сделать:
- Сравнивать время последнего полученного пакета и время сервера, чтобы расхождение укладывалось в допустимую дельту.
- Также можно сравнивать время сервера и локальное время, но оно должно быть точным.
- Если в процессе работы были установлены ордера, то необходимо запоминать число записей в таблицах и после восстановления связи ожидать пока там не появится необходимое число записей, или хотя бы отличное от нуля.
- Ожидать загрузки таблиц денежных лимитов и лимитов срочной секции (если есть)

т.е. процедуры проверки, что в таблицах данные есть, что пакеты данных догнали время сервера.
 
Nikolay, спасибо, конечно, но это всё ненадёждные методы. А как найти то, что уже обсуждалось на форуме? Я немного поискал, но ничего не нашёл.
Страницы: 1
Читают тему
Наверх