rss

Профиль компании

Финансовые компании

Блог компании MetaQuotes Software | Cравниваем MQL5 и QLUA - почему роботы на MQL5 до 28 раз быстрее?



Многие трейдеры зачастую не задумываются над тем, как быстро доходит их заявка до биржи, как долго она там исполняется и когда торговый терминал трейдера узнает о результате.

В результате они не знают, что легко могут улучшить качество исполнения своих сделок за счет более быстрой реакции и скорости проведения транзакций.

12 сентября 2016 года были проведены три замера скорости на реальном счете БД «Открытие» на MetaTrader 5 build 1415 и Quik 7.2.23 в одно и то же время.

Каждый тест был призван измерить конкретную скоростную характеристику, важную с точки зрения алгоритмического трейдинга:
  1. Тестирование синхронных операций  — серия из 10 синхронныхпоследовательных торговых операций Buyс подтверждением успешности выполнения каждой транзакции на бирже. Последующая операция не производится, пока не будет  получено подтверждение от торгового сервера, что операция прошла/не прошла на бирже. Скорость выполнения зависит от всей цепочки терминал — торговый сервер — биржа — торговый сервер — терминал. Чем меньше будет среднее время торговой синхронной операции, тем лучше.
  2. Тестирование асинхронных операций — серия из 10 асинхронныхторговых операций Buyбез подтверждения успешности выполнения транзакции. Это чистый тест на скорострельность, измеряющий скорость отправки заявок на биржу. Тут также лучшим будет тот терминал, у которого время выполнения 10-ти асинхронных покупок будет меньше.
  3. Тестирование обновления стакана заявок — замер скорости изменений заявок в Стакане. Это простой подсчет количества тиков (обновлений) Стакана в единицу времени. Чем чаще приходят котировки с биржи в торговый терминал, тем быстрее будет обновляться Стакан. Следовательно, чем больше тиков за секунду поступает в программу автоматической торговли, тем быстрее она может среагировать на изменения в структуре спроса/предложения на рынке. Лучшим будет тот терминал, в котором скорость обновления Стакана выше.

Условия испытаний

Оба терминала установлены на арендованном сервере VPS в Москве, как и сами торговые серверы БД «Открытие». Торговля велась на одном и том же реальном счете в срочной секции Московской биржи инструментом Si-9.6.

Мы записали на видео все три теста одним роликом, чтобы было видно:

  1. торговые операции проводились на одном и том же реальном счете;
  2. и на одном и том же инструменте Si-9.16;
  3. на одном и том же компьютере;
  4. торговые операции проводились в одно и то же время;
  5. в одних и тех же рыночных условиях;
  6. скорости обновления стаканов замерялись на одном и том же инструменте и в одно и то же время;
  7. сетевая задержка до серверов Открытия была 2 мс.

Результаты сравнения скорости операций: MetaTrader 5 vs QUIK

Результаты всех трех тестов собраны в сводной таблице, детальные результаты по каждому тесту представлены ниже отдельными разделами этой статьи.

Тест                   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 опережает по всем трем тестам со значительным отрывом. Желающие могут самостоятельно провести подобные испытания с помощью приложенных исходных кодов. Само тестирование представлено на видео выше.

 

Видео сравнения скорости торговых операций


MetaTrader 5 быстрее QUIK в торговых операциях до 28 раз

Проведенные замеры показали, что язык 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 лотом:

  • SyncTradeTest.mq5
  • SyncTradeTest.lua

Измерение времени, затраченного на синхронную транзакцию, проводилось следующим образом:

  • В языке MQL5 есть синхронная функция OrderSend, а время легко замерить в начале и конце серии сделок.

  • В языке QLUA нет синхронной торговой функции и поэтому статус сделки приходится отлавливать отдельно. Время старта торговой операции замерялось непосредственно перед вызовом sendTransaction () с помощью функции os.closck().

    Успешное выполнение транзакции отслеживалось во встроенном обработчике OnOrder() на первом вызове в момент, когда приходило событие о совершении сделки на бирже. Разница между этими событиями и есть время, потраченное на выполнение торговой операции.
Результаты замеров показывают, что в синхронных операциях MetaTrader 5 до 28 раз быстрее, чем QUIK.

 

#2 Тестирование скорости асинхронных торговых операций

В этом тесте все значительно проще. Десять раз подряд на биржу отправляется приказ на покупкуодного контракта фьючерса Si-9.16. Это позволило нам измерить среднее время асинхронной передачи в QLUA с точностью 1 ms / 10 = 0.10 ms. В MetaTrader 5 погрешности нет, так как в нем используется микросекундный таймер.

Мы не ждем никакого результата наших операций, за каждой отправкой заявки торговому серверу сразу же делается отправка новой заявки:

  • AsyncTradeTest.mq5
  • AsyncTradeTest.lua
Как видно из результатов, в асинхронных операциях MetaTrader 5 в 3.33 раза быстрее, чем QUIK.

 

#3 Тестирование обновления стакана заявок

Ряд торговых стратегий строится на анализе потока заявок в стакане. В языке MQL5 событие изменения стакана можно отлавливать в обработчике OnBookEvent(), а в QLUA через OnQuote().

Тесты скорости обновления стаканов проводились с помощью следующих программ, которые доступны в приложенном ZIP-архиве:

  • MarketUpdateTest.mq5
  • MarketUpdateTest.lua

В результате последовательного запуска этих программ на двух разных терминалах было зафиксировано, что стакан в MetaTrader 5 обновляется примерно в 5 раза чаще, чем в QUIK. Скорее всего QUIK просто лимитирует частоту обновлений стакана и не показывает все изменения.

Так как все исходные коды приложены тут же, любой желающий может самостоятельно воспроизвести эти тесты и убедиться лично в представленных результатах.

 

Почему такая разница?

Мы фанатично относимся к производительности и боремся за каждый десяток микросекунд, годами оптимизируя торговую платформу.

Именно поэтому мы показываем потрясающую производительность встроенного алгоритмического языка MQL5 и скорость торговых транзакций.
★22
202 комментария
Спасибо
avatar
ТиМ, квик позволяет писать внешние расширения. Поэтому появились приводы, роботы. А вот Метак — система замкнутая. Поэтому она не получит распространения, и будет всегда системой номер 2, которую брокеры используют лишь для ценового давления на Арку.
avatar
Евгений, ничего подобного, у TigerTrade есть коннектор к MT5, скорость работы близка к плазе.
avatar

Евгений, дело в том, что на MetaTrader 5 уже сам по себе стакан навороченный и удобный для скальпинга:



До внешних расширений как у MetaTrader 5, Квику бесконечно далеко. Объем возможностей отличается на порядок.


Кроме того, все можно делать прямо в самом MetaTrader 5 с помощью MQL5. Хоть DOOM написать и это не шутка.

В отдном только разделе утилит https://www.mql5.com/ru/market/mt5/utility есть множество
кастомных панелей управления, включая скальперские.

avatar
MetaQuotes Software, 1) приводы будут всегда. как только у всех появится удобных стакан, захотят особый индикатор. появится индикатор, захотят особую кнопку. Это бесконечный процесс, и те, кто получают первым такую вещь, получают преимущество на рынке. Как только это появлятеся у всех, преимущество исчезает. понимать надо рынок, ребята, и кому вы это делаете.

2) МКЛ — это ваш язык и его не учат ни в одном учебном заведении. Специалистов не найти. Ваш раздел с работой бесполезен, плавали-знаем. Там люди не сильно выше меня знают технику, а я себя считаю нулем.
avatar

Евгений, приводов в том понимании «лечим древние костыли» у МТ5 не будет.

А вот безопасных и надежных программ на MQL5 каждый день прибавляется. Для того язык и создан. Это уже четвертое поколение наших алгоритмических языков с 2001 года.

MQL5 вместе с MQL4 попал в сотню самых известных языков программирования уже пару лет назад: www.tiobe.com/tiobe-index/

Есть серьезно обоснованное мнение, что на MQL4/MQL5 как прикладном алгоязыке написано больше всего алгоритмических программ. И научиться им элементарно — это же чистые C/C++.

avatar
MetaQuotes Software, почему в 100? Почему не в 200?

Вы странные. Сами пишите программу на Си, и удивляетесь, почему клиенты не хотят иметь дела с вашим языком встроенным.
avatar
Евгений, потому что я дал ссылку на сторонний рейтинг.

Будьте добры, почитайте.

А потом добро пожаловать в официальный MetaTrader Market, где больше 6000 программ доступны для скачивания. В опенсорсную библиотеку кода, где программы в огромном количестве в исходниках. В документацию и статьи, наконец.

Мы не удивляемся, а наоборот регистрируем огромный поток программ на MQL4/MQL5. Просто вы не в курсе.
avatar
MetaQuotes Software> MQL5 вместе с MQL4 попал в сотню самых известных языков программирования уже пару лет назад: www.tiobe.com/tiobe-index/

Малоизвестный экзотический Lua (так его называют на форумах QUIK'а и не только) — на 30-м месте. Чисто для справки.
avatar
iQuik.ru, вы же знаете, что QLUA нельзя считать самостоятельным языком, как чисто прикладные MQL4/MQL5 в трейдинге.

Сам исходный язык LUA не может давать повода для учета QLUA в рейтингах.
avatar
В МТ5 можно загрузить сторонние котировки?
avatar
build 1415 мне как клиенту открытия не доступен. Более того, я даже у вас на сайте релиза не вижу
www.metatrader5.com/ru/releasenotes
avatar
Chepell, версия клиента тут не влияет.

Все последние бета-билды сначала доступны на нашем MetaQuotes-Demo сервере. 1415 сейчас там лежит, анонс тут: https://www.mql5.com/ru/forum/23/page19#comment_2797039
avatar
Chepell, http://c2n.me/3C9WAVK
avatar
Про номер 2.

Такое ощущение, что некоторые не читают текст, а сразу идут в комменты.

МТ5 в 28 раз быстрее на синхронных операциях, в 5 раз чаще стакан обновляется и есть возможность в 5 раз быстрее среагировать на новую цену.

Большинство трейдеров ведь даже не понимали, какое качество обслуживания им дают.
avatar
MetaQuotes Software, вы делаете полную ненужную ерунду. Брокерам не интересны клиенты, дрочащие над скоростью клика мышки. Эти лодоманы ничего не заработают, и сольют в первые месяцы. Деньги идут от игроков, которые годами трудятся. Для них ваша скорость не решает ничего. Они дают сигналы несколько раз в неделю.
avatar
Евгений, вы можете доказать свои утверждения:
1) «брокерам не интересны клиенты, дрочащие ...»
2) «деньги идут от игроков… для них скорость не решает ничего»

Самое главное, что в бизнесе торговых платформ не брокеры решают, а трейдеры. То, что выберут трейдеры, то и покупают брокеры. Это было проверено раз 500 на практике.

Поэтому сейчас у трейдеров есть отличное решение, а брокеры быстро подтянутся, как начнут терять клиентура на Квике.
avatar
MetaQuotes Software, Смешно. Если бы трейдеры выбирали, квик бы не стоял у всех поголовно брокеров. Есть масса более удобных систем.
-начнут терять клиентура на Квике.
Не будут терять клиента на квике, потому что вы не предоставляете ничего потенциально нового.
Клиентов больше будет, скорость ниже будет.

avatar
Александр, у трейдеров в России практически никогда не было выбора при торговле на MOEX.

Причин много: полное отсутствие инвестиций в сферу платформ, брокеры практически никогда не рекламировались (их рекламные бюджеты просто смешные), общее нежелание работать с российскими биржами.

Вы видимо не в курсе, что у большинства (больше сотни) российских брокеров не более 50-100 клиентских счетов. При такой клиентуре вообще не может быть и речи об развитии и инвестициях.

Фактически весь ритейл держат первые 5 брокеров.
avatar
MetaQuotes Software, транзак, smart com, alor и т. д.
По изучайте рынок.
-российских брокеров не более 50-100 клиентских счетов.
С таким кол-вом счетов никакого бизнеса не будет. Они тем более не потянут mt.
avatar
MetaQuotes Software, скорость — это хорошо. Проблема МТ5 в сравнении с Квиком в другом: Квик позволяет торговать всё сразу в одном терминале, МТ5 этого не может. МТ5 он какой-то «однобокий», хоть и быстрее. Когда эти терминалы сравнятся по функционалу, тогда скорость МТ5 будет решающим фактором однозначно.
avatar
Max Xaser, единый торговый счет мы сделаем.

Странно конечно говорить о сравнении функционала.
avatar
MetaQuotes Software, 
Странно конечно говорить о сравнении функционала.
отчего же?! отнюдь! Я не скальпер, мне, слава Богу, на стакан по-боку. Но в терминале у меня только срочка! А что в Квике?
avatar
MetaQuotes Software, несмотря на убогость и полный проигрыш квика перед мт, клиенты на мт не потянуться. Причина первая — кухонная история мт с форексом и виртуальным дилером известна всем и ооооочень долго не канёт в небытие, причина 2 — два единственных брокера, открывашка и бкс это не те брокеры где есть смысл держать серьёзные суммы и это только то что актуально лично для меня. Возможность открепить окна, опционы, разные терминалы для каждой секции биржи — это также всё минусы метатрейдера.
avatar
DedBoroded, вы так говорите, будто у вас на руках есть статистика переходов на МТ5.

Реальность такова, что миграция трейдеров российской биржи на МТ5 идет давно и постоянно.

Люди потрясающе иррациональны, но все равно решения с функциональными преимуществами на порядки занимают рынок.
avatar
MetaQuotes Software, у меня нет такой статистики, и я согласен с тем что народ переходит понемногу на мт, так как мт5 действительно удобнее почти во всём, кроме единого счёта, окон и опционов, но у большинства и счета то копеечные, пару сотен тысяч может быть и многие из этого большинства даже договоров с брокером не читали. Но клиенты со счетами чуть выше мелкого — хотя бы пару десятков мио рублей обращают внимание на все мелочи и им мт5 нивкакую не подходит — сужу чисто по себе и по своему окружению из тех кто также занимается торговлей
avatar
DedBoroded, и вручную торгуете?

Не путайте инерцию с рациональным поведением, кстати. Людям нравится думать, что они обоснованно до мелочей принимают решения.

Вот вам показали пропасть, но у вас обоснованные мелочи…
avatar

MetaQuotes Software, лично я вручную не торгую, но большинство из моих знакомых да, торгуют вручную. Их по этой причине на мт вообще никогда не перетащить будет и квика достаточно.

Мелочами вы считаете брокерский договор в открытии? вы его сами то читали? под такой договор подпишутся только начинающие. Про БКС ничего не знаю, но им не доверил бы ни копейки.

Единый счёт… ну да соглашусь что это вообщем то мелочи, не стало бы важным критерием отказа от платформы.

Опционы — их нет, значит нет смысла вообще говорить о мт5 как о достойной платформе.

Окна-… да тоже по большому счёту пофигу

Ваша история с кухнями и виртуальным дилером — из-за этого я никогда не перейду на ваш софт крупными деньгами, хотя терминал реально лучше квика, я с этим не спорю и тестирую все стратегии я сначала у вас, так как быстрее пишется и есть тестер, а после уже загоняю всё на луа.

avatar
DedBoroded, договор и видел и подписывал. Все договоры российских брокеров по идее страшные (в моем личном зачете Тройка Диалог хуже всех был) и очень близкие по силе давления.

Опционы сделаем, но они никак не лимитирующий фактор на MOEX. Это ведь только повод что-то сказать против МТ5, а никак не рабочий инструмент масс (и не масс).

Про кухни вспоминаете тоже в качестве повода против, хотя 100% знаете, что каждая рыночная и лимит сделка попадает на биржу и получает свой тикет. Причем попадает на биржу во много раз быстрее вашего текущего варианта.

В противовес стоит язык в 50-600 раз быстрее, скорость сделок в десятки раз быстрее и настоящий рилтайм режим обновления данных. Не знаю, что меня бы удержало.
avatar
MetaQuotes Software, скажу проще — мне всё равно на массы, которые к тому же сливают, я говорю про то что важно лично для меня. Я вижу что мт5 реально удобнее квика и я работаю в обоих платформах и все тесты гоняю сначала здесь а потом пишу на луа. Но к примеру теже опционы вы обещаете уже несколько лет сделать а их нет, как нет и других брокеров: Из брокеров конкретно меня интересуют только сбербанк и промсвязьбанк. Остальная мелочь меня также не волнует.
avatar
MetaQuotes Software, -в 5 раз чаще стакан обновляется
Со стаканом согласен, в арке сами говорят мы стакан медленный создали, с задержкой в 20 миллисекунд.
-МТ5 в 28 раз быстрее на синхронных операциях
Это зависит от загруженности сервера.
Вы уверены, что загруженность сервера метатрейдера и квика одинаковы?

avatar
Про загруженность и потенциальные тормоза в будущем не надо придумывать.

Мы не зря создали 5 поколений торговых платформ, каждый раз с нуля проектируя новые и работая с постоянно увеличивающимися нагрузками.

Скорость отработки торговых заявок от загруженности нашего торгового сервера практически не зависит и не должна зависеть. Это прямая труба на биржу.
avatar
MetaQuotes Software, Вы издеваетесь? У вас же не просто труба до сервера, у вас еще бэкофис для брокера есть. Зачем хрень то нести? Да и труба может заполнится.
avatar
Александр, вы не в курсе ни одного технического решения, но спорите с техническими специалистами.

Труба означает, что все заявки прямиком летят в биржевой шлюз и затраты на стороне сервера лишь в поверхностной проверке достаточности ГО. А это не требует практически никаких ресурсов и на это никак не влияет загруженность сервера.

Чтобы труба заполнилась, надо всех российских брокеров посадить на один торговый сервер с коннектом на биржу и даже в этом случае нагрузить не получится. Банально денег у трейдеров столько нет, чтобы создать поток заявок.

Кроме того, у нас кластерная система с линейным увеличением мощности путем добавления дополнительных трейд и аксес серверов. Под нашу масштабируемость мы не найдем даже потенциальной возможности нагрузиться.
avatar
MetaQuotes Software, У нас биржа от заявок перегружается, видать находят где-то деньги трейдеры :) И у вас же есть висюны на открытии сессии :)
avatar
Александр, вы не доказали своих слов про тормоза.

Потому что знаете, что платформа тут не при делах. Просто пытаетесь раз за разом в каждой нашей теме вбрасывать свою ложь.
avatar
MetaQuotes Software, на форуме писали люди про тормоза, знаете я им верю.
avatar
Александр, как интересно!

Вы так рьяно выступали про тормоза, игнорировали мои требования предоставить доказательства, а теперь оказывается, что это все «с форумов».

Я в общем-то не сомневался.
avatar
MetaQuotes Software, мне не зачем вам что-то доказывать. О тормозах я говорил только с точки зрения начала сессии. При этом я не стремлюсь доказать что-то. Я даже могу предположить, что это проблемы биржи и не постоянны.
avatar
Александр, у биржи свои проблемы от собственных технологий.
avatar
MetaQuotes Software, А сколько раз обновляется стакан в плазе?
У вас походу тоже получаются задержки и вы тоже не выдаете все изменения в стакане? или выдаете все изменения в стакане?
avatar
MetaQuotes Software> Скорость отработки торговых заявок от загруженности нашего торгового сервера практически не зависит и не должна зависеть. Это прямая труба на биржу.

Даже для акций/облигаций?!
avatar
iQuik.ru, без разницы.

Если есть шлюзы со внешним исполнением, то торговый сервер является лишь быстрой тупой трубой, у которой главная задача — быстро передать данные.
avatar
MetaQuotes Software> Есть есть шлюзы со внешним исполнением, то торговый сервер является лишь быстрой тупой трубой, у которой главная задача — быстро передать данные.

Ответ не понял, спрошу иначе: риски для акций/облигаций — где, когда и кто считает?
avatar
sortarray sortarray, про язык мы уже писали Битва за скорость: QLUA vs MQL5 — почему MQL5 быстрее от 50 до 600 раз?

Сейчас речь о латенси в платформе. Мы настолько вылизали все процессы во всей платформе (язык, терминал, точки доступа, торговые серверы, шлюзы), что показали разгромные результаты в обычном трейдинге.

Теперь о доступности таких результатов трейдерам. Вот штатный запуск VPS хостинга, включенный прямо в терминал. Несколько кликов и ваш робот отправляется работать на ближайшую к брокеру точку:



И тут не синтетика — тестируются две базовые функции синхронной и асинхронной посылки торговых заявок.

Это самая основное в качестве исполнения.
avatar
MetaQuotes Software, 
Сейчас речь о латенси в платформе. Мы настолько вылизали все процессы во всей платформе 

ребята, во время сильных движений, у вас прорисовка графика отстает. На любой машине. При одновременном открытии 3-4 графиков. Об этом даже не раз на СЛ писали. Что то не до вылизали.
avatar
Андрей К, можете на видео показать?

Какая видеокарта стоит и что происходит если открыть чистый график без объектов с индикаторами?
avatar
MetaQuotes Software, хорошо. Я подберу волатильную новость, и на чистом графике запишу. Потом отправлю в службу поддержки.
avatar
Андрей К, спасибо!
avatar
Андрей К, есть такое. И в момент драмматических движений на FORTS отбой заявок, например в БКС, происходит
avatar
MetaQuotes Software, Чем чаще трейдер торгует, тем быстрее сольется — не, не слышали?

А тот кто профи в ММ, тот «бесплатным» терминалом с кучей скальперских приводов пользоваться не будет.
avatar
St.Vitaliy, вы предлагаете профи:
  — иметь порезанный стакан (в 5 раз медленней обновляется)
  — иметь чарты не в рилтайме?
  — иметь латенси на торговых операциях в 28 раз больше?

Получается именно так. Или вы просто не осознали, что было написано в статье и что вы говорите.
avatar
MetaQuotes Software, профи напишет свой софт на прямую к бирже, без «прокладок».

А профан, да, чем ниже летанси, чем чаще дрыкается котировка, тем быстрее он сольет.

В США, у нормального брокера, при счете менее $25 000 — три сделки в неделю и крапка.

У Вас есть статистика по кухонным клиентам, много ли среди них со счетом 25к+ ??? Если бы ограничения по торговле из США расширить на Форекс, то эта индустрия умерла в первый месяц.

Скорость отрисовки чарта, наверное последнее что интересует проф инвестора.

Вы так и не ответили на мой первый вопрос. Можно ли в самую лучшую аналитическую платформу влить свои котировки?
avatar
St.Vitaliy, свои системы и коннекторы имело смысл писать, когда в руках только Квик был.

С помощью MetaTrader 5 мы показали, как ритейл может быстро избавиться от тормозов, получить массу новых возможностей и отличный алготрейдинг.

Те, кто используют ту же Плазу напрямую, не сильно (0.5-1 мс) выигрывают по сравнению с исполнением через МТ5. Кто использует другие более быстрые каналы, тех исчезающе мало, да и не могут они выжать тех профитов, на что надеялись.

Зачем вам вливать свои котировки, если вы работаете с биржей и вам и так доступны все тиковые (индикатив и сделки) данные?

Возьмите CopyTicks(_Symbol,ticks,COPY_TICKS_ALL,0,100000000) и получите миллионы тиков с торгового сервера. Причем эти тики и в тестере автоматически докачиваются и используются.

И никаких велосипедов.

Кастомные датафиды в терминале мы включим чуть позже. Можно будет создавать синтетику и чужие символы.
avatar
St.Vitaliy, «профи напишет свой софт на прямую к бирже, без «прокладок».»
Тут я с Вами не согласен. Далеко не все торгуют HFT. «Напрямую к бирже» нужно только им.
avatar
Мое мнение, сравнивать время из языков не совсем корректно. Мало ли, чего там на qlua задержка какая, тем более вы задействовали стороннюю библиотеку. 

Чтобы сравнить, кто быстрее, есть уже отработанная методика. В данном случае, с двух терминалов просто посылается заявка. И по номеру заявки смотрится кто быстрее. Если нужно уточнить и время, то смотрится ордерлог на плазе/фасте.
avatar

Андрей К, все абсолютно корректно.

Там не мало ли, а просто настолько плохая реализация. В соседней статье мы показали, что сам язык в 50-600 раз медленнее чем MQL5.

Тестировать надо именно реакцию на терминале. То есть, полный цикл туда-обратно.

В тестах показано три проигрыша:
1) в частоте реакции на приход тиков (да, в Квике о 80% тиков алготредер не в курсе)
2) в скорости синхронных операций (в большинстве случаев так и работают трейдеры)
3) в асинхронных операциях (тут преимущество небольшое, но все равно тормоза синхронных операций показываю, что канальный процессинг у Квика в десятки раз медленнее)

Кроме того, вот есть простое видео трех платформ MetaTrader 5/Quik/SmartX, где просто визуально видно заведомое преимущество MT5 в скорости обновления информации:




avatar
MetaQuotes Software, да. Я прошу прощение. Я не прочитал полностью заголовок. Оказывается вы делали замеры для роботов. А я подумал для ручного трейдинга.
Но все равно. К моему опыту стоить прислушаться. Если сравнивать, то лучше при одновременной посылке заявок.

А так доля правды есть. Особенно, что квик очень много тиков не показывает. Скорее всего агрегирует их.
avatar
Хорошая статья, спасибо. Комментарии лишний раз доказывают, что «стиль полемики важнее предмета полемики» :)
avatar
sortarray sortarray, вы читали отчет?

Выкинуть пакет в сокет на асинхронке — это лишь малая часть теста. И тут мы быстрее в 3.33 раза всего лишь за счет зализанности исходящей магистрали внутри терминала.

А вот выигрыш в 28 раз на получении подтверждения об установки ордера на бирже — это мат.

Вы сами не будьте указанным персонажем и посмотрите видео с доказательствами. И попробуйте технически отпровергнуть.

Нельзя же белое называть черным, когда вокруг столько доказательств.
avatar
 Еще раз спрошу про стакан: в mt5 все изменения в стакане предоставляются или стакан обновляется 1 раз через какое время?
И как обновления стакане в mt5 отличаются от Plaza2?
avatar
Александр, никакого снепшотинга или задержки с нарезкой как в Квике нет.

Мы всегда посылаем все 100% котировок на все терминалы. А приведенный тест доказывает, что Квик не показывает трейдерам 80% апдейтов котировок в QLUA.

Понимаете, что именно вы защищаете?
avatar
MetaQuotes Software, Я не понимаю причем здесь qlua. Вот такая архитектура квика, меня устраивает и свою точку зрения я уже изложил. Повторяться не буду. Из mql5 или lua api я пока выбираю второе, т. к. оно не сравнимо круче и удобнее, чем mql5 и позволяет позволяет подключиться к моей системе без особых проблем. Скорости квика мне хватает, все остальное я сделаю на плаза2.

avatar
Александр, давно уже понятно, что вы выступаете в защиту Квика (вернее против МТ5) при абсолютном техническом незнании.

Очень стараетесь и вам плевать на любые доводы.

Спасибо, что признались в том, что никогда тормозов не видели в МТ5. Осталось признаться, что не использовали МТ5 на реальных счетах MOEX.
avatar
MetaQuotes Software, Странные вы люди. Я всегда говорил, что не использовал mt5, т. к. затрахался с mt4. Ну мне хватило. Было хотел попробовать, но вот почитал документацию, решил отложить до лучших времен.
-при абсолютном техническом незнании
То что вы несете про lua на quik -  это самое настоящие не знание того, как устроен lua и его возможности и архитектура квика. В общем-то я по-мере своих знаний пытаюсь донести свою точку зрения.
-Очень стараетесь и вам плевать на любые доводы.
Вы ошибаетесь. Если ваши доводы корректны, то я с ними соглашаюсь. Например, про стакан — я им не доволен в квике, но скорости хватает. Но то, что вы говорите про луа и его возможности -  это полное не желание видеть мощь и силу lua + native язык программирования.
avatar
Александр, вот спасибо.

Не лезьте тогда обсуждать и обвинять МТ5, раз не использовали его.
avatar
sortarray sortarray, вы читали отчет?

Вы условия одинаковости окружения читали? Видео с непрерывностью процесса тестирования смотрели?

Отпровергните тестирование и результаты на своих цифрах.

Тут в отчете все сделано полностью с доказательствами в надежде поспорить с подготовленными техническими специалистами. А вместо этого вылезли теоретики, не прочитавшие отчет.

Вот исходники: https://c.mql5.com/36/10/metatrader-5-vs-quik.zip
avatar
MetaQuotes Software> Вы условия одинаковости окружения читали?

В отчета не указан один параметр: сколько клиентов на сервере QUIK и сколько на сервере МТ?
avatar
iQuik.ru, это не имеет значения, если сервер написан правильно.

То есть, время отработки у правильной системы должно быть близко к константному. Тем более, у торговых платформ.
avatar
MetaQuotes Software> это не имеет значения, если сервер написан правильно. То есть, время отработки у правильной системы должно быть близко к константному.

Это вы уже вместо ответа отделываетесь общими фразами. Но ведь это вы призывали вести технически грамотные разговоры, не так ли?

Технический термин у вас — «время отработки… должно быть близко к константному». И с этим трудно спорить. Но константа эта, очевидно, отлична от нуля. А значит время расчета для 10 клиентов и для тысячи — отличается на 2 порядка в смысле общей загрузки системы. А система эта, как и сеть, имеет по определению ограниченную вычислительную/пропускную способность.

Так что на надо применять разные прилагательные вроде «правильная система». Это ни о чем.
Просьба технически более точно дать ответ на заданный опрос: одинаковое количество клиентов на серверах было или разное.
avatar
iQuik.ru, вы абсолютно не в теме технических вопросов, но пытаетесь словоблудием что-то вывести.

Константное время отработки означает, что система должна оформлять заявку как на базе в 1 000 пользователей/ордеров, так и на базе в 100 000 пользователей за близкое к константе время.

Так вот мы это обеспечиваем. Видимо, вы про такие вещи и принципы платформ не знаете вообще.

Мы тут бьемся за десятки и сотни микросекунд, вылизывая все места прохождения пакетов, а вы намекаете, что мы глупые ошибки совершаем.
avatar
MetaQuotes Software> Константное время отработки означает, что система должна оформлять заявку как на базе в 1 000 пользователей/ордеров, так и на базе в 100 000 пользователей за близкое к константе время.

Сказанное вами лишь означает что никаких 100 тыс. пользователей на сервере вы не видели и совершенно не понимаете о чем говорите.
Ибо между «должно быть» и «как оно на самом деле» — есть огромная разница.

Одно удивляет: откуда такая наглая уверенность и хамоватость при полной технической безграмотности?
После таких ответов мало у кого возникнет желание даже близко подходить к МТ, который пока еще от позора кухонных манипуляций-то не отмылся окончательно в глазах многих.
avatar
iQuik.ru, посмотрите ниже мой ответ и видео.

Специально для вас сделал видео на сервере:
  — 3 118 финансовых инструментов
  — 245 228 активных счетов
  — 3 150 терминалов в онлайне
  — 142 730 открытых позиций
  — 71 582 активных лимит ордеров

Видимо, вы не в курсе, что мы делаем системы под реально большие нагрузки. Причем мой пример с этим сервером просто мелочь. Не для такого платформа создана.
avatar
MetaQuotes Software, благодарю за цифры.
avatar
iQuik.ru, у вас технологический слив по всему фронту.

avatar
MetaQuotes Software, пара вопросов.
1. при такой скорострельности, не планируете ли вы ввести секундные таймфреймы (типа 1, 2, 5, 10, 15, 30)? 
2. Можете как-то сравнить быстродействие MQL5 и С++, скажем, на арифметической обработке массивов?
avatar
Борис Гудылин> 2. Можете как-то сравнить быстродействие MQL5 и С++, скажем, на арифметической обработке массивов?

Была у них зверская (в хорошем смысле) статейка на эту тему, там всё сравнивалось. Почитать интересно.
avatar
iQuik.ru, спасибо, поищу. Нашел.
avatar
MetaQuotes Software> iQuik.ru, у вас технологический слив по всему фронту.

«У вас» — это у кого? вы меня ни с кем не путаете?
avatar
iQuik.ru, извините, если спутал.

Намек немалой толщины в имени вашем есть.
avatar
MetaQuotes Software, намёка никакого нет. Да и на сайте том всё явно написано.
Извиняю.
avatar
а что там с раундтрипом заявок в метатрейдере? Я понимаю, что зависит от времени дня и загруженности сервера, но все-таки что в среднем?
avatar
broker25, в отчете как раз показаны усредненные замеры.

Посмотрите видео внимательно, пожалуйста.
avatar
MetaQuotes Software, ничего такого там я не увидел. Раундтрип — это не количество заявок в секунду и не время генерации очередной заявки. А время отклика системы с подтверждением выставления заявки. Только время напрасно потратил на просмотр
avatar
broker25, вы не читали вообще текст, а сразу в комменты пошли.

Именно раундтрип и показан у синхронных сделок:
Тест                   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 раза
И вот он в 28 раз меньше. То есть, за то же самое время в МТ5 вы сможете сделать 28 синхронных операций.
avatar
MetaQuotes Software, все я читал, но не верю. Уж как-то смотрится совсем нереально 10 миллисекунд. У меня в Смарткоме 35-75 мс, и я что-то ни разу не слышал, что Айти настолько хуже Открытия. А уж с бксом и сравнивать нечего, у них задержка всегда была нехилой
avatar
broker25, доказательства специально выложены, чтобы любой мог опровергнуть.

Видео было специально приложено, чтобы не было обвинений в подтасовке.

Как видите, еще никто не смог опровергнуть результаты. И это сложно будет, так как мы провели тесты чисто.

Тут сравниваются не брокеры, а технические решения. Российские брокеры вообще очень далеки от необходимости достигать каких-то технических вершин.

Мы показали, как Открытие, запустив MetaTrader 5, резко улучшило качество исполнения торговых транзакций и дало трейдерам быстрые рилтаймовые рыночные данные без всяких снепшотов.

Мы будем дальше работать над оптимизацией всех маршрутов и для нас полученные 10 мс — это слишком много.
avatar
broker25, да все так, 10мс для мт5 вполне реальные цифры. Наблюдаю их у себя на реальном счету.
avatar
Я хотел перейти на МТ5 с квика, возникли проблемы:
1. Окна у Квика как-то удобнее настраиваются. В МТ5 широкие рамки. Настроек меньше. Короче, дизайн МТ5 не понравился. Но это не главное.
2. Чтобы торговать фъючами и акциям нужно ставить ДВА MT5. Из одного торговать нельзя.
3. «Единый» счет для MT5 не работает (БКС). Нужно держать два депозита: один для фъючей, другой для акций.
Это очень не удобно. Из-за этого не стал рассматривать MT5.
avatar
vito2000, просто поработайте подольше.

Над единым счетом работаем. Тут не все от нас зависело.

Как вы смотрите на то, что вам сейчас показывают лишь часть котировок, чарты обновляются не в рилтайме, а сделки вы совершаете в десятки раз медленнее возможного?

Не является ли это более важным для трейдинга?
avatar
MetaQuotes Software> Над единым счетом работаем.

Т.е. как это? вы может не в курсе — но это деньги. Не виртуальные в БД, а реальные. И разносить их по разным корзинкам — дорогая роскошь.
И вот когда вы сумеете всё в один счет запихать — вот тогда и будет смысл сравнивать раундтрипы. Пока же вы показываете ускорение на системе с существенно порезанным функционалом как раз там, где всё не просто в смысле скорости.

MetaQuotes Software> Тут не все от нас зависело.

Можно ли где-то почитать про это поподробнее?
avatar
iQuik.ru, ну чего вы технический провал пытаетесь закрасить единым счетом?

Сделаем мы единый счет. Но это никакого отношения к скорости проведения транзакций не имеет. Тестирование именно торгового латенси.
avatar
MetaQuotes Software> ну чего вы технический провал пытаетесь закрасить единым счетом?

Это вы вместо простого ответа на технический вопрос пытаетесь замаскировать словоблудием и обвинением задавшего вопрос, указывая, что вопрос — неправильный с вашей точки зрения. И это уже удивительно.

MetaQuotes Software> Сделаем мы единый счет.

Славно. Тогда и продолжим разговор.
avatar
iQuik.ru, тема про скорость торговых операций. Не надо уходить в сторону.

После единого счета разговаривать уже будет не о чем, вообще то.
avatar
vito2000, как раз графики удобней на мт5. У них больше опций. Разве что сетки не хватает по 100пп, но она есть отдельно на форуме. 
avatar
Тест                   MetaTrader 5    QUIK      Выигрыш MT5
Синхронные операции        9.59 ms   277.80 ms  28.96 раз
Разница как бы впечатляющая, спору нет.
Конечно крайне странно, чтобы с одной машины (вы ведь на одной машине тестируете?) была такая жуткая разница, но возможно вы в самом деле что-то круто оптимизировали в части сетевой кухни между терминалом и вашим сервером.
Но вот какая штука получается. Для ручной торговли — это пофик. Там важнее, чтобы графики не лагали на проливах. Для скоростных роботов — а кого обгонять собираемся, за кем неэффективность подбирать будем? маркет-мейкера? соседнего робота, использующего выделенный интерфейс на биржу? очевидно, их мы никогда не обгоним по определению. Но тогда что нам даст такой прирост?

Безусловно, такой разрыв — прекрасен сам по себе. Но что он даёт, кроме цифр с тесте? Вот бы какие рассуждения участников любопытно было почитать.
avatar
iQuik.ru, специально было приложено видео, где в течение двух минут без разрывов показывались все последовательно запускаемые тесты.

Вы его не смотрели?

Для ручной торговли пофиг? Ну да, ты видишь в разы меньше обновлений в стакане (из алгосистемы тоже), чарты у тебя живут своей жизнью и обновляются не в рилтайме, все тебя обгоняют в биржевой очереди. Конечно пофиг.

Тут несколько ярых защитников собралось, которые принципиально не желают видеть ни тормоза языка в сотни раз, ни тормозов исполнения/регистрации сделок в десятки раз, ни слайдшоу в стакане.

Причем когда мы показали и доказали тормоза QLUA языка от 50 до 600 раз, нам заявляли, что «это фигня, покажите скорость исполнения сделок».

Вот показали скорость сделок и их предпочли не заметить и попытались разыграть карту «чарты не нравятся и вообще что-то где-то слышали про тормоза».
avatar
MetaQuotes Software

так что с количеством клиентов на сервере? ответ будет?
avatar
iQuik.ru, это коммерческая информация брокера.

Если вы считаете, что от количества счетов это зависит, то сильно наивны.

Вот простой пример только что сделал на нашем 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к счетов и тонна другой нагрузки.

avatar
MetaQuotes Software, А кто контрагент у этого ДЕМО?
avatar
St.Vitaliy, какой контрагент, когда сервер демо? В качестве исполнения на демо стоит обычная петля автоподтверждения.

Это демонстрация для iQuik, который уперся в мысль, что все должны писать софт, зависимый от количества счетов/сделок.

Показывается, что при наличии хорошо нагруженного сервера время исполнения и маленькое и стабильное. В режиме шлюза к общему времени исполнения добавилось бы чистое время шлюза.
avatar
Translator, открепление окон будет через билд.
avatar
MetaQuotes Software, а вкладки когда будут? Вот у меня 20 алго, под каждый нужен график. Ужас как неудобно, так еще и по вкладкам эти графики не разнести…
avatar
Chepell, а какие проблемы с чартами под роботов?

Запускаете один терминал чисто под роботов, настраиваете там все и оставляете в фоне. А сами работаете на чистой копии терминала без риска что-то навредить 20 роботам неловким движением.

На своем терминале используйте шаблоны и быстро переключайтесь между ними. Шаблоны работают как вкладки и доступны в один клик:




avatar
MetaQuotes Software, т.е. шаблоны работают параллельно друг с другом? Можно 20 роботов распределить по нескольким шаблонам?
avatar
Chepell, нет. Работает только активный шаблон.

Роботов сажайте на отдельный терминал, открывайте 20 окон в нем для них. И не трогайте руками этот терминал. Не имеет значения, красиво или не красиво размещаете 20 чартов для роботов. Это просто база для спокойной отработки роботов.

А вот для себя ставите отдельную копию терминала, подключаетесь с тем же аккаунтам и уже без роботов вручную занимаетесь анализом. Тут и вкладками можно играть и все что угодно.

Если же вы пытаетесь вести рутину ручного анализа вместе с запущенными роботами в той же копии терминала, то гарантированно случайно или робота удалите или еще что-то сделаете.
avatar
MetaQuotes Software, да вот в том и проблема, что следить за большим количеством роботов ой как непросто сейчас.
Как это все хозяйство контролировать? Какой робот в какой позе сейчас? Я себе через Comment() по каждому роботу вывожу информацию в углу окна. Но окна уже перестают влезать в один экран уже в минимальном размере.
avatar
Chepell, заполняйте поле comment у ордеров и тогда будет ясно.

Раз используете 20 роботов, найдите приемлемое решение. Пуш уведомления, общий лог, периодические отчеты по почтеftp и тд.

Терминал тут помочь не может.
avatar
MetaQuotes Software, логи/пуши использую. Но все-равно нужен нормальный графический интерфейс управления/контроля за алгоритмами в виде таблицы. Я вам уже показывал как это в тслабе организовано. Подумали бы на эту тему…
avatar
Chepell, Всё это решается через глобальные переменные терминала, в том же квике даже таких возможностей отслеживания нету.
avatar
DedBoroded, да уже думал на эту тему. Не будет ли использование глобальных переменных сказываться на общей скорости работы?

30 роботов, с каждого нужно 5 параметров вытаскивать через глобальные переменные и все в одну общую таблицу складывать.


avatar
Chepell, 30*5=150 переменных переварит легко, скажу даже так: и 1500 переварит легко без проблем
avatar
DedBoroded, спасибо! значит придется копать в этом направлении
avatar
qlewer, о! вот у меня так же 1 в 1
avatar
qlewer, а вы знаете что, он свечи рисует по сделкам, а не по стакану… то есть когда свеча не рисуется, якобы запаздывает, реально по ленте на вашем видео нет сделок. Получается якобы запаздывает.

Единственное! в Такие моменты я и в квик смотрю, там все нормально рисуется.
avatar
qlewer, ну вот причина отставания графика и ясна. Лента в резкие движения наверное запаздывает. Надеюсь прочитают
avatar
Андрей К, так вы считаете «тормозами» отрисовку чартов по Last сделкам?

Вот это новость. Тут нет никакой ошибки и никаких тормозов. Биржевые чарты рисуются по ласт/проторгованной цене.
avatar
MetaQuotes Software, да, теперь по видео я разобрался, что алгоритм отрисовки другой.

Осталось разобраться, не запаздывает ли сильно ваш LAST. Все таки в новостные моменты так стакан не убегает далеко без сделок, тем более в Si
avatar
Андрей К, он не только не запаздывает, он в 5 раз быстрее и чаще данные выдает.

Это же доказано в тестах статьи. И даже визуально доказано: youtu.be/i5vvD66I3Ik

avatar
MetaQuotes Software, А вы понимаете о чем речь сейчас?
avatar
MetaQuotes Software, подниму ордерлог, гляну ради интереса. То есть не ордерлог, а ленту сделок.

Но честно признаться, я делаю уже за вас вашу работу =). Есть прецендент. И было бы наверное нормально, если вы бы без обвинений реагировали. Мне врать незачем, об этом писали не раз. И только сегодняшнее обсуждение выявило причины, причем мы же и выявили. Отмечу, что в квике параллельно такого нет (у меня запущено всегда 2 терминала и в новости мне приходится уходить на квик на 2-3 минуты), а он тоже рисует по ласту.
avatar
MetaQuotes Software, 

Биржевые чарты рисуются по ласт/проторгованной цене.

Именно она в МТ5 иногда притормаживает отдохнуть, не вынося нагрузки, и отпуская Бида и Аска в свободный полет, но без себя)))
avatar
qlewer, докажите, пожалуйста.

Но внятно с полной текстовой выкладкой, а не выбросом ссылки на некое видео без единого объяснения.

Сомневаюсь, что с учетом вскрывшегося вашего непонимания отрисовки по ластам, получится что-то показать.
avatar
MetaQuotes Software, Господи, где вас таких находят менеджеров)) Вы видео смотрели? Или сразу идете в комментарии не посмотрев?
avatar
qlewer, у нас телепатов нет.

Зато я несколько раз просил привести внятное видео с доказательством прямо тут. Но доказательств с прямыми объяснениями и указанием на проблему все еще нет.

Зато вот выяснилось, что вы были не в курсе, что биржевые чарты рисуются по Last. Отсюда вытекает, что никаких тормозов нет.
avatar
MetaQuotes Software, Вы не смотрели видео. И сразу лезете в комментарии.
avatar
qlewer, нет объяснений от автора = нечего смотреть.

Возьмите в любой день и любое время и сделайте скринкаст, наконец. Опишите внятно, что вы хотите увидеть и что рисуется не так.

Тогда и обсудим. Я вот сегодня влегкую для доказательств сделал несколько видео, скриншоты, написал детальнейшие объяснения.
avatar
MetaQuotes Software, Давайте попробуем. Бид может уйти выше на значительное расстояние от хая текущей свечи и оставаться там несколько секунд?
avatar
qlewer, жду четкого доказательства.

Не нужно теорий и «что если».
avatar
MetaQuotes Software, Для начала объясните. Бид может быть выше хая текущей свечи в течении нескольких секунд или нет?
avatar
qlewer, жду доказательств в нашем сервисдеске.

Вы уже достаточно много времени публиковали свои заблуждения в категорической форме. Больше разговора не будет.
avatar
MetaQuotes Software, Конечно не будет. Вы не в состоянии ответить даже на такой простой вопрос. О чем тут еще говорить. Вы не понимаете предмет разговора.
avatar
Метатрейдер  настолько быстр, что сделки в нем могут появляться  быстрее самой биржи...
Чак Норис задумчиво курит в уголке. )
avatar
Не то не другое совершенно не подходит для построения роботов, не смотря на все иллюзии )) в одной проге вообще нельзя тестировать, а в другой можно, но нельзя историю загрузить. теоретически построить можно, но для первого слитого депозита
avatar
Андрей Егоров, вам даже наличие полной реальной тиковой истории для тестера не нравится или вы просто об этом не знаете?

Там же точнейший мультивалютный(моделируются множество символов) тестер с миллисекундной точностью!

Вы даже визуализацию включить можете.
avatar
MetaQuotes Software
могли бы вы уточнить: почему в коде QLua время получения ответа биржи вы берёте по событию OnOrder, а не по OnTransReply?

И еще, у вас в коде комментарий ошибочный попался; ошибки для тестов нет, просто на будущее:

— вызывается при получении новой стоп-заявки или при изменении параметров существующей стоп-заявки
function OnTrade(order)

avatar
MetaQuotes Software, )))))))))))) я даже спорить не буду, но, спасибо, пожрал )))
а так у вас продукты хорошие, и интернет сообщество сильное (это уже серьезно) спасибо
avatar
Андрей Егоров, а в чем тогда роботам жить? В самописном софте?
avatar
В квике OnTransReply обычно приходит раньше других callbacks, но вы его почему-то не учитываете в тесте синхронных транзакций. А это вполне ответ биржи с номером ордера. Хотя, кардинально это ситуацию не изменит.
avatar
MetaQuotes Software, а где исходные коды скриптов которыми проводилось тестирование? хочется самому всё проверить для начала.
avatar
Да, почитал статью «Битва за скорость». Если нужны ресурсоёмкие вычисления в qlua — их можно засунуть в dll. Ну я бы так сделал ;-) 
avatar
«Если нужны ресурсоёмкие вычисления в qlua — их можно засунуть в dll».
Юрий Ч., в тестах получал повышение быстродействия своих алгоритмов на 5 порядков, правда, одновременно и алгоритмы переработал (быстродействие в ущерб памяти). Выжал почти все, есть еще потенциальный резерв в замене плавающей арифметики на целочисленную (не оценивал).
avatar
Борис Гудылин, в mql5 вы получаете скорость на уровне с++.

Там компилятор просто зверь. И никакого геморроя с длл.
avatar
MetaQuotes Software, так я и делал DLL на С++, поэтому и получаю скорость тоже на уровне C++ (у меня необычайно ресурсоемкие алгоритмы). Дальнейшее повышение быстродействия — уже моя забота и с MQL и C++ не связана.

Ответьте, пожалуйста, на мой второй вопрос (выше Вы их не заметили) —  при такой скорострельности MT5, не планируете ли ввести секундные таймфреймы (типа 1, 2, 5, 10, 15, 30)?
avatar
Борис Гудылин, не планируем.

Если трейдер хочет, он сам может нарезать себе любые таймфреймы для анализа. Но «рыбы там нет».

А по поводу DLL из QLUA. Вы заметили, о чем статья?

В ней ведь четко доказано, то уведомления о тиках вам будут передаваться в 5 раз реже, чем в МТ5. То есть, ваш алгоритм не будет знать о подавляющем большинстве изменений на рынке.

Ну и торговые операции из QLUA экстремально медленные. Ваши заявки будут попадать в конец очереди исполнения очень запоздавшими.

Что дает МТ5 для трейдеров на MOEX?

Кардинальное сокращение разрыва в скорости между HFT и обычными трейдерами. Вас меньше будут обгонять на пути в стакан всякие умельцы, которые апплодируют наличию медленных терминалов на рынке.
avatar
MetaQuotes Software, «Если трейдер хочет, он сам может нарезать себе любые таймфреймы для анализа. Но «рыбы там нет»».
Если я буду делать все сам, то мне и терминал не понадобится, даже такой замечательный, как MT5. А где «водится рыба» — мне знать лучще. Поверьте, для своих алгоритмов и конкретных условий торговли, о которых Вы ничего не знаете,  я выберу оптимальный вариант, без излишеств.
Когда мой брокер даст мне доступ к площадкам MOEX, я проверю MT5  в моих реальных условиях.

Спасибо за ответы на мои вопросы.
avatar
MetaQuotes Software, а вот такая ситуация.
Пишу в mql5 свои функции, потом из этих функций как из блоков пишу большие функции и использую из в своих экспертах.

Есть мнение что такой способ написания кода будет медленнее чем если бы я в своиз больших функциях не использовал самописные маленькие функции, а фактически разворачивал бы их и писал все внутри большой функции.

Надеюсь вы поняли, что я имел в виду ) 
avatar
Chepell, ну так а замерить скорость в обоих вариантах не судьба на какой-нибудь тестовой функции?
avatar
Как обычный трейдер может получить торговое латенси в 10 мс при трейдинге на MOEX?

Очень просто: https://www.mql5.com/ru/vps?server=Open-Broker
прямо в броузере можно увидеть лучшие варианты размещения на хостинге своих терминалов:


В пару кликов из терминала MetaTrader 5 выбираете ближайший сервер с пингом 1-2 мс и мигрируете свое рабочее окружение терминала вместе с роботами (без исходников) в облако. Потом можно контролировать работу роботов через панель управления.

Еще уточнение: показываемый нашим сервисом пинг — это не сетевой ICMP пинг (который заведомо ниже нашего), а реальный пинг в ядро торгового сервера по сетевым протоколам платформы.

При пинге в 2 миллисекунды до торгового сервера МТ5 реальное полное время исполнения сделок на бирже можно получить в пределах 10 мс. Что и было продемонстрировано в статье.
avatar
MetaQuotes Software,



странно, почему на реальных торгах у меня в среднем 150 мс уходит на заявку и на сделку? Пинг 17 мс, сервер Московский.

быстрее в 4 раза, конечно, чем QUIK, но не 10 мс, какие 10 мс...
может настраивать надо?
я просто скачал и ничего не настраивал
avatar

теги блога MetaQuotes Software

....все тэги



UPDONW
Новый дизайн