Событие QuikConnected.
Atom Ответить
15.06.2010


Добрый вечер.
В предыдущих версиях библиотеки было события ConnectionChanged,
которое при разрыве связи с сервером
делало исключение с кодом QuikDisconnected. А если соединение
восстанавливалось, то с кодом QuikConnected.

В текущей реализации появляется исключение только при разрыве
соединения с сервером (QuikDisconnected).
А при обратном соединении никаких исключений в событии
BaseTrader.ConnectionError не появляется.

Это нововведение или баг?

Как узнать о восстановлении соединения, если оно было перед этим
потеряно?

Теги:


Спасибо:




8 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 15.06.2010
Ответить


Нововведение. Есть три события:

Connected - соединение установлено (первый раз или после разрыва).
Disconnected - соединение разорвано программой.
ConnectionError - соединение разорвано по ошибке.

Есть еще событие ReConnectionManager.ConnectionRestored. По всей
видимости, его Вы и ищете.

Спасибо:

Maxim

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


Спасибо за ответ.

ReConnectionManager -- это не то что мне нужно.
Считаю, что если произошел сбой где либо, то необходимо
все закрыть и уведомить пользователя (по СМС например).
А дальше пользователь должен реагировать и разбираться,
в чем проблема (в Квике, в программе, в сервере, в магнитных бурях...)

В этих случаях ReConnectionManager считаю ненадежно и рискованно
использовать.

Единственный случай, который можно обрабатывать автоматически -- это
разрыв связи Квика с сервером. В этом случае в принципе ничего делать
не нужно,
надо только уведомить пользователя о разрыве соединение, и о его
восстановлении.

BaseTrader.ConnectionError позволяет обработать событие разрыва, а вот
когда соединение
восстанавливается -- не позволяет. Жаль. А раньше можно было.

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 16.06.2010
Ответить


Событие восстановления - это ITrader.Connected и
ReConnectionManager.ConnectionRestored. А почему последнее не
подходит? Чудо он конечно не сделает, но информирует стабильно.

Спасибо:

sergun

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


Скажите, а нужно ли в дополнение к ReConnectionManager реализовывать
некоторую логику для возобновления экспорта по DDE?
Или проблем с DDE при "обрывах" не будет?
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 17.06.2010
Ответить


Если квик падает, то нужно. Если нет, то не нужно. Признака упал квик
или нет у меня нет. Но можно после перезапуска воспользоваться
событиемhttps://stocksharp.ru/doc/help/html/E_Ecng_Trading_Algo_ReConnectionManager_ExportTimeOut.htm.
А если по простому, то просто всегда перезапускайте.

Спасибо:

Maxim

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


Я бы то же оставил как есть.
Так как написана программа у меня с учетом того,
что есть сейчас. Не очень хочется переписывать логику.

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

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 17.06.2010
Ответить


О чем речь?

Спасибо:

Maxim

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


Сори. Ошибся веткой.
Этот ответ был касательно нововведений о состояние заявок.

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


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

loading
clippy