он не на клиентской,а на серверной
Всем доброго времени суток!
Изучая логи работы советника с удивление обнаружил внушительный лаг между вызовом OrderSend() в сорцах советника и началом отправки ордера на сервер: 234 ms!
Имею вот такой код советника:
И вот что вижу в логе эксперта:
А в логе терминала:
Прошу давно работающих с MT4 (у меня билд 610, брокер Boston Prime) прокомментировать, почему лаг между Print и сообщением "order sell market ..." в логе аж 234 ms (331-097)?
up! может найдется человек, который знает истинную причину? MetaQuotes вообще читаю посты в этом форуме?
господи, если такие проблемы - зарегистрируйтесь на пятом форуме и отправьте непосредственно
сообщение в сервис-деск... то бишь конкретно метаквотам... это они уже давно едва ли читают... устали
Всем доброго времени суток!
Изучая логи работы советника с удивление обнаружил внушительный лаг между вызовом OrderSend() в сорцах советника и началом отправки ордера на сервер: 234 ms!
Имею вот такой код советника:
И вот что вижу в логе эксперта:
А в логе терминала:
Прошу давно работающих с MT4 (у меня билд 610, брокер Boston Prime) прокомментировать, почему лаг между Print и сообщением "order sell market ..." в логе аж 234 ms (331-097)?
up! может найдется человек, который знает истинную причину? MetaQuotes вообще читаю посты в этом форуме?
Попробуй определить время не принтом, а предназначенной для этого функцией. https://docs.mql4.com/ru/common/gettickcount
Не следует забывать, что на выполнение Print() затрачивается время...
Ну посудите сами. Сначала вы принтуете действие, затем запрос отправляется на сервер (нужно время), потом запрос должен быть принят сервером (+время), потом сервер должен переварить запрос (+время) и в конце концов отсылает обратно вам потверждение (+время). По названию брокера он американский, а ваше местоположение где? Учтите время прохождения сигнала от вас до брокера и получается что время не так уж и большое.
Похоже многие не совсем понимают мой вопрос. Я спрашиваю обо времени между Print и первым сообщением после вызова OrderSend(). Если судить по текусту этого сообщения - "order sell market 0.50 EURUSDp sl: 0.00000 tp: 0.00000" -, то на сервер ещё ничего не отправлялось, т.е. 234 ms теряются на стороне клиента.
Попробуй определить время не принтом, а предназначенной для этого функцией. https://docs.mql4.com/ru/common/gettickcount
Не следует забывать, что на выполнение Print() затрачивается время...
Похоже многие не совсем понимают мой вопрос. Я спрашиваю обо времени между Print и первым сообщением после вызова OrderSend(). Если судить по текусту этого сообщения - "order sell market 0.50 EURUSDp sl: 0.00000 tp: 0.00000" -, то на сервер ещё ничего не отправлялось, т.е. 234 ms теряются на стороне клиента.
Ну тогда посчитай сколько времени тратится на Print()
uint start = GetTickCount(); Print("Create sell with volume: ", DoubleToStr(volume, 2), ", price: ", DoubleToStr(price, Digits)); Print(GetTickCount() - start);
Я спрашиваю обо времени между Print и первым сообщением после вызова OrderSend(). Если судить по текусту этого сообщения - "order sell market 0.50 EURUSDp sl: 0.00000 tp: 0.00000" -, то на сервер ещё ничего не отправлялось, т.е. 234 ms теряются на стороне клиента.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем доброго времени суток!
Изучая логи работы советника с удивление обнаружил внушительный лаг между вызовом OrderSend() в сорцах советника и началом отправки ордера на сервер: 234 ms!
Имею вот такой код советника:
И вот что вижу в логе эксперта:
А в логе терминала:
Прошу давно работающих с MT4 (у меня билд 610, брокер Boston Prime) прокомментировать, почему лаг между Print и сообщением "order sell market ..." в логе аж 234 ms (331-097)?