как обработать ошибки открытия ордера. Когда ticket<0.
Цикл на несколько попыток открытия со слипом ?
На мой взгляд такой подход - плохое решение. Во-первых, использование в программах функции Sleep следует избегать. То есть использовать ее стоит лишь в безвыходных ситуациях (как приведено выше с ожиданием освобождения торгового потока). А, во-вторых, во время ожидания уже много, чего может измениться, в том числе пропасть условия для формирования торгового сигнала. Поэтому логичнее при получении ошибки обработать ее в плане выдачи соответствующих сообщений в лог и перейти к ожиданию следующего тика. В итоге программа заново запустит алгоритм принятия решения о необходимости отправки торгового запроса и вполне осознанно отправит его.
В пользу этого подхода говорит еще и тот факт, что наиболее распространенные коды ошибок, возвращаемых торговым сервером, это реквот и неправильные стопы. При реквоте вполне могут измениться данные, на основании которых генерируется торговый сигнал. А неправильные стопы это, в некотором роде, тот же реквот, т. к. пока торговый запрос достигает сервера, изменяется котировка, и SL или TP попадают в запрещенную зону.
Да, и можно как-то сообщить пользователю когда пропадает интернет ?
Наличие/отсутствие интернета можно проверить, проведя чтение какой-нибудь заведомо рабочей web-страницы. А это уже использование функции WebRequest.
Если же речь идет о проверке соединении с сервером брокера, то можно использовать IsConnected(). На этом, помнится, Андрей собаку съел в свое время. Я уже не помню подробностей, но где-то целая тема была.
А если интернет пропал на машине с терминалом, то пуш не отправится.
Жаль. Но на четвёртом форуме как-то уже мусолили данный вопрос. Воды много утекло, может уже и не работать принятое там решение. Правда какое оно было - убей, не вспомню... Что-то через сторонние смс-сервисы.
Andrey Khatimlianskii: Работать будет сторонний сервис мониторинга, который, в случае отсутствия сигнала от советника в течении Х секунд, уведомит пользователя. Сервис на ВПС. Советник периодически отправляет сообщение, что он жив.
Обсуждалось о работе советника на домашнем компе. И его верификация при помощи какого-то смс-сервиса. Если с компа не отправилось что-то на мэйл-сервис, то он и отправлял смс на телефон. Что-то такое обсуждалось - ну не помню уже точно.
Artyom Trishkin: Обсуждалось о работе советника на домашнем компе. И его верификация при помощи какого-то смс-сервиса. Если с компа не отправилось что-то на мэйл-сервис, то он и отправлял смс на телефон. Что-то такое обсуждалось - ну не помню уже точно.
Вот это?
Все равно СМС менее надежны, да и не спасет это от выключения домашнего ПК — в этом случае отправлять алерт будет некому.
На текущий момент существует достаточно средств для комфортного удалённого мониторинга торгового счёта: мобильные терминалы, push-уведомления, работа с ICQ. Но всё это требует обязательного наличия интернета. Данная статья описывает создание эксперта, который позволит вам находиться на связи с торговым терминалом даже в той ситуации, когда мобильный интернет будет недоступен, а именно - при помощи звонков и SMS-сообщений.
как обработать ошибки открытия ордера. Когда ticket<0.
Цикл на несколько попыток открытия со слипом ?
На мой взгляд такой подход - плохое решение. Во-первых, использование в программах функции Sleep следует избегать. То есть использовать ее стоит лишь в безвыходных ситуациях (как приведено выше с ожиданием освобождения торгового потока). А, во-вторых, во время ожидания уже много, чего может измениться, в том числе пропасть условия для формирования торгового сигнала. Поэтому логичнее при получении ошибки обработать ее в плане выдачи соответствующих сообщений в лог и перейти к ожиданию следующего тика. В итоге программа заново запустит алгоритм принятия решения о необходимости отправки торгового запроса и вполне осознанно отправит его.
В пользу этого подхода говорит еще и тот факт, что наиболее распространенные коды ошибок, возвращаемых торговым сервером, это реквот и неправильные стопы. При реквоте вполне могут измениться данные, на основании которых генерируется торговый сигнал. А неправильные стопы это, в некотором роде, тот же реквот, т. к. пока торговый запрос достигает сервера, изменяется котировка, и SL или TP попадают в запрещенную зону.
Да, и можно как-то сообщить пользователю когда пропадает интернет ?
Наличие/отсутствие интернета можно проверить, проведя чтение какой-нибудь заведомо рабочей web-страницы. А это уже использование функции WebRequest.
Если же речь идет о проверке соединении с сервером брокера, то можно использовать IsConnected(). На этом, помнится, Андрей собаку съел в свое время. Я уже не помню подробностей, но где-то целая тема была.
Поддерживаю: нужно работать по тикам, и тогда пропажу связи проверять не будет смысла.
Разве что, тревогу поднять, но с помощью чего? Интернета же нету ;)
Таймер --> отсутствие изменений цены длительное время --> отправка Push на мобилу "Шеф, всё пропало!!!" :))
Не проверял правда push при отсутствии связи...
Будет работать, если проблемы с сервером брокера.
А если интернет пропал на машине с терминалом, то пуш не отправится.
Работать будет сторонний сервис мониторинга, который, в случае отсутствия сигнала от советника в течении Х секунд, уведомит пользователя. Сервис на ВПС. Советник периодически отправляет сообщение, что он жив.
Обсуждалось о работе советника на домашнем компе. И его верификация при помощи какого-то смс-сервиса. Если с компа не отправилось что-то на мэйл-сервис, то он и отправлял смс на телефон. Что-то такое обсуждалось - ну не помню уже точно.
Вот это?
Все равно СМС менее надежны, да и не спасет это от выключения домашнего ПК — в этом случае отправлять алерт будет некому.