- Лига Торговых Систем. Продолжаем работу.
- Арбитраж на бирже, есть ли смысл копать?
- ML1 - многолотовый клон на основе SMA-фильтра
Столкнулся с такой проблемой.У одного брокера открыл сначала демо счет, после реальный для торговли экспертом.На демке было всё супер а на реале сливатор. Сказали всё дело в проскальзывании.позже выяснил что пинг был приблизительно 67. Проблема в пинге который даёт проскальзывания или в другом? (на мониторинге продавца робота - у него реальный счет, там всё норм)
Пинг сам по себе не смещает нулевое матожидание проскальзывания в сторону убытков клиента. Причин убыточного проскальзывания вижу потенциально две:
- ДЦ исполняет со смещением в ту сторону, которая ему дает прибыль;
- сам советник основан на краткосрочных прогнозах, на сотни миллисекунд, и к моменту прихода запроса на сервер прогноз уже сбывается. Советник ждал роста курса от K вверх, послал запрос по курсу K (open buy или close sell), а когда запрос пришел на сервер - курс на сервере уже больше K, вот и проскальзывание в убыток по сделке. Заметьте, что терминал посылает запрос по курсу, который на сервере был когда-то, к моменту прихода запроса на сервер новый курс уже не только на сервере, но и в пути к терминалу (или уже сменился и на терминале тоже). Если советник систематически дает верный прогноз, то и проскальзывание автоматически, без всяких дополнительных усилий со стороны ДЦ, будет в убыток клиенту.
Пинг сам по себе не смещает нулевое матожидание проскальзывания в сторону убытков клиента. Причин убыточного проскальзывания вижу потенциально две:
- ДЦ исполняет со смещением в ту сторону, которая ему дает прибыль;
- сам советник основан на краткосрочных прогнозах, на сотни миллисекунд, и к моменту прихода запроса на сервер прогноз уже сбывается. Советник ждал роста курса от K вверх, послал запрос по курсу K (open buy или close sell), а когда запрос пришел на сервер - курс на сервере уже больше K, вот и проскальзывание в убыток по сделке. Заметьте, что терминал посылает запрос по курсу, который на сервере был когда-то, к моменту прихода запроса на сервер новый курс уже не только на сервере, но и в пути к терминалу (или уже сменился и на терминале тоже). Если советник систематически дает верный прогноз, то и проскальзывание автоматически, без всяких дополнительных усилий со стороны ДЦ, будет в убыток клиенту.
пинг до 200 иногда больше, практически не влияет на торговлю роботов, если они рассчитаны на среднесрочную или долгосрочную торговлю, даже дневной трейдинг особо не пострадает от такого пинга.
в категорию роботов которые явно могут пострадать от такого пинга это роботы торгующие на резкое движение, в основном на новостях, роботы рассчитывающие скорость изменения цены, роботы которые ловят спред между брокерами, скальперы, высокоскоростная торговля, торговля через стакан заявок, вот пожалуй и все.
если ваш робот работает по второй категории то вам следует завести впс у самого брокера(на его серверах)большинство брокеров предоставляет такую возможность, в этом случае у вас будет минимальный пинг, или завести впс у мт с указанием вашего брокера.
с уважением.
добрый день.
пинг до 200 иногда больше, практически не влияет на торговлю роботов, если они рассчитаны на среднесрочную или долгосрочную торговлю, даже дневной трейдинг особо не пострадает от такого пинга.
в категорию роботов которые явно могут пострадать от такого пинга это роботы торгующие на резкое движение, в основном на новостях, роботы рассчитывающие скорость изменения цены, роботы которые ловят спред между брокерами, скальперы, высокоскоростная торговля, торговля через стакан заявок, вот пожалуй и все.
если ваш робот работает по второй категории то вам следует завести впс у самого брокера(на его серверах)большинство брокеров предоставляет такую возможность, в этом случае у вас будет минимальный пинг, или завести впс у мт с указанием вашего брокера.
с уважением.
Спасибо за детальный ответ. Забыл вначале сказать. Советник относится к турбо скальперам.Сделка длится несколько секунд
добрый день.
пинг до 200 иногда больше, практически не влияет на торговлю роботов, если они рассчитаны на среднесрочную или долгосрочную торговлю, даже дневной трейдинг особо не пострадает от такого пинга.
в категорию роботов которые явно могут пострадать от такого пинга это роботы торгующие на резкое движение, в основном на новостях, роботы рассчитывающие скорость изменения цены, роботы которые ловят спред между брокерами, скальперы, высокоскоростная торговля, торговля через стакан заявок, вот пожалуй и все.
если ваш робот работает по второй категории то вам следует завести впс у самого брокера(на его серверах)большинство брокеров предоставляет такую возможность, в этом случае у вас будет минимальный пинг, или завести впс у мт с указанием вашего брокера.
с уважением.
Из сказанного Вами сделал вывод, что Вы знакомы с работой VPS, в том числе предоставляемых брокером. Я - нет. Видел таблицы, где хозяева VPS пишут о малом пинге до каждого брокера, вплоть до 5 мс и даже ниже. Не могли бы Вы подсказать, о каком пинге у них идет речь? Замеряется время обмена пакетами между сетевыми картами или это время реакции приложения, обработавшего приход сигнала? И как оно может быть меньше кванта времени, выделяемого одному потоку на использование процессора, а это величина порядка 100 мс? На серверах, сдаваемых в аренду, вероятно, нагрузка подбирается так, чтобы процессоры не простаивали. То есть очереди потоков за процессорным временем не пустуют. Непонятно...
Как правило говоря о пинге, имеют ввиду пинг до сервера брокера (его показывает метатрейдер в правом нижнем углу, при наведении мыши на значок соединения). Так вот, пинг в 1-2 мс вполне реален, при размещении vps на серверах того же дата центра, что и у брокера. И если вы копируете сигналы, в ряде случаев это существенно улучшает результат.
По поводу кванта времени, вы тоже серьезно заблуждаетесь, на переключение контекста, в зависимости от процессора, требуется около 70 тактов, что на 3-4 порядка меньше, чем вы написали. Гораздо большее зло - синхронизация потоков в процессе, только захват стандартного мьютекса занимает 1000 тактов. Так что теоретически возможно отдавать торговый приказ за 2 мс, однако на практике, метатрейдер тратит на это 100-200 мс.
И как уже сказали, для долгосрочных и среднесрочных стратегий -это не актуально :)
Как правило говоря о пинге, имеют ввиду пинг до сервера брокера (его показывает метатрейдер в правом нижнем углу, при наведении мыши на значок соединения). Так вот, пинг в 1-2 мс вполне реален, при размещении vps на серверах того же дата центра, что и у брокера. И если вы копируете сигналы, в ряде случаев это существенно улучшает результат.
По поводу кванта времени, вы тоже серьезно заблуждаетесь, на переключение контекста, в зависимости от процессора, требуется около 70 тактов, что на 3-4 порядка меньше, чем вы написали. Гораздо большее зло - синхронизация потоков в процессе, только захват стандартного мьютекса занимает 1000 тактов. Так что теоретически возможно отдавать торговый приказ за 2 мс, однако на практике, метатрейдер тратит на это 100-200 мс.
И как уже сказали, для долгосрочных и среднесрочных стратегий -это не актуально :)
Если это пинг до сервера брокера, то есть между сетевыми картами (узлами сети), который определяется стандартным способом по протоколу ICMP (пакеты Echo-Reply и Echo-Request) - это одно. Но (https://ru.wikipedia.org/wiki/Ping)
"Не стоит путать Ping - определяющий целостность и качество связи, с транспортными протоколами связи TCP и UDP - определяющих передачу и скорость передачи данных!".
Я задал вопрос о том, что хозяева VPS указывают в своей рекламе, какой пинг. Ясно, что по протоколу ICMP выявляются свойства сети, все терминалы и программа-сервер в это время могут не работать. Если задержка исполнения 200 мс,
то какая разница, 20 или 3 из них определяются свойствами сети и размещением дата-центра.
Если перейти к тому, что, собственно, важно для торговли, то действующей характеристикой будет не пинг между сетевыми картами, а время обмена пакетами между приложениями: сервером MT и терминалом MT. А тут уже вмешивается наличие тысяч
потоков, каждому из которых нужно когда-то дать процессорное время. Замечу, не на переключение контекстов, а на работу. Само переключение контекстов тоже может дать серъезный вклад в нагруженность процессоров при плохом управлении потоками.
Кстати, указанное число тактов 70 (я где-то встречал оценку в 4000 тактов) означает для 2ГГц 35 наносекунд, что меньше приведенной мной величины кванта времени, выделенного потоку на исполнение (100 мс) на 6 с лишним порядков.
http://thelib.ru/books/russinovich_mark/2_vnutrennee_ustroystvo_windows_gl_5_7-read-7.html :
"По умолчанию в Windows 2000 Professional и Windows XP потоки выполняются в течение 2 интервалов таймера (clock intervals), а в системах Windows Server - 12. Например, этот интервал на большинстве однопроцессорных
х8б-систем составляет 10 мс, а на большинстве многопроцессорных х8б-систем - около 15 мс" - вот эти 100 мс я и имел в виду, 12 интервалов по 15 мс = 180 мс. Время тратится еще и на выбор (в 32 очередях http://thelib.ru/books/russinovich_mark/2_vnutrennee_ustroystvo_windows_gl_5_7-read-7.html) - какому потоку из готовых к исполнению дать процессор. Сейчас посмотрел у своего компьютера: каждый MT4 17-18 потоков, MT5 по 24. На VPS
при работе 50 терминалов за процессорное время будут конкурировать 1000 порожденных термниналами потоков. Если учесть, что на VPS размещают терминал с несколькими запущенными советниками, еще больше. А сколько еще служб, сервисов...
Можно ли рассчитывать, что пользовательские советники не будут транжирить процессорное время, освобождая процессор как только можно? Вряд ли. Оценка в 100 мс означает, что половину выделенного кванта времени в среднем один поток
занимает один процессор.
Эти соображения и породили мой вопрос - что же такое пинг у VPS к серверу. Есть ли смысл его учитывать.
P.S. 1000 тактов на 2 ГГц это 0.5 микросекунды. Не тот порядок величины, квант, выделяемый потоку, несравнимо больше.
- ru.wikipedia.org
Надо в понятиях определиться. Пинг это время, определяемое командой ping и не более того. Например, из дома до торгового сервера моего ДЦ около 60 мс, а с ВПС около 7 мс.
А в реале при торговле прибавляется время самой транзакции, которая ильно плавает, от 200 до 1500 мс
Надо в понятиях определиться. Пинг это время, определяемое командой ping и не более того. Например, из дома до торгового сервера моего ДЦ около 60 мс, а с ВПС около 7 мс.
А в реале при торговле прибавляется время самой транзакции, которая ильно плавает, от 200 до 1500 мс
Хотелось бы определиться, да. Вспомнил, мне уже много лет назад захотелось определиться. Из разных источников,
включая конфигурационные файлы в установленных терминалах, брал IP адреса серверов и запускал утилиту OC ping.exe.
Всегда получал результат "Превышен интервал ожидания для запроса." Сейчас снова попытался, то же самое. Думаю, на
серверах ДЦ заблокирован протокол ICMP. Какой "командой ping" Вы пользовались, можно поподробнее?
Если верить цифре, показываемой в терминале, у меня тоже на нескольких ДЦ около 60 мс. Попробую подойти с другой
стороны, сравнить Ваши данные о времени самой транзакции со своими.
Взял сведения за три разные торговые недели, две из августа 2016, одна закончилась 30.06.2017. Вместо наименований
ДЦ указаны их внутренние идентификаторы, чтобы эти сведения не оказались рекламой. Запись 3 x 1220 означает, что за
неделю было 3 запроса к серверу, среднее время от решения послать запрос до прихода ответа на него составило 1220
миллисекунд. Только это решение и чтение ответа делались не в самом советнике, а передавались посредством сигнального
файла из/в внешней программы, что в среднем добавляет задержку 0-32 мс.
Сначала оценка снизу, для демосчетов, где ДЦ стараются показать наилучшую скорость исполнения.
_NOR 564 x 681, 211 x 850
VEST 81 x 216, 419 x 163
ALFA 114 x 210
HIGH 188 x 220
NPB 368 x 254
USG 2012 x 597
STO 262 x 245
SWO 790 x 345
PRIV 115 x 690
Наименьшее значение 210 вполне соответствует Вашим сведениям, 200. Но.. уже по нему ясно, что бороться за пинг в 7
миллисекунд смысла нет. Реальные счета:
TURB 9 x 1190, 3 x 1220, 3 x 1266
NOR 85 x 2718, 104 x 3211
FCLU 18 x 1260, 17 x 3954, 3 x 1863
FORT 21 x 5510, 42 x 4517, 7 x 1811 последнее при нулевом депо
EXNE 9 x 11206, 3 x 930, 2 x 5470
Вышло в среднем больше 1500, насколько, уже неважно. Главный вывод - в реальной торговле учитывать пинг совсем уже ни к чему.
Прав был Renat Fatkhullin (https://www.mql5.com/ru/forum/41084/page9#comment_1410836):
2015.03.05 18:03 #84
"papaklass:
Дайте свои тайминги по исполненным за 711 мс ордерам."
"Вы знаете, что обращаться надо именно к своему брокеру, так как именно он ответственен за исполнение.
Но вы делаете вид, что его нет, игнорируете указание обратиться к брокеру и осознанно наговариваете на платформу.
Знаете что вы неправы, что наговариваете, но продолжаете это методично делать.
Еще одна такая попытка и пойдете в бан надолго."
К задержкам от брокера следует относить секунды, сама платформа может оказаться виноватой лишь в
200 миллисекундах за вычетом пинга ICMP. В нашем случае 60 мс пинг, 140 мс Метатрейдер. При переходе на VPS станет не
200, а 147 мс. Плюс секунды от брокера. Ориентироваться на пинги от VPS до брокеров нет смыла, это чисто рекламные ходы.
- 2015.03.05
- www.mql5.com
Столкнулся с такой проблемой.У одного брокера открыл сначала демо счет, после реальный для торговли экспертом.На демке было всё супер а на реале сливатор. Сказали всё дело в проскальзывании.позже выяснил что пинг был приблизительно 67. Проблема в пинге который даёт проскальзывания или в другом? (на мониторинге продавца робота - у него реальный счет, там всё норм)
Воспользуйтесь пингои с VPS на стороне брокера, т.е. в той стране, где он находится.
Затем пообщайтесь с разработчиком, узнайте какой у него ответ пинга, устроит/не устроит.
После чего определитесь - покупать VPS или нет.
Возможно проблема будет решена.
======================
На демо счете - профитная торговля была?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования