Частые реквоты - причина?

 
У моего брокера существуют ситуации когда около 20!!! последовательных запросов на открытие ордера получают ошибку №138, причем это происходит на интервале времени около 20-30 секунд и цена реквоты возвращаемая сервером почти всегда одна и та же. Просьба ответить по каким причинам сервер в течение 20-30 секунд не посылает клиенту новую цену а вместо этого отвечает реквотами....?
На качество соединения пенять не стоит - у меня 2Мб, потерь совершенно нет... Пинг около 200мс...
Возможно ли каким-то образом принудительно заставить клиента послать запрос на обновление цены? Это ведь не серьезно - сервер знает новую цену но не отдает ее :)))
 
У моего брокера существуют ситуации когда около 20!!! последовательных запросов на открытие ордера получают ошибку №138, причем это происходит на интервале времени около 20-30 секунд и цена реквоты возвращаемая сервером почти всегда одна и та же. Просьба ответить по каким причинам сервер в течение 20-30 секунд не посылает клиенту новую цену а вместо этого отвечает реквотами....?
На качество соединения пенять не стоит - у меня 2Мб, потерь совершенно нет... Пинг около 200мс...
Возможно ли каким-то образом принудительно заставить клиента послать запрос на обновление цены? Это ведь не серьезно - сервер знает новую цену но не отдает ее :)))

Это в ручной торговле или в экспертах?

Если в экспертах, то 100% проблема в неправильно заявленных ценах. Ситуация, при которой 20 запросов кончаются реквотами означает серьезнейшие ошибки в коде. Мы все жестче контролируем ошибки в экспертах и не позволяем вольностей, что проходили раньше.

Если Вы хотите найти ошибку, то опубликуйте полный код эксперта на форуме https://www.mql5.com/ru , пожалуйста.
 
У моего брокера существуют ситуации когда около 20!!! последовательных запросов на открытие ордера получают ошибку №138, причем это происходит на интервале времени около 20-30 секунд и цена реквоты возвращаемая сервером почти всегда одна и та же. Просьба ответить по каким причинам сервер в течение 20-30 секунд не посылает клиенту новую цену а вместо этого отвечает реквотами....?
На качество соединения пенять не стоит - у меня 2Мб, потерь совершенно нет... Пинг около 200мс...
Возможно ли каким-то образом принудительно заставить клиента послать запрос на обновление цены? Это ведь не серьезно - сервер знает новую цену но не отдает ее :)))

Это в ручной торговле или в экспертах?

Если в экспертах, то 100% проблема в неправильно заявленных ценах. Ситуация, при которой 20 запросов кончаются реквотами означает серьезнейшие ошибки в коде. Мы все жестче контролируем ошибки в экспертах и не позволяем вольностей, что проходили раньше.

Если Вы хотите найти ошибку, то опубликуйте полный код эксперта на форуме https://www.mql5.com/ru , пожалуйста.


Полный код совершенно незачем публиковать
логика эксперта простейшая :)
открывать ордер при определенном сигнале по текущей цене то есть

iTicket = OrderSend(Symbol(),OP_SELL,OrderSize,MarketInfo(Symbol(),MODE_BID),0,0,0); для продажи
и
iTicket = OrderSend(Symbol(),OP_BUY,OrderSize,MarketInfo(Symbol(),MODE_ASK),0,0,0); для покупки

Операция производится исключительно по текущей цене взятой из терминала... поэтому "серьезнейшие ошибки в коде" исключены... Повторю что ситуация с реквотами происходит не каждый раз а как-то выборочно
 
Может ненулевой слиппаж поможет?
 
Может ненулевой слиппаж поможет?


Возможно, но это означает пойти на явные уступки :) Я хочу открывать позицию по заявленной в терминале цене без всяких слиппажей... Или услышать объяснение почему это невозможно... Ведь вопрос даже не в открытии ордера а в том почему клиент не видит новой котировки которую возвращает сервер в реквотах на протяжении такого долгого времени..? В чем причина - либо ее не отдает се5рвер на быстром рынке либо проблемы обновления котировок в терминале.... Хотелось бы услышать вариант разработчиков
 
Будем проверять, на сервере какого брокера такое получали?
 
Не хотелось бы делать антирекламу конкретному брокеру....
Сначала хотелось бы удостоверится что причина не в софте...
Одной из возможных причин такого может быть перегруженность сервера запросами на быстром рынке... При этом у него выстраивается очередь котировок которые он не успел отдать... Я неоднократно замечал такое что поток котировок как бы замирает а потом выстреливается большой порцией и числа скачут как ошпаренные... Так вот в таком случае сервер видит последнюю котировку и возвращает ее в реквоте но модуль ответственный за передачу котировок по какой-то причине не отдает их и клиент не видит новых котировок...
 
Не хотелось бы делать антирекламу конкретному брокеру....
Сначала хотелось бы удостоверится что причина не в софте...
Одной из возможных причин такого может быть перегруженность сервера запросами на быстром рынке... При этом у него выстраивается очередь котировок которые он не успел отдать... Я неоднократно замечал такое что поток котировок как бы замирает а потом выстреливается большой порцией и числа скачут как ошпаренные... Так вот в таком случае сервер видит последнюю котировку и возвращает ее в реквоте но модуль ответственный за передачу котировок по какой-то причине не отдает их и клиент не видит новых котировок...

Нашли проблему и исправили. Выложили обновленный билд 194: "торговый терминал MetaTrader 4"

Проверьте, пожалуйста?
 
Renat большое спасибо за оперативно проделанную работу!
Проверю и сообщу о результатах

P.S. Связана ли эта ошибка каким-то образом с той что была обнаружена в тестере (возврат реквоты при выставлении ордера с нулевым slippage)?
 
Нашли проблему и исправили. Выложили обновленный билд 194

У меня реквоты в тестере. Проверил несколько советников. Слипаж пробовал 3, 5 и 10. В предыдущем билде (вроде бы от 15 июня) всё нормально было. Выложите его обратно, плиз... А то я у себя заменил на этот.
 
Поставил билд pre 194 от 29 мая. Там в тестере всё нормально никаких реквотов.
Причина обращения: