Брокер ответил. Всё оказалось до банального просто.
Когда я ещё тестировал исполнение заявок, то на самом деле уже сталкивался с этой ошибкой. И забыл:)
Меня ещё тогда поразил неадекватный перевод сообщения.
Вспомнил, когда брокер ответил.
Итак,
Order depth should be positive означает Количество в заявке должно быть положительно.
Хорошо, что она произошла, помогла найти серьёзный баг в коде:)
Ещё немного полезной информации.
QUIK с английским интерфейсом на все ошибки, у которых один статус транзакции выдаёт одинаковое сообщение.
Например:
срабатывает коллбек OnTransReply(trans_reply) с trans_reply.status = 4русский QUIK может вывести (формулировки могут слегка отличаться):
- Сейчас эта сессия не идёт
- Не удалось свести FOK заявку
- Заявка book-or-cancel не выставлена, так как это привело бы к её немедленному исполнению
- ...
английский же на все эти ошибки выведет:
- Transaction checking failed
При этом все имеющиеся поля у
trans_reply будут одинаковые.
Таким образом, отличить данные ошибки в английской версии QUIK можно только эвристически:)
Всем спасибо за уделённое время.