Язык программирования торговых стратегий MQL4/MQL5 скакнул на 77 позиций в мировом индексе TIOBE.
В декабре 2014 года MQL4/MQL5 дебютировал в нем на 118-м месте, а в ноябре 2016 года добрался уже до 41-й строчки. Отметим, что для организаторов рейтинга оба языка MQL4 и MQL5 объединены из-за одинаковости.
TIOBE считается самым авторитетным рейтингом языков программирования и показывает не только текущую позицию языка, но и ее динамику.
Cтатистика TIOBE ежемесячно отражает, какие языки становятся популярнее, а какие – теряют своих сторонников. Методика подсчета рейтинга подробно описана здесь.
Главный критерий оценки – количество поисковых запросов, содержащих название языка. Чем выше интерес к языкам MQL4/MQL5 в поисковых системах Google, Bing, Yahoo, Википедии и YouTube, тем выше их место в рейтинге.
77 позиций вверх за 2 года – это впечатляющий рывок, говорящий о серьезном росте интереса к самостоятельному написанию роботов для платформ MetaTrader и увеличении количества алготрейдеров.
Благодарим всех пользователей, проявивших интерес к алготрейдингу и языкам MQL4/MQL5!
2 места не имеет и не будет иметь даже теоретичеки. В чистом виде это язык является дешевой и медленной смазкой для организации хоть какого-то скриптинга в программах.
1. Многопоточность — введите дублирующие callback OnBookEvent и OnTick, хотя бы до 4-х, с независимыми событийными очередями по потокам. А систему семафоров пользователь пусть думает сам.
2. Сделайте более широкое настраивание рабочего стола трейдера, увеличьте число таблиц и введите в них редактирование выводимых полей информации.
3. Сделайте настройку отключения дополнительных сервисов, для трейдинга они не нужны, а ресурсы тянут.
Вот анонс нового релиза MetaTrader 5. В нем мы сделали большой упор на новые продвинутые математические библиотеки, а также реализовали аналог графической библиотеки plot/plot2 из R.
Как раз уклон в сложные математические вычисления позволит нам расширить аудиторию исследователей.
Еще из хорошего — сервис GitHub теперь поддерживает языки MQL5 и MQL4, что еще больше увеличивает проникновение:
Так что добро пожаловать на МТ5, где набор возможностей кратно выше предыдущей платформы.
Обязательно вот писать такую чушь? Или так сладка мысль «ведь так хочется поверить в чье-то самоубийство», что можно отключить мозг?
Не получился у вас такой красивый заход.
Объекты.
Вообще язык у вас теперь одинаковый мт4 и мт5.
Функции только по разному называются.
Из за этого неразбериха.
А чистый код будет одинаково работать потому что он один теперь.
Вот некоторые как за спасательный круг самоубеждения держатся за мифическую позицию «MQL4 был простой-простой». Другие пытаются не увидеть разницы.
Возможности языка теперь mt4 и mt5 1 в 1.
Он одинаковый.
Библиотеки функций все по разному называются.
В этом несовместимость.
Платформы да разные, в мт5 есть стакан и тиковое тестирование.
ПС
Съездить что ли… по общаться ...
Именно разработчики двигают развитие и создают продуктовое насыщение. А потребители(те, про которых вы говорите не программируют) принципиально не могут создавать продукты.
И это не лечится никакими желаниями или устремлениями. Вся эта тема продумана, проверена и полита безвозвратно потерянными деньгами тысяч пытающихся компаний.
Что сделано для тех, кто не программирует:
— огромная документация на 10 языках, вдруг смогут научиться
— более 600 статей, по которым можно легко разобраться
— огромная библиотека исходного кода, программы качаются в один клик, используются легко, по ним можно учиться или отдать их на доработку во фриланс
— готовый аппстор, качаешь бесплатное, покупаешь платные, тестируешь платные в тестере, арендуешь на срок
— продаешь или покупаешь сигналы, автоследование
— во фрилансе может заказать переделку или создать новую программу. на выбор десятки хороших разработчиков, аукцион сразу исполнителей, защита средств, арбитраж неудачных заказов
— VPS сервис прям из коробки, можно запустить роботов с минимальным латенси близко к брокеру и не беспокоиться за стабильность связи
— мастер создания экспертов из кубиков
— постоянное развитие платформы, обсуждение на форуме
Как-то это даже близко не подходит под понятие «не хотите подумать об основной массе клиентов». Скорее наоборот.
А LUA на 30-м ;-))
Одно дело язык общего плана, а другое — чистый прикладной язык для одной платформы. То, что специализированный язык для одной платформы одного производителя смог подняться так высоко — это большое достижение.
Translator, вы не в курсе, сколько банков по всему миру используют Метатрейдер. Конечно, у нас огромная доля в ритейл секторе.
Искусственный интеллект, нейросети и любая математика в нем не только возможны, но и работают. Просто поищите.
Вот только недавно в своей математической библиотеке (в исходниках распространяется), являющейся аналогом R, мы порвали этот самый R по скорости вычислений от 3 до 7 раз в среднем.
В тиковом скальпинге и HTF мы недавно прямо тут показали преимущество перед Квиком в полноте данных в 5 раз, а в скорости совершения сделок в 28 раз: сравниваем MQL5 и QLUA — почему роботы на MQL5 до 28 раз быстрее?
В скорости MQL5 vs QLUA мы доказали, что MQL5 быстрее QLUA от 50 до 600 раз: битва за скорость: QLUA vs MQL5 — почему MQL5 быстрее от 50 до 600 раз?
Глупости «про русских» придумываете. Посмотрите лучше, какие доказательные доводы я привел выше на ваши ошибочные заявления.
R не для скорости а для анализа.
Сравнивать его с языком уровня С++ 89 на что похож MQL.
Это некорректно.
R: Объемы данных опять же, хранение их в матрицах, Графики из коробки в R многомерные.
И все у нас получается. Уже сейчас можно безболезненно перетаскивать часть мат логики из R в MQL5.
Такие есть везде и у всех компаний.
К счастью, у нас есть опыт и понимание, куда надо двигаться и что будет правильно.
Можно задать пару провокационных вопросов касаемо скорости.
1. Сколько сделок через MT5 реально в первую секунду открытия биржи сделать?
2. Можно ли сделать связанную заявку на 2 и более инструментов сделать.
Например купить 1 сбербанк привелегированный и продать 1 сбербанк обычный? Как быстро выполниться вторая нога вслед за первой. Опять же на московской бирже.
Это я к вопросу про парный трейдинг. Просто скорости из статьи 10мс это очень быстро, моя плаза2 из дома с искусственной задержкой от биржи 30мс должна проигрывать метатрейдеру судя по вашим статьям.
Сервер метатрейдера тоже к плазе подключается.
Серверные задержки конечно есть.
Проверки дублируются.
Но по сравнению с Квиком просто небо и земля.
По сравнению с чистой плазой, да еще и на колакайшин.
Конечно проиграет.
Но деньги то разные это стоит.
То что квик отдыхает в стороне это понятно.
Мне бы в циферках. Плаза из дома без колакейшена задержка 30мс от биржи в подарок. Первая секунда торгов это примерно 10 сделок с подтверждением максимум.
И меня интересует как на метатрейдере исполнен парный/много парный трейдинг кто это контролирует и сколько успевает % в среднем провестись.
Просто по факту биржа реально охренела. 30к в год за право торговать было приемлемо как то. Подняла в 2 раза до 60к ну влом было переписывать но крепко задумался что надо, а шас ещё в 2 раза подымут до 120к, мало им комиссий, проще реально за неделю робота переписать будет.
farok,
Думаю битву за первую секунду мт5 не потянет.
Там есть свой сервер промежуточный и в нем свой риск модуль.
Но я думал что из дома в принципе нельзя торговать первую секунду до этого.
Деньги зарабатывают в первую милисекунду. А я про секунду говорю.
Как бы на плазе в первую секунду, так же как и в последнюю всё идеально ничего не лагает разницы нет совсем. А из дома или из колакейшена разница в милисекундах.
Если МТ5 стоит на колакейшене через плазу, там должно быть тоже самое.
На ФОРТСЕ
Вот, приходится изучать функционал MT4.
Читаю про OrderSelect() - https://docs.mql4.com/ru/trading/orderselect
и плачу… перед этим получил OrdersTotal(), который не спрашивает источник(MODE_TRADES или MODE_HISTORY), но это еще не все:
"
pool=MODE_TRADES
[in] Источник данных для выбора. Используется, когда параметр select равен SELECT_BY_POS. Mожет быть одной из следующих величин:
MODE_TRADES (по умолчанию) — ордер выбирается среди открытых и отложенных ордеров,
MODE_HISTORY — ордер выбирается среди закрытых и удаленных ордеров.
Возвращаемое значение
Возвращает true при успешном завершении функции или false в случае ошибки. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().
Примечание
Параметр pool игнорируется, если ордер выбирается по номеру тикета. Номер тикета является уникальным идентификатором ордера.
Чтобы определить, из какого списка выбран ордер, необходимо проанализировать его время закрытия. Если время закрытия ордера равно 0, то ордер является открытым или отложенным и взят из списка открытых ордеров терминала.
Отличить открытый ордер от отложенного ордера можно по типу ордера. Если время закрытия ордера не равно 0, то ордер является закрытым или удаленным отложенным и был выбран из истории терминала. Отличить закрытый ордер от удаленного отложенного также можно по типу ордера."
я — хз… как это понять и что при этом курили
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY) buys++;
if(OrderType()==OP_SELL) sells++;
}
}
Смотрю на эту конструкцию, на break, в хелп и пытаюсь осознать… дичь!