ConnectionError не срабатывает
Atom Ответить
21.03.2019


Здравствуйте! Пытаюсь отловить событие прерывания подключения. Когда закрываю терминал quik при подключенном алгоритме то ни ConnectionErrorEx, ни ConnectionError, ни Disconnected не срабатывает, хотя в лог начинают сыпаться ошибки подключения.



Спасибо:




5 Ответов
Константин

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


Вопрос актуален.
Автор топика
Спасибо:

Support

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


Добрый день

Приведите пожалуйста код инициализации коннектора.
Спасибо:

Константин

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


Все настройки по умолчанию.
Code
_connector= new Connector();
_connector.Adapter.InnerAdapters.Add(new LuaFixTransactionMessageAdapter(_connector.TransactionIdGenerator));
_connector.Adapter.InnerAdapters.Add(new LuaFixMarketDataMessageAdapter(_connector.TransactionIdGenerator));

Автор топика
Спасибо:

Support

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


Добрый день

По умолчанию, ошибки разрыва связи не транслируются, так как один коннектор может содержать несколько адаптеров внутри себя (у вас их два), и каждый адаптер делает независимое переподключение, не приводя весь коннектор в состояние потери связи. Вы можете отключить это поведение:

Code
Connector.Adapter.SuppressReconnectingErrors = false;
Спасибо: Константин Дмитрий_

Alexander

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


Имейте также в виду, что StockSharp не транслирует ошибки при работе с Quik еще как минимум в следующих случаях:
1. При попытке выставить или снять заявку, если соединение между квиком и сервером прервалось.
2. При ответе с сервера квика "Количество транзакций превышает максимально разрешённое N в секунду".

В обоих этих случаях реально заявка не устанавливается (или не снимается, в зависимости от того, что пытались сделать), но события OrderRegisterFailed и OrderCancelFailed не приходят. Поэтому код, который рассчитывает на получение фидбека по своему действию, будет просто бесконечно его ждать, а код, который фидбека не ждет, будет ошибочно рассчитывать, что, например, заявка была снята, чего на самом деле не произойдет.

Это очень неприятный баг, который не дает возможности надежно снимать и ставить заявки вообще в принципе.
Спасибо:


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

loading
clippy