В субботу некому ответить на мою тему?
По главному вопросу: к сожалению, из эксперта никак нельзя прервать
3х минутный интервал ожидания ответа сервера.
Ситуация с отказом повторной торговли после таймаута непонятная - будем у себя моделировать и перепроверять.
Кстати, попробуйте последний 195 билд от 29 августа ( http://www.metatrader4.com/files/mt4setup.exe ) - в нем был ряд исправлений.
Ситуация с отказом повторной торговли после таймаута непонятная - будем у себя моделировать и перепроверять.
Кстати, попробуйте последний 195 билд от 29 августа ( http://www.metatrader4.com/files/mt4setup.exe ) - в нем был ряд исправлений.
Renat писал (а):
По главному вопросу: к сожалению, из эксперта никак нельзя прервать 3х минутный интервал ожидания ответа сервера.
Ситуация с отказом повторной торговли после таймаута непонятная - будем у себя моделировать и перепроверять.
Кстати, попробуйте последний 195 билд от 29 августа ( http://www.metatrader4.com/files/mt4setup.exe ) - в нем был ряд исправлений.
По главному вопросу: к сожалению, из эксперта никак нельзя прервать 3х минутный интервал ожидания ответа сервера.
Ситуация с отказом повторной торговли после таймаута непонятная - будем у себя моделировать и перепроверять.
Кстати, попробуйте последний 195 билд от 29 августа ( http://www.metatrader4.com/files/mt4setup.exe ) - в нем был ряд исправлений.
А вообще, в принципе, почему сервер не ответил? Из-за некорректного запроса, при этом НЕкорректность не вписалась в рамки, определенные существующими КОДАМИ ОШИБОК. Или же это умышленное или неумышленное игнорирование сервером запроса в моменты высоковолантильного рынка? А после первого игнорирования запроса уже подвис сам ТЕРМИНАЛ....
Если бы не подвисал ТЕРМИНАЛ, то можно было бы смириться с подобными неответами сервера. Кстати, в первый день, неответ сервера сыграл против ДЦ, потому что позже позиция закрылась по более выгодной для меня цене.
В любом случае, буду с нетерпением ждать результатов вашего моделирования и устранения подвисания ТЕРМИНАЛА. Держите меня, пожалуйста, в курсе.
С уважением, МИХАИЛ.
У меня тоже было подвисание терминала в момент очень сильной
активности рынка, пришлось перезапускать терминал.
P.S. кстати, у меня тоже позиция закрылась по более выгодной для меня цене ;), но пугает сам факт, не хотелось бы играть в орел/решку. ..
P.S. кстати, у меня тоже позиция закрылась по более выгодной для меня цене ;), но пугает сам факт, не хотелось бы играть в орел/решку. ..
И у меня такое было;-)
А по-моему, это не терминал подвисает, а сервер брокера не успевает
отвечать на шквал запросов. Хотя, может это и искусственный
тормоз брокера, но не самого терминала...
Речь идет о том, что первый отказ сервера ответить на запрос
Терминала не должен приводить к зависанию самого Терминала.
Зависание происходит именно из-за непрекращающегося ОЖИДАНИЯ
ОТВЕТА сервера Терминалом. Для правильной работы Терминала,
после 3-минутного ожидания и после выдачи сообщения об отсутствии
ответа сервера, Терминал должен ПРЕКРАТИТЬ дальнейшее ожидание
ответа сервера на свой запрос. Последующие запросы Терминала
в этом случае будут считаться каждый раз ПЕРВЫМИ, что расциклит
ситуацию.
Ошибка с зависанием исправлена. Скоро-скоро выпустим 197 билд
Убедился на 197 билде, что ошибка исправлена. Теперь, даже если
с первого раза сервер ДЦ не закрывает (открывает) позу, Терминал
не зависает. Со второго раза, как правило, поза закрывается (открывается)
без сбоев. Приятно, однако.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
При отсутствии ответа сервера нарушается алгоритм работы Советника.
Суть проблемы:
В процессе работы Советника была послана серверу команда на закрытие ордера...
Выписка из ЖУРНАЛА:
************************************************
18:30:20 '54901': close order #4992533 sell 2.40 EURUSD at 1.2822 sl: 0.0000 tp: 0.0000 at price 1.2796
18:30:25 '54901': request was accepted by server
18:30:26 '54901': request in process
************************************************
Из журнала видно, что...
18:30:25 '54901': запрос был принят сервером
18:30:26 '54901': запрос в процессе
Далее ответа от сервера не последовало (в том числе не был закрыт ордер и обратно не пришло никакого сообщения об ошибке) - полное молчание при наличии связи с сервером и поступлении тиковой информации спустя 3 минуты, когда ТЕРМИНАЛ выдал ошибку 128 (Истек срок ожидания совершения сделки).
Так как ответа от сервера не последовало, то последующие попытки Советника закрыть ордер сервером игнорировались (в ЖУРНАЛЕ нет никаких записей о последующих попытках закрытия ордера).
Для сброса ожидания ответа сервера пришлось перезапустить ТЕРМИНАЛ, после чего первая же команда Советника на закрытие ордера прошла успешно.
Выписка из ЖУРНАЛА:
******************************************************
19:53:16 Expert Sovetnik Youra 04.4 EURUSD,M5: removed
19:53:18 SIGTrader 4.00 build 195 stopped
19:53:21 SIGTrader 4.00 build 195 started
19:53:22 Expert Sovetnik Youra 04.4 EURUSD,M5: loaded successfully
19:53:23 '54901': login (4.00, #291AB8B6)
19:53:55 '54901': close order #4992533 sell 2.40 EURUSD at 1.2822 sl: 0.0000 tp: 0.0000 at price 1.2789
19:53:56 '54901': request was accepted by server
19:53:56 '54901': request in process
19:53:58 '54901': order #4992533 sell 2.40 EURUSD at 1.2822 sl: 0.0000 tp: 0.0000 closed at price 1.2789
******************************************************
Аналогичная ситуация повторилась на следующий день. В течении 2-х часов Советник пытался безуспешно закрыть ордер (39 раз за 2 часа), но в ЖУРНАЛЕ отражена только первая попытка...
После перезапуска ТЕРМИНАЛА, ордер успешно был закрыт.
Выписка из ЖУРНАЛА:
******************************************************
10:17:54 '54901': login (4.00, #291B8190)
16:33:12 '54901': close order #5004394 sell 0.60 EURUSD at 1.2815 sl: 0.0000 tp: 0.0000 at price 1.2789
16:33:31 '54901': request was accepted by server
18:44:15 '54901': login (4.00, #291B8190)
18:44:18 '54901': login (4.00, #291B8190)
18:44:22 '54901': login (4.00, #291B8190)
18:52:17 Expert Sovetnik Youra 04.4 EURUSD,M5: removed
18:52:19 SIGTrader 4.00 build 195 stopped
18:52:22 SIGTrader 4.00 build 195 started
18:52:23 Expert Sovetnik Youra 04.4 EURUSD,M5: loaded successfully
18:52:24 '54901': login (4.00, #291B8190)
19:04:23 '54901': close order #5004394 sell 0.60 EURUSD at 1.2815 sl: 0.0000 tp: 0.0000 at price 1.2806
19:04:23 '54901': request was accepted by server
19:04:23 '54901': request in process
19:04:24 '54901': order #5004394 sell 0.60 EURUSD at 1.2815 sl: 0.0000 tp: 0.0000 closed at price 1.2806
******************************************************
ВОПРОС:
Как средствами языка MQL4 без перезапуска ТЕРМИНАЛА (и без вмешательства трейдера) прервать ожидание ответа сервера и соответственно продолжить правильную работу Советника?