Подскажите, пожалуйста, как осуществлять контроль из советника соединение с сервером?

 
Нужно решить проблему сбоев при разрыве связи с сервером или отключения интернета. Как осуществлять контроль из советника соединение с сервером, чтобы при потери связи, в момент ее восстановления, ввести запрет на открытие ордеров на определенный интервал времени?
 
Angela:
Нужно решить проблему сбоев при разрыве связи с сервером или отключения интернета. Как осуществлять контроль из советника соединение с сервером, чтобы при потери связи, в момент ее восстановления, ввести запрет на открытие ордеров на определенный интервал времени?
Интересно, как это советник сможет открыть ордера при отсутствии коннекта с сервером?
 
Angela:
Нужно решить проблему сбоев при разрыве связи с сервером или отключения интернета. Как осуществлять контроль из советника соединение с сервером, чтобы при потери связи, в момент ее восстановления, ввести запрет на открытие ордеров на определенный интервал времени?

Как самый простой вариант - смотреть когда пришел предыдущий тик и если разница с текущим временем более NN, то запретить временно торговлю


Для Reshetov:

Просят не открывать ордера без связи, а НЕ открывать ордера при обрыве и восстановлении некоторое время, перечитайте

 
Reshetov:
Интересно, как это советник сможет открыть ордера при отсутствии коннекта с сервером?

Советник открывает ордер не при отсутствии соединения, а в момент установления соединения.
 
ilunga:

Как самый простой вариант - смотреть когда пришел предыдущий тик и если разница с текущим временем более NN, то запретить временно торговлю


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

Нужно именно, на уровне функций вести контроль из советника. Где-то на форуме было обсуждение подобных вопросов, не могу найти.

 
Такая функция есть в MQL4. Мож поможет?
 
Zhunko:
Такая функция есть в MQL4. Мож поможет?

Спасибо.
 
Angela:

Спасибо.
Но вопрос остался открытый. Как определить, что был разрыв связи и связь восстановилась? Функцией IsConnected()
мы можем контролировать наличие соединения, т.к. советник работает когда приходят тики, если произошел разрыв связи, советник в это время работать не может, и, соответственно, не может произвести контроль состояния. После восстановления соединения, советник задним числом не может определить, что был разрыв, он воспримет этот разрыв как большой интервал между тиками. Какое решение может быть?
 
Angela:
Но вопрос остался открытый. Как определить, что был разрыв связи и связь восстановилась? Функцией IsConnected()
мы можем контролировать наличие соединения, т.к. советник работает когда приходят тики, если произошел разрыв связи, советник в это время работать не может, и, соответственно, не может произвести контроль состояния. После восстановления соединения, советник задним числом не может определить, что был разрыв, он воспримет этот разрыв как большой интервал между тиками. Какое решение может быть?
Разрешение - зелёная "лампочка"!
Файлы:
connect_2.mq4  3 kb
 
Roll:
Разрешение - зелёная "лампочка"!

Поясните, пожалуйста, логику работы этого индикатора.
 
Angela:

Поясните, пожалуйста, логику работы этого индикатора.


Логика в коде скрипта. Бросаете на график и смотрите сигнал при вкл/откл связи с инетом.

Внешняя переменная - количество секунд задержки после вкл.

Советник "следит" за объектом скрипта.

Для нескольких советников требуется работа с глобальной переменной.

Причина обращения: