В результате они не знают, что легко могут улучшить качество исполнения своих сделок за счет более быстрой реакции и скорости проведения транзакций.
12 сентября 2016 года были проведены три замера скорости на реальном счете БД «Открытие» на MetaTrader 5 build 1415 и Quik 7.2.23 в одно и то же время.Оба терминала установлены на арендованном сервере VPS в Москве, как и сами торговые серверы БД «Открытие». Торговля велась на одном и том же реальном счете в срочной секции Московской биржи инструментом Si-9.6.
Мы записали на видео все три теста одним роликом, чтобы было видно:
Результаты всех трех тестов собраны в сводной таблице, детальные результаты по каждому тесту представлены ниже отдельными разделами этой статьи.
Тест MetaTrader 5 QUIK Выигрыш MT5 Синхронные операции 9.59 ms 277.80 ms 28.96 раз Асинхронная 0.09 ms 0.30 ms 3.33 раза Обновлений стакана 42.7 в сек 8.40 5.08 раза
Как видно из таблицы, MetaTrader 5 опережает по всем трем тестам со значительным отрывом. Желающие могут самостоятельно провести подобные испытания с помощью приложенных исходных кодов. Само тестирование представлено на видео выше.
Проведенные замеры показали, что язык MQL5 значительно опережает QLUA как в проведении торговых операций на Московской бирже, так и просто в сканировании стакана заявок. Торговые роботы, написанные на языке MQL5, не только считают в 50-100 раз быстрее, но и торгуют до 28 раз быстрее. И при этом вам не нужно изобретать свои велосипеды — приводы, коннекторы и т.д. К вашим услугам готовые торговые классы стандартной библиотеки и масса статей по автоматизации трейдинга.
Надежный торговый робот просто обязан проверять результаты отправки торговых операций — то есть, дожидаться ответа от торгового сервера. Тесты доказали, что MetaTrader 5 значительно быстрее в синхронных операциях. Если же вам нужны асинхронные операции — то и здесь скорость в 3 раза выше. Требуется анализировать поток заявок — и тут MetaTrader 5 даст вам преимущество по сравнению с QUIK за счет в 5 раз более быстрого потока котировок без снапшотов.
Проведенные испытания показали, что для создания быстрых автоматических торговых систем язык MQL5 подходит как нельзя лучше. Никакие коннекторы и библиотеки, подключаемые к терминалу QUIK для ускорения расчетов, не спасут: узким местом будет являться само время проведения торговых операций.
Теперь рассмотрим скучные, но обязательные детали тестирования.
Программа на QLUA при замере времени обращается к системному таймеру операционной системы, который по умолчанию имеет погрешность измерения в пределах в 10…15.6 миллисекунда (чаще всего — 15.6 мс). Поэтому мы повысили точность замеров времени в QLUA простым повышением точности системного таймера до 1 ms.
Сделано это с помощью скрипта на SpeedupSystemTimer.mq5, который вызывает функцию timeBeginPeriod системной библиотеки Winmm.dll
#import "winmm.dll" int timeBeginPeriod(uint per); #import void OnInit() { timeBeginPeriod(1); } void OnTick() { }
Этот скрипт мы запустили перед началом тестов в терминале MetaTrader 5 и разрешив вызов DLL, в результате чего обеспечили погрешность измерений операций в терминале QUIK не более 1 миллисекунды.
В языке MQL5 есть готовая функция GetMicrosecondCount(), поэтому замеры в терминале MetaTrader 5 делались с точностью 1 микросекунда (1 миллисекунда=1000 микросекунд).
#1 Тестирование скорости синхронных торговых операций
Тестирование заключалось в измерении скорости синхронных торговых операций — это значит, что каждая последующая торговая операция совершалась только после получения от торгового сервера подтверждения, что предыдущая транзакция была успешно проведена с полным подтверждением от биржи.
Сначала была проведена серия торговых операций через терминал MetaTrader 5 build 1415, затем такая же серия была произведена через терминал QUIK версии 7.2.23.
Суть испытания заключается в измерении среднего времени 10 синхронных операций покупки по рынку 1 лотом:
Измерение времени, затраченного на синхронную транзакцию, проводилось следующим образом:
#2 Тестирование скорости асинхронных торговых операций
В этом тесте все значительно проще. Десять раз подряд на биржу отправляется приказ на покупкуодного контракта фьючерса Si-9.16. Это позволило нам измерить среднее время асинхронной передачи в QLUA с точностью 1 ms / 10 = 0.10 ms. В MetaTrader 5 погрешности нет, так как в нем используется микросекундный таймер.
Мы не ждем никакого результата наших операций, за каждой отправкой заявки торговому серверу сразу же делается отправка новой заявки:
#3 Тестирование обновления стакана заявок
Ряд торговых стратегий строится на анализе потока заявок в стакане. В языке MQL5 событие изменения стакана можно отлавливать в обработчике OnBookEvent(), а в QLUA через OnQuote().
Тесты скорости обновления стаканов проводились с помощью следующих программ, которые доступны в приложенном ZIP-архиве:
В результате последовательного запуска этих программ на двух разных терминалах было зафиксировано, что стакан в MetaTrader 5 обновляется примерно в 5 раза чаще, чем в QUIK. Скорее всего QUIK просто лимитирует частоту обновлений стакана и не показывает все изменения.
Так как все исходные коды приложены тут же, любой желающий может самостоятельно воспроизвести эти тесты и убедиться лично в представленных результатах.
Мы фанатично относимся к производительности и боремся за каждый десяток микросекунд, годами оптимизируя торговую платформу.
Именно поэтому мы показываем потрясающую производительность встроенного алгоритмического языка MQL5 и скорость торговых транзакций.
Евгений, дело в том, что на MetaTrader 5 уже сам по себе стакан навороченный и удобный для скальпинга:
До внешних расширений как у MetaTrader 5, Квику бесконечно далеко. Объем возможностей отличается на порядок.
Кроме того, все можно делать прямо в самом MetaTrader 5 с помощью MQL5. Хоть DOOM написать и это не шутка.
В отдном только разделе утилит https://www.mql5.com/ru/market/mt5/utility есть множество
кастомных панелей управления, включая скальперские.
2) МКЛ — это ваш язык и его не учат ни в одном учебном заведении. Специалистов не найти. Ваш раздел с работой бесполезен, плавали-знаем. Там люди не сильно выше меня знают технику, а я себя считаю нулем.
Евгений, приводов в том понимании «лечим древние костыли» у МТ5 не будет.
А вот безопасных и надежных программ на MQL5 каждый день прибавляется. Для того язык и создан. Это уже четвертое поколение наших алгоритмических языков с 2001 года.
MQL5 вместе с MQL4 попал в сотню самых известных языков программирования уже пару лет назад: www.tiobe.com/tiobe-index/
Есть серьезно обоснованное мнение, что на MQL4/MQL5 как прикладном алгоязыке написано больше всего алгоритмических программ. И научиться им элементарно — это же чистые C/C++.
Вы странные. Сами пишите программу на Си, и удивляетесь, почему клиенты не хотят иметь дела с вашим языком встроенным.
Будьте добры, почитайте.
А потом добро пожаловать в официальный MetaTrader Market, где больше 6000 программ доступны для скачивания. В опенсорсную библиотеку кода, где программы в огромном количестве в исходниках. В документацию и статьи, наконец.
Мы не удивляемся, а наоборот регистрируем огромный поток программ на MQL4/MQL5. Просто вы не в курсе.
Малоизвестный экзотический Lua (так его называют на форумах QUIK'а и не только) — на 30-м месте. Чисто для справки.
Сам исходный язык LUA не может давать повода для учета QLUA в рейтингах.
www.metatrader5.com/ru/releasenotes
Все последние бета-билды сначала доступны на нашем MetaQuotes-Demo сервере. 1415 сейчас там лежит, анонс тут: https://www.mql5.com/ru/forum/23/page19#comment_2797039
Такое ощущение, что некоторые не читают текст, а сразу идут в комменты.
МТ5 в 28 раз быстрее на синхронных операциях, в 5 раз чаще стакан обновляется и есть возможность в 5 раз быстрее среагировать на новую цену.
Большинство трейдеров ведь даже не понимали, какое качество обслуживания им дают.
1) «брокерам не интересны клиенты, дрочащие ...»
2) «деньги идут от игроков… для них скорость не решает ничего»
Самое главное, что в бизнесе торговых платформ не брокеры решают, а трейдеры. То, что выберут трейдеры, то и покупают брокеры. Это было проверено раз 500 на практике.
Поэтому сейчас у трейдеров есть отличное решение, а брокеры быстро подтянутся, как начнут терять клиентура на Квике.
-начнут терять клиентура на Квике.
Не будут терять клиента на квике, потому что вы не предоставляете ничего потенциально нового.
Клиентов больше будет, скорость ниже будет.
Причин много: полное отсутствие инвестиций в сферу платформ, брокеры практически никогда не рекламировались (их рекламные бюджеты просто смешные), общее нежелание работать с российскими биржами.
Вы видимо не в курсе, что у большинства (больше сотни) российских брокеров не более 50-100 клиентских счетов. При такой клиентуре вообще не может быть и речи об развитии и инвестициях.
Фактически весь ритейл держат первые 5 брокеров.
По изучайте рынок.
-российских брокеров не более 50-100 клиентских счетов.
С таким кол-вом счетов никакого бизнеса не будет. Они тем более не потянут mt.
Странно конечно говорить о сравнении функционала.
Реальность такова, что миграция трейдеров российской биржи на МТ5 идет давно и постоянно.
Люди потрясающе иррациональны, но все равно решения с функциональными преимуществами на порядки занимают рынок.
Не путайте инерцию с рациональным поведением, кстати. Людям нравится думать, что они обоснованно до мелочей принимают решения.
Вот вам показали пропасть, но у вас обоснованные мелочи…
MetaQuotes Software, лично я вручную не торгую, но большинство из моих знакомых да, торгуют вручную. Их по этой причине на мт вообще никогда не перетащить будет и квика достаточно.
Мелочами вы считаете брокерский договор в открытии? вы его сами то читали? под такой договор подпишутся только начинающие. Про БКС ничего не знаю, но им не доверил бы ни копейки.
Единый счёт… ну да соглашусь что это вообщем то мелочи, не стало бы важным критерием отказа от платформы.
Опционы — их нет, значит нет смысла вообще говорить о мт5 как о достойной платформе.
Окна-… да тоже по большому счёту пофигу
Ваша история с кухнями и виртуальным дилером — из-за этого я никогда не перейду на ваш софт крупными деньгами, хотя терминал реально лучше квика, я с этим не спорю и тестирую все стратегии я сначала у вас, так как быстрее пишется и есть тестер, а после уже загоняю всё на луа.
Опционы сделаем, но они никак не лимитирующий фактор на MOEX. Это ведь только повод что-то сказать против МТ5, а никак не рабочий инструмент масс (и не масс).
Про кухни вспоминаете тоже в качестве повода против, хотя 100% знаете, что каждая рыночная и лимит сделка попадает на биржу и получает свой тикет. Причем попадает на биржу во много раз быстрее вашего текущего варианта.
В противовес стоит язык в 50-600 раз быстрее, скорость сделок в десятки раз быстрее и настоящий рилтайм режим обновления данных. Не знаю, что меня бы удержало.
Со стаканом согласен, в арке сами говорят мы стакан медленный создали, с задержкой в 20 миллисекунд.
-МТ5 в 28 раз быстрее на синхронных операциях
Это зависит от загруженности сервера.
Вы уверены, что загруженность сервера метатрейдера и квика одинаковы?
Мы не зря создали 5 поколений торговых платформ, каждый раз с нуля проектируя новые и работая с постоянно увеличивающимися нагрузками.
Скорость отработки торговых заявок от загруженности нашего торгового сервера практически не зависит и не должна зависеть. Это прямая труба на биржу.
Труба означает, что все заявки прямиком летят в биржевой шлюз и затраты на стороне сервера лишь в поверхностной проверке достаточности ГО. А это не требует практически никаких ресурсов и на это никак не влияет загруженность сервера.
Чтобы труба заполнилась, надо всех российских брокеров посадить на один торговый сервер с коннектом на биржу и даже в этом случае нагрузить не получится. Банально денег у трейдеров столько нет, чтобы создать поток заявок.
Кроме того, у нас кластерная система с линейным увеличением мощности путем добавления дополнительных трейд и аксес серверов. Под нашу масштабируемость мы не найдем даже потенциальной возможности нагрузиться.
Потому что знаете, что платформа тут не при делах. Просто пытаетесь раз за разом в каждой нашей теме вбрасывать свою ложь.
Вы так рьяно выступали про тормоза, игнорировали мои требования предоставить доказательства, а теперь оказывается, что это все «с форумов».
Я в общем-то не сомневался.
У вас походу тоже получаются задержки и вы тоже не выдаете все изменения в стакане? или выдаете все изменения в стакане?
Даже для акций/облигаций?!
Если есть шлюзы со внешним исполнением, то торговый сервер является лишь быстрой тупой трубой, у которой главная задача — быстро передать данные.
Ответ не понял, спрошу иначе: риски для акций/облигаций — где, когда и кто считает?
Сейчас речь о латенси в платформе. Мы настолько вылизали все процессы во всей платформе (язык, терминал, точки доступа, торговые серверы, шлюзы), что показали разгромные результаты в обычном трейдинге.
Теперь о доступности таких результатов трейдерам. Вот штатный запуск VPS хостинга, включенный прямо в терминал. Несколько кликов и ваш робот отправляется работать на ближайшую к брокеру точку:
И тут не синтетика — тестируются две базовые функции синхронной и асинхронной посылки торговых заявок.
Это самая основное в качестве исполнения.
ребята, во время сильных движений, у вас прорисовка графика отстает. На любой машине. При одновременном открытии 3-4 графиков. Об этом даже не раз на СЛ писали. Что то не до вылизали.
Какая видеокарта стоит и что происходит если открыть чистый график без объектов с индикаторами?
А тот кто профи в ММ, тот «бесплатным» терминалом с кучей скальперских приводов пользоваться не будет.
— иметь порезанный стакан (в 5 раз медленней обновляется)
— иметь чарты не в рилтайме?
— иметь латенси на торговых операциях в 28 раз больше?
Получается именно так. Или вы просто не осознали, что было написано в статье и что вы говорите.
А профан, да, чем ниже летанси, чем чаще дрыкается котировка, тем быстрее он сольет.
В США, у нормального брокера, при счете менее $25 000 — три сделки в неделю и крапка.
У Вас есть статистика по кухонным клиентам, много ли среди них со счетом 25к+ ??? Если бы ограничения по торговле из США расширить на Форекс, то эта индустрия умерла в первый месяц.
Скорость отрисовки чарта, наверное последнее что интересует проф инвестора.
Вы так и не ответили на мой первый вопрос. Можно ли в самую лучшую аналитическую платформу влить свои котировки?
С помощью MetaTrader 5 мы показали, как ритейл может быстро избавиться от тормозов, получить массу новых возможностей и отличный алготрейдинг.
Те, кто используют ту же Плазу напрямую, не сильно (0.5-1 мс) выигрывают по сравнению с исполнением через МТ5. Кто использует другие более быстрые каналы, тех исчезающе мало, да и не могут они выжать тех профитов, на что надеялись.
Зачем вам вливать свои котировки, если вы работаете с биржей и вам и так доступны все тиковые (индикатив и сделки) данные?
Возьмите CopyTicks(_Symbol,ticks,COPY_TICKS_ALL,0,100000000) и получите миллионы тиков с торгового сервера. Причем эти тики и в тестере автоматически докачиваются и используются.
И никаких велосипедов.
Кастомные датафиды в терминале мы включим чуть позже. Можно будет создавать синтетику и чужие символы.
Тут я с Вами не согласен. Далеко не все торгуют HFT. «Напрямую к бирже» нужно только им.
Чтобы сравнить, кто быстрее, есть уже отработанная методика. В данном случае, с двух терминалов просто посылается заявка. И по номеру заявки смотрится кто быстрее. Если нужно уточнить и время, то смотрится ордерлог на плазе/фасте.
Андрей К, все абсолютно корректно.
Там не мало ли, а просто настолько плохая реализация. В соседней статье мы показали, что сам язык в 50-600 раз медленнее чем MQL5.
Тестировать надо именно реакцию на терминале. То есть, полный цикл туда-обратно.
В тестах показано три проигрыша:
1) в частоте реакции на приход тиков (да, в Квике о 80% тиков алготредер не в курсе)
2) в скорости синхронных операций (в большинстве случаев так и работают трейдеры)
3) в асинхронных операциях (тут преимущество небольшое, но все равно тормоза синхронных операций показываю, что канальный процессинг у Квика в десятки раз медленнее)
Кроме того, вот есть простое видео трех платформ MetaTrader 5/Quik/SmartX, где просто визуально видно заведомое преимущество MT5 в скорости обновления информации:
Но все равно. К моему опыту стоить прислушаться. Если сравнивать, то лучше при одновременной посылке заявок.
А так доля правды есть. Особенно, что квик очень много тиков не показывает. Скорее всего агрегирует их.
Выкинуть пакет в сокет на асинхронке — это лишь малая часть теста. И тут мы быстрее в 3.33 раза всего лишь за счет зализанности исходящей магистрали внутри терминала.
А вот выигрыш в 28 раз на получении подтверждения об установки ордера на бирже — это мат.
Вы сами не будьте указанным персонажем и посмотрите видео с доказательствами. И попробуйте технически отпровергнуть.
Нельзя же белое называть черным, когда вокруг столько доказательств.
И как обновления стакане в mt5 отличаются от Plaza2?
Мы всегда посылаем все 100% котировок на все терминалы. А приведенный тест доказывает, что Квик не показывает трейдерам 80% апдейтов котировок в QLUA.
Понимаете, что именно вы защищаете?
Очень стараетесь и вам плевать на любые доводы.
Спасибо, что признались в том, что никогда тормозов не видели в МТ5. Осталось признаться, что не использовали МТ5 на реальных счетах MOEX.
-при абсолютном техническом незнании
То что вы несете про lua на quik - это самое настоящие не знание того, как устроен lua и его возможности и архитектура квика. В общем-то я по-мере своих знаний пытаюсь донести свою точку зрения.
-Очень стараетесь и вам плевать на любые доводы.
Вы ошибаетесь. Если ваши доводы корректны, то я с ними соглашаюсь. Например, про стакан — я им не доволен в квике, но скорости хватает. Но то, что вы говорите про луа и его возможности - это полное не желание видеть мощь и силу lua + native язык программирования.
Не лезьте тогда обсуждать и обвинять МТ5, раз не использовали его.
Вы условия одинаковости окружения читали? Видео с непрерывностью процесса тестирования смотрели?
Отпровергните тестирование и результаты на своих цифрах.
Тут в отчете все сделано полностью с доказательствами в надежде поспорить с подготовленными техническими специалистами. А вместо этого вылезли теоретики, не прочитавшие отчет.
Вот исходники: https://c.mql5.com/36/10/metatrader-5-vs-quik.zip
В отчета не указан один параметр: сколько клиентов на сервере QUIK и сколько на сервере МТ?
То есть, время отработки у правильной системы должно быть близко к константному. Тем более, у торговых платформ.
Это вы уже вместо ответа отделываетесь общими фразами. Но ведь это вы призывали вести технически грамотные разговоры, не так ли?
Технический термин у вас — «время отработки… должно быть близко к константному». И с этим трудно спорить. Но константа эта, очевидно, отлична от нуля. А значит время расчета для 10 клиентов и для тысячи — отличается на 2 порядка в смысле общей загрузки системы. А система эта, как и сеть, имеет по определению ограниченную вычислительную/пропускную способность.
Так что на надо применять разные прилагательные вроде «правильная система». Это ни о чем.
Просьба технически более точно дать ответ на заданный опрос: одинаковое количество клиентов на серверах было или разное.
Константное время отработки означает, что система должна оформлять заявку как на базе в 1 000 пользователей/ордеров, так и на базе в 100 000 пользователей за близкое к константе время.
Так вот мы это обеспечиваем. Видимо, вы про такие вещи и принципы платформ не знаете вообще.
Мы тут бьемся за десятки и сотни микросекунд, вылизывая все места прохождения пакетов, а вы намекаете, что мы глупые ошибки совершаем.
Сказанное вами лишь означает что никаких 100 тыс. пользователей на сервере вы не видели и совершенно не понимаете о чем говорите.
Ибо между «должно быть» и «как оно на самом деле» — есть огромная разница.
Одно удивляет: откуда такая наглая уверенность и хамоватость при полной технической безграмотности?
После таких ответов мало у кого возникнет желание даже близко подходить к МТ, который пока еще от позора кухонных манипуляций-то не отмылся окончательно в глазах многих.
Специально для вас сделал видео на сервере:
— 3 118 финансовых инструментов
— 245 228 активных счетов
— 3 150 терминалов в онлайне
— 142 730 открытых позиций
— 71 582 активных лимит ордеров
Видимо, вы не в курсе, что мы делаем системы под реально большие нагрузки. Причем мой пример с этим сервером просто мелочь. Не для такого платформа создана.
1. при такой скорострельности, не планируете ли вы ввести секундные таймфреймы (типа 1, 2, 5, 10, 15, 30)?
2. Можете как-то сравнить быстродействие MQL5 и С++, скажем, на арифметической обработке массивов?
Была у них зверская (в хорошем смысле) статейка на эту тему, там всё сравнивалось. Почитать интересно.
«У вас» — это у кого? вы меня ни с кем не путаете?
Намек немалой толщины в имени вашем есть.
Извиняю.
Посмотрите видео внимательно, пожалуйста.
Именно раундтрип и показан у синхронных сделок:
И вот он в 28 раз меньше. То есть, за то же самое время в МТ5 вы сможете сделать 28 синхронных операций.
Видео было специально приложено, чтобы не было обвинений в подтасовке.
Как видите, еще никто не смог опровергнуть результаты. И это сложно будет, так как мы провели тесты чисто.
Тут сравниваются не брокеры, а технические решения. Российские брокеры вообще очень далеки от необходимости достигать каких-то технических вершин.
Мы показали, как Открытие, запустив MetaTrader 5, резко улучшило качество исполнения торговых транзакций и дало трейдерам быстрые рилтаймовые рыночные данные без всяких снепшотов.
Мы будем дальше работать над оптимизацией всех маршрутов и для нас полученные 10 мс — это слишком много.
1. Окна у Квика как-то удобнее настраиваются. В МТ5 широкие рамки. Настроек меньше. Короче, дизайн МТ5 не понравился. Но это не главное.
2. Чтобы торговать фъючами и акциям нужно ставить ДВА MT5. Из одного торговать нельзя.
3. «Единый» счет для MT5 не работает (БКС). Нужно держать два депозита: один для фъючей, другой для акций.
Это очень не удобно. Из-за этого не стал рассматривать MT5.
Над единым счетом работаем. Тут не все от нас зависело.
Как вы смотрите на то, что вам сейчас показывают лишь часть котировок, чарты обновляются не в рилтайме, а сделки вы совершаете в десятки раз медленнее возможного?
Не является ли это более важным для трейдинга?
Т.е. как это? вы может не в курсе — но это деньги. Не виртуальные в БД, а реальные. И разносить их по разным корзинкам — дорогая роскошь.
И вот когда вы сумеете всё в один счет запихать — вот тогда и будет смысл сравнивать раундтрипы. Пока же вы показываете ускорение на системе с существенно порезанным функционалом как раз там, где всё не просто в смысле скорости.
MetaQuotes Software> Тут не все от нас зависело.
Можно ли где-то почитать про это поподробнее?
Сделаем мы единый счет. Но это никакого отношения к скорости проведения транзакций не имеет. Тестирование именно торгового латенси.
Это вы вместо простого ответа на технический вопрос пытаетесь замаскировать словоблудием и обвинением задавшего вопрос, указывая, что вопрос — неправильный с вашей точки зрения. И это уже удивительно.
MetaQuotes Software> Сделаем мы единый счет.
Славно. Тогда и продолжим разговор.
После единого счета разговаривать уже будет не о чем, вообще то.
Конечно крайне странно, чтобы с одной машины (вы ведь на одной машине тестируете?) была такая жуткая разница, но возможно вы в самом деле что-то круто оптимизировали в части сетевой кухни между терминалом и вашим сервером.
Но вот какая штука получается. Для ручной торговли — это пофик. Там важнее, чтобы графики не лагали на проливах. Для скоростных роботов — а кого обгонять собираемся, за кем неэффективность подбирать будем? маркет-мейкера? соседнего робота, использующего выделенный интерфейс на биржу? очевидно, их мы никогда не обгоним по определению. Но тогда что нам даст такой прирост?
Безусловно, такой разрыв — прекрасен сам по себе. Но что он даёт, кроме цифр с тесте? Вот бы какие рассуждения участников любопытно было почитать.
Вы его не смотрели?
Для ручной торговли пофиг? Ну да, ты видишь в разы меньше обновлений в стакане (из алгосистемы тоже), чарты у тебя живут своей жизнью и обновляются не в рилтайме, все тебя обгоняют в биржевой очереди. Конечно пофиг.
Тут несколько ярых защитников собралось, которые принципиально не желают видеть ни тормоза языка в сотни раз, ни тормозов исполнения/регистрации сделок в десятки раз, ни слайдшоу в стакане.
Причем когда мы показали и доказали тормоза QLUA языка от 50 до 600 раз, нам заявляли, что «это фигня, покажите скорость исполнения сделок».
Вот показали скорость сделок и их предпочли не заметить и попытались разыграть карту «чарты не нравятся и вообще что-то где-то слышали про тормоза».
так что с количеством клиентов на сервере? ответ будет?
Если вы считаете, что от количества счетов это зависит, то сильно наивны.
Вот простой пример только что сделал на нашем MetaQuotes-Demo:
— 3 118 финансовых инструментов
— 245 228 активных счетов
— 3 150 терминалов в онлайне
— 142 730 открытых позиций
— 71 582 активных лимит ордеров
С помощью того же робота SyncTradeTest.mq5 с VPS совершил 1000 синхронных сделок:
— SyncTradesTest (GBPUSD,H1)
— Total time: 1387.791 ms, average: 1.388 ms in 1000 trades
За 1.3 секунды было совершено 1000 синхронных сделок со средним латенси 1.388 мс. Конечно на сервере нет биржевого шлюза. Зато есть 245к счетов и тонна другой нагрузки.
Это демонстрация для iQuik, который уперся в мысль, что все должны писать софт, зависимый от количества счетов/сделок.
Показывается, что при наличии хорошо нагруженного сервера время исполнения и маленькое и стабильное. В режиме шлюза к общему времени исполнения добавилось бы чистое время шлюза.
Запускаете один терминал чисто под роботов, настраиваете там все и оставляете в фоне. А сами работаете на чистой копии терминала без риска что-то навредить 20 роботам неловким движением.
На своем терминале используйте шаблоны и быстро переключайтесь между ними. Шаблоны работают как вкладки и доступны в один клик:
Роботов сажайте на отдельный терминал, открывайте 20 окон в нем для них. И не трогайте руками этот терминал. Не имеет значения, красиво или не красиво размещаете 20 чартов для роботов. Это просто база для спокойной отработки роботов.
А вот для себя ставите отдельную копию терминала, подключаетесь с тем же аккаунтам и уже без роботов вручную занимаетесь анализом. Тут и вкладками можно играть и все что угодно.
Если же вы пытаетесь вести рутину ручного анализа вместе с запущенными роботами в той же копии терминала, то гарантированно случайно или робота удалите или еще что-то сделаете.
Как это все хозяйство контролировать? Какой робот в какой позе сейчас? Я себе через Comment() по каждому роботу вывожу информацию в углу окна. Но окна уже перестают влезать в один экран уже в минимальном размере.
Раз используете 20 роботов, найдите приемлемое решение. Пуш уведомления, общий лог, периодические отчеты по почтеftp и тд.
Терминал тут помочь не может.
30 роботов, с каждого нужно 5 параметров вытаскивать через глобальные переменные и все в одну общую таблицу складывать.
Единственное! в Такие моменты я и в квик смотрю, там все нормально рисуется.
Вот это новость. Тут нет никакой ошибки и никаких тормозов. Биржевые чарты рисуются по ласт/проторгованной цене.
Осталось разобраться, не запаздывает ли сильно ваш LAST. Все таки в новостные моменты так стакан не убегает далеко без сделок, тем более в Si
Это же доказано в тестах статьи. И даже визуально доказано: youtu.be/i5vvD66I3Ik
Но честно признаться, я делаю уже за вас вашу работу =). Есть прецендент. И было бы наверное нормально, если вы бы без обвинений реагировали. Мне врать незачем, об этом писали не раз. И только сегодняшнее обсуждение выявило причины, причем мы же и выявили. Отмечу, что в квике параллельно такого нет (у меня запущено всегда 2 терминала и в новости мне приходится уходить на квик на 2-3 минуты), а он тоже рисует по ласту.
Биржевые чарты рисуются по ласт/проторгованной цене.
Именно она в МТ5 иногда притормаживает отдохнуть, не вынося нагрузки, и отпуская Бида и Аска в свободный полет, но без себя)))
Но внятно с полной текстовой выкладкой, а не выбросом ссылки на некое видео без единого объяснения.
Сомневаюсь, что с учетом вскрывшегося вашего непонимания отрисовки по ластам, получится что-то показать.
Зато я несколько раз просил привести внятное видео с доказательством прямо тут. Но доказательств с прямыми объяснениями и указанием на проблему все еще нет.
Зато вот выяснилось, что вы были не в курсе, что биржевые чарты рисуются по Last. Отсюда вытекает, что никаких тормозов нет.
Возьмите в любой день и любое время и сделайте скринкаст, наконец. Опишите внятно, что вы хотите увидеть и что рисуется не так.
Тогда и обсудим. Я вот сегодня влегкую для доказательств сделал несколько видео, скриншоты, написал детальнейшие объяснения.
Не нужно теорий и «что если».
Вы уже достаточно много времени публиковали свои заблуждения в категорической форме. Больше разговора не будет.
Чак Норис задумчиво курит в уголке. )
Там же точнейший мультивалютный(моделируются множество символов) тестер с миллисекундной точностью!
Вы даже визуализацию включить можете.
могли бы вы уточнить: почему в коде QLua время получения ответа биржи вы берёте по событию OnOrder, а не по OnTransReply?
И еще, у вас в коде комментарий ошибочный попался; ошибки для тестов нет, просто на будущее:
— вызывается при получении новой стоп-заявки или при изменении параметров существующей стоп-заявки
function OnTrade(order)
а так у вас продукты хорошие, и интернет сообщество сильное (это уже серьезно) спасибо
Юрий Ч., в тестах получал повышение быстродействия своих алгоритмов на 5 порядков, правда, одновременно и алгоритмы переработал (быстродействие в ущерб памяти). Выжал почти все, есть еще потенциальный резерв в замене плавающей арифметики на целочисленную (не оценивал).
Там компилятор просто зверь. И никакого геморроя с длл.
Ответьте, пожалуйста, на мой второй вопрос (выше Вы их не заметили) — при такой скорострельности MT5, не планируете ли ввести секундные таймфреймы (типа 1, 2, 5, 10, 15, 30)?
Если трейдер хочет, он сам может нарезать себе любые таймфреймы для анализа. Но «рыбы там нет».
А по поводу DLL из QLUA. Вы заметили, о чем статья?
В ней ведь четко доказано, то уведомления о тиках вам будут передаваться в 5 раз реже, чем в МТ5. То есть, ваш алгоритм не будет знать о подавляющем большинстве изменений на рынке.
Ну и торговые операции из QLUA экстремально медленные. Ваши заявки будут попадать в конец очереди исполнения очень запоздавшими.
Что дает МТ5 для трейдеров на MOEX?
Кардинальное сокращение разрыва в скорости между HFT и обычными трейдерами. Вас меньше будут обгонять на пути в стакан всякие умельцы, которые апплодируют наличию медленных терминалов на рынке.
Если я буду делать все сам, то мне и терминал не понадобится, даже такой замечательный, как MT5. А где «водится рыба» — мне знать лучще. Поверьте, для своих алгоритмов и конкретных условий торговли, о которых Вы ничего не знаете, я выберу оптимальный вариант, без излишеств.
Когда мой брокер даст мне доступ к площадкам MOEX, я проверю MT5 в моих реальных условиях.
Спасибо за ответы на мои вопросы.
Пишу в mql5 свои функции, потом из этих функций как из блоков пишу большие функции и использую из в своих экспертах.
Есть мнение что такой способ написания кода будет медленнее чем если бы я в своиз больших функциях не использовал самописные маленькие функции, а фактически разворачивал бы их и писал все внутри большой функции.
Надеюсь вы поняли, что я имел в виду )
Очень просто: https://www.mql5.com/ru/vps?server=Open-Broker
прямо в броузере можно увидеть лучшие варианты размещения на хостинге своих терминалов:
В пару кликов из терминала MetaTrader 5 выбираете ближайший сервер с пингом 1-2 мс и мигрируете свое рабочее окружение терминала вместе с роботами (без исходников) в облако. Потом можно контролировать работу роботов через панель управления.
Еще уточнение: показываемый нашим сервисом пинг — это не сетевой ICMP пинг (который заведомо ниже нашего), а реальный пинг в ядро торгового сервера по сетевым протоколам платформы.
При пинге в 2 миллисекунды до торгового сервера МТ5 реальное полное время исполнения сделок на бирже можно получить в пределах 10 мс. Что и было продемонстрировано в статье.
странно, почему на реальных торгах у меня в среднем 150 мс уходит на заявку и на сделку? Пинг 17 мс, сервер Московский.
быстрее в 4 раза, конечно, чем QUIK, но не 10 мс, какие 10 мс...
может настраивать надо?
я просто скачал и ничего не настраивал