К содержимому
Форекс
на автомате

Задержка от отправки заявки до сделки: как мерить, если в журнале секунды

gennady_1991с 08.2020
Автор разборов
34сообщения
Автор темы#1
Исполняю из Python через пакет MetaTrader5: сигнал считается в pandas, заявка уходит в терминал, терминал стоит на VPS. Хочу собрать нормальное распределение задержки, а не «вроде быстро». В журнале терминала время с точностью до секунды. В истории сделок есть время в миллисекундах, но я не уверен, чьё это время, сервера или моё. Как вы меряете? Интересует и общая задержка, и как отделить свою часть (расчёт, передача в терминал) от того, что происходит у брокера.
Вадикс 11.2023
Исследователь
8сообщений
#2
Время сделки в миллисекундах (time_msc) это время сервера, с часами VPS его напрямую сравнивать нельзя, они не синхронизированы до миллисекунд. Поэтому я меряю только интервалы на своей стороне, монотонными часами, по кускам:
Код:
t0 = time.perf_counter() sig = compute_signal(df) t1 = time.perf_counter() res = mt5.order_send(req) t2 = time.perf_counter() log.append((req["symbol"], res.retcode, res.price, round((t1 - t0) * 1000, 1), round((t2 - t1) * 1000, 1)))
t1-t0 это твой расчёт, t2-t1 это всё от вызова до ответа: передача в терминал, сам терминал, сеть, сервер. Внутри этого куска делить уже сложнее. Пинг в терминале примерно покажет сеть туда и обратно, остальное условно «терминал и брокер». В MQL5 то же самое делается через GetMicrosecondCount() вокруг OrderSend, если захочешь сравнить, сколько добавляет сам Python.
Собирай хотя бы несколько сотен заявок и смотри не среднее, а медиану и 95-й процентиль.
gennady_1991с 08.2020
Автор разборов
34сообщения
Автор темы#3
Собрал за месяц 640 заявок. Расчёт сигнала: медиана 9 мс. От вызова order_send до ответа медиана 68 мс, 95-й процентиль 210, и 0,7% заявок дольше секунды, почти все сразу после полуночи по серверу и на американских данных. Пинг в терминале 18-22 мс, то есть больше двух третей задержки не сеть.
С MQL5 пока не сравнил, дублёр ещё надо написать. Что внутри оставшихся 40-50 мс, терминал, очередь у брокера или поставщик ликвидности, снаружи я, похоже, не разделю.
Продолжить обсуждение

Для ответа войдите в свой аккаунт.

Войти
← Предыдущая темаСледующая тема →