Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
во-вторых, если вы споймали какого-то медленного на пинг брокера, то это тоже не есть объективно.
Почитайте первый пост.
По тестам моим и других - достигнутое минимальное время исполнения ордера в МТ4 на PromoFX- 10 ms
Заболтали тему, к сожалению. Удаляю свои посты.
Для сравнения:
Уважаемые разработчики, еще просьба сообщить, функция OrderSendAsync при нулевом пинге полноценно помещает ордер в систему быстрее, чем OrderSend? Или же скорости размещения в таблицах ордеров после получения соответствующего сетевого пакета для обеих функций равны? И в случае первой функции событие о удачном размещении будет получено через такое же время, как при выполнении OrderSend?
Правильно ли я понимаю равнозначность двух ситуаций на таком примере (нулевой пинг):
Или же как-то иначе?
И еще, если производится 10 асинхронных подряд торговых запросов
Уважаемые разработчики, еще просьба сообщить, функция OrderSendAsync при нулевом пинге полноценно помещает ордер в систему быстрее, чем OrderSend? Или же скорости размещения в таблицах ордеров после получения соответствующего сетевого пакета для обеих функций равны? И в случае первой функции событие о удачном размещении будет получено через такое же время, как при выполнении OrderSend?
Внутри весь MetaTrader 5 с самого начала полностью асинхронный, включая все торговые операции. Время реального попадания заявки у OrderSend и OrderSendAsync полностью одинаковое.
То есть OrderSend пользуется асинхронной (других нет) функцией передачи заявки и просто ожидает полного ответа от сервера, тем самым реализуя синхронный и более простой механизм совершения торговых операций. Мы не стали сразу же разрешать доступ к базовой асинхронной функции посылки ордеров из MQL5, но сейчас видим, что время пришло.
Спасибо. Могли бы вы также решить вопросы, которые выше последовали за тем, что ответили: про скорось получения ответа от сервера
Вообще любой может написать последовательный MyOrderSend через OrderSendAsync:
При такой реализации MyOrderSend будет полностью совпадать с штатной OrderSend (которую можно просто упразднить из API, реализовав через OrderSendAsync в штатной библиотеке).
, сравнение с множеством терминалов и разным количеством символов.
Вот мои результаты тестов по сети из Лимассола до Амстердама, пинг до MetaQuotes-Demo серверов на уровне 130 мс.
Тесты на MetaTrader 5 build 642:
Тесты МetaTrader 4 build 419:
Видно, что 10 сделок на MetaTrader 5 в асинхронном режиме улетели за 31 мс, в среднем по 3 мс на ордер. Это скорострельность асинхронного режима "выстрелил и забыл" без какого либо подтверждения со стороны сервера. Первые ответы (пачкой) от сервера придут где-то через 145 мс, как в обычном синхронном режиме. Но как 10 заявок были выстрелены за 31 мс, так и прием их результатов тоже должен прийти пачкой через 145 мс.
Синхронный режим показывает по 149 мс исполнения каждой заявки, что при базовом пинге до торгового сервера в 130 мс является хорошим результатом. Маленький размер сетевого пакета + эффективный сетевой протокол позволяют очень быстро доставлять данные.
В MetaTrader 4 есть только синхронный режим и среднее время исполнения одной заявки оказалось 207 мс, что больше времени исполнения MetaTrader 5. Одним из объяснений этой разницы является затраты на использование отдельного сетевого контекста для торговых операций, что может привести к некоторым задержкам. Кроме того, в MetaTrader 5 мы применили более эффективные механизмы очередей заявок и исполнения.
Важно помнить, что любые замеры скоростных сетевых характеристик прямо зависят от самой сети. В моем случае базовый пинг до MetaQuotes-Demo серверов был на уровне 130 мс. Это означает, что нельзя сравнивать получаемые результаты между разными замерами без применения учета и коррекции на базовый пинг.
Я приложил два скрипта, чтобы любой мог провести собственные тесты. Используйте их на одинаковых MT4/MT5 серверах, стоящих в одном и том же физическом месте, с одинаковыми точками доступа и с одинаковыми величинами пингов. Это позволит сравнивать полученные результаты в режиме MT4 vs MT5. Адреса наших демонстрационных торговых серверов MetaTrader 4 (demo.metaquotes.net:443) и MetaTrader 5 (access.metatrader5.com:443).
Видно, что 10 сделок на MetaTrader 5 в асинхронном режиме улетели за 31 мс, в среднем по 3 мс на ордер. Это скорострельность асинхронного режима "выстрелил и забыл" без какого либо подтверждения со стороны сервера. Первые ответы (пачкой) от сервера придут где-то через 145 мс, как в обычном синхронном режиме. Но как 10 заявок были выстрелены за 31 мс, так и прием их результатов тоже должен прийти пачкой через 145 мс.
Наконец-то!