Контроль наличия соединения с сервером брокера.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladimir Simakov
6127
Vladimir Simakov  

Столкнулся с проблемой.

При физическом обрыве сетевого соединения, функция IsConnected(), работающая в обработчике событий OnTimer(), продолжает возвращать true до тех пор, пока терминалом не будет выполнен неудачный запрос серверу брокера, а этого без действия пользователя не происходит.

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

Уважаемые разработчики, просьба поправить это.

Mislaid
664
Mislaid  
Vladimir Simakov:

Столкнулся с проблемой.

При физическом обрыве сетевого соединения, функция IsConnected(), работающая в обработчике событий OnTimer(), продолжает возвращать true до тех пор, пока терминалом не будет выполнен неудачный запрос серверу брокера, а этого без действия пользователя не происходит.

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

Уважаемые разработчики, просьба поправить это.

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

Держите индикатор. Он начинает пищать, когда возникает проблема со связью. Обычное решение - перелогин терминала

Файлы:
Vladimir Simakov
6127
Vladimir Simakov  
Mislaid:

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

Держите индикатор. Он начинает пищать, когда возникает проблема со связью. Обычное решение - перелогин терминала

И что на выходе? Факт превышения времени ожидания тика?

А если мне надо здесь и сейчас уверенность в наличии связи с брокером, то что?

Mislaid
664
Mislaid  
Vladimir Simakov:

И что на выходе? Факт превышения времени ожидания тика?

А если мне надо здесь и сейчас уверенность в наличии связи с брокером, то что?

Вам сказали - перелогин

Вообще-то мне приятно, что Вы за такой короткий срок смогли вникнуть в алгоритм. Удачи!

Taras Slobodyanik
38162
Taras Slobodyanik  
Vladimir Simakov:

Столкнулся с проблемой.

При физическом обрыве сетевого соединения, функция IsConnected(), работающая в обработчике событий OnTimer(), продолжает возвращать true до тех пор, пока терминалом не будет выполнен неудачный запрос серверу брокера, а этого без действия пользователя не происходит.

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

Уважаемые разработчики, просьба поправить это.

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

Тут где-то был клуб телепатов)

Mislaid
664
Mislaid  
Taras Slobodyanik:

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

Тут где-то был клуб телепатов)

Уважаемый Тарас. Нас с такой проблемой уже двое. Проблема не в коде, проблема в реакции платформы. Парадокс в том, что программными средствами приходится отлавливать баги: в данном случае - задержка прихода котировок. Ситуация нечастая, но, иногда возникает. Если Вы этого не замечали, то, скорее всего intraday это не Ваш случай

Код ваще рядом не стоял. В терминал тупо не приходят котировки.

Vladimir Simakov
6127
Vladimir Simakov  

Самое интересное, что проблема возникает, когда терминал установлен на машине, которая работает в локальной сети и в инет выходит через Proxy.

Посты на тему Proxy прошу не разводить, так как делался физический разрыв соединения, тупо выдергивалась витая пара. При этом терминал продолжает показывать, что связь есть.

Дома никаких проблем, через 1-1,5 с терминал показывает, что связь потеряна.

Alexey Viktorov
27695
Alexey Viktorov  

Возможно это проблема не терминала. Три дня назад я заменил роутер и начались проблемы со связью. Значок рядом с часами показывает что соединение с роутером есть, доступ в интернет есть, а рядом крутится значок скайпа в поисках соединения. Запускаю firefox и ни одна страница не открывается.

В общем, я не исключаю вариант, что алгоритм проверки наличия связи вообще никудышный. И этим алгоритмом пользуются все.

Vladimir Simakov
6127
Vladimir Simakov  
Alexey Viktorov:

Возможно это проблема не терминала. Три дня назад я заменил роутер и начались проблемы со связью. Значок рядом с часами показывает что соединение с роутером есть, доступ в интернет есть, а рядом крутится значок скайпа в поисках соединения. Запускаю firefox и ни одна страница не открывается.

В общем, я не исключаю вариант, что алгоритм проверки наличия связи вообще никудышный. И этим алгоритмом пользуются все.

Вот и я про это.
Alexey Viktorov
27695
Alexey Viktorov  
Vladimir Simakov:
Вот и я про это.

Судя по предыдущим сообщениям, не совсем про это. Я имел в виду, что не только MQ пользуется этим алгоритмом. Или принято проверять наличие соединения опрашивая сетевое оборудование, а оно выдаёт что соединение есть и пока не получишь ошибку соединения, не поймёшь что нет связи. Как-то так.

Taras Slobodyanik
38162
Taras Slobodyanik  
Mislaid:

Уважаемый Тарас. Нас с такой проблемой уже двое. Проблема не в коде, проблема в реакции платформы. Парадокс в том, что программными средствами приходится отлавливать баги: в данном случае - задержка прихода котировок. Ситуация нечастая, но, иногда возникает. Если Вы этого не замечали, то, скорее всего intraday это не Ваш случай

Код ваще рядом не стоял. В терминал тупо не приходят котировки.

Да, не замечал ни разу, у меня IsConnected() работает нормально, и в таймере и в онтике.
Поэтому и написал, что нужно начинать с проверки кода/железа/винды.

пс. а котировки задерживаются постоянно, потому как брокер отправляет их не по таймеру, а по совершению сделок. И открывать свои позиции можно не по тику, а в любой момент.

ппс. кстати, спящий режим отключен?

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий