Ошибка 146 - страница 2

 
Provider_Signal:

 как обработать ошибки открытия ордера. Когда ticket<0. 

Цикл на несколько попыток открытия со слипом ?  

На мой взгляд такой подход - плохое решение. Во-первых, использование в программах функции Sleep следует избегать. То есть использовать ее стоит лишь в безвыходных ситуациях (как приведено выше с ожиданием освобождения торгового потока). А, во-вторых, во время ожидания уже много, чего может измениться, в том числе пропасть условия для формирования торгового сигнала. Поэтому логичнее при получении ошибки обработать ее в плане выдачи соответствующих сообщений в лог и перейти к ожиданию следующего тика. В итоге программа заново запустит алгоритм принятия решения о необходимости отправки торгового запроса и вполне осознанно отправит его.

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

 Да, и можно как-то сообщить пользователю когда пропадает интернет ?

Наличие/отсутствие интернета можно проверить, проведя чтение какой-нибудь заведомо рабочей web-страницы. А это уже использование функции WebRequest.

Если же речь идет о проверке соединении с сервером брокера, то можно использовать IsConnected(). На этом, помнится, Андрей собаку съел в свое время. Я уже не помню подробностей, но где-то целая тема была.

 
Понял, спасибо еще раз большое. 
 
Andrey Khatimlianskii:

Поддерживаю: нужно работать по тикам, и тогда пропажу связи проверять не будет смысла.

Разве что, тревогу поднять, но с помощью чего? Интернета же нету ;)

Таймер --> отсутствие изменений цены длительное время --> отправка Push на мобилу "Шеф, всё пропало!!!" :))

Не проверял правда push при отсутствии связи...

 
Andrey Khatimlianskii:

Будет работать, если проблемы с сервером брокера.

А если интернет пропал на машине с терминалом, то пуш не отправится. 

Жаль. Но на четвёртом форуме как-то уже мусолили данный вопрос. Воды много утекло, может уже и не работать принятое там решение. Правда какое оно было - убей, не вспомню... Что-то через сторонние смс-сервисы.
 
Andrey Khatimlianskii:
Работать будет сторонний сервис мониторинга, который, в случае отсутствия сигнала от советника в течении Х секунд, уведомит пользователя. Сервис на ВПС. Советник периодически отправляет сообщение, что он жив.
Обсуждалось о работе советника на домашнем компе. И его верификация при помощи какого-то смс-сервиса. Если с компа не отправилось что-то на мэйл-сервис, то он и отправлял смс на телефон. Что-то такое обсуждалось - ну не помню уже точно.
 
Artyom Trishkin:
Обсуждалось о работе советника на домашнем компе. И его верификация при помощи какого-то смс-сервиса. Если с компа не отправилось что-то на мэйл-сервис, то он и отправлял смс на телефон. Что-то такое обсуждалось - ну не помню уже точно.

Вот это?

Все равно СМС менее надежны, да и не спасет это от выключения домашнего ПК — в этом случае отправлять алерт будет некому.

Работа с GSM-модемом из эксперта на MQL5
Работа с GSM-модемом из эксперта на MQL5
  • 2013.12.10
  • Serhii Shevchuk
  • www.mql5.com
На текущий момент существует достаточно средств для комфортного удалённого мониторинга торгового счёта: мобильные терминалы, push-уведомления, работа с ICQ. Но всё это требует обязательного наличия интернета. Данная статья описывает создание эксперта, который позволит вам находиться на связи с торговым терминалом даже в той ситуации, когда мобильный интернет будет недоступен, а именно - при помощи звонков и SMS-сообщений.
Причина обращения: