Новая версия платформы MetaTrader 5 build 4230: больше встроенных приложений и расширение поддержки ONNX

 

В четверг 7 марта 2024 года будет выпущена обновленная версия платформы MetaTrader 5.

В новой версии в стандартную поставку включено 28 новых роботов и 12 технических индикаторов. Они помогут в изучении языка MQL5, а также при разработке собственных торговых стратегий. Помимо этого, улучшено отображение маржевых требований в спецификации инструмента. Появилась возможность автоматически завершать работу платформу по окончании работы скрипта при помощи конфигурационных файлов. Это позволяет выполнять различные одноразовые задачи, не используя лишние ресурсы компьютера.

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

Новая версия платформы MetaTrader 5 build 4230: больше встроенных приложений и расширение поддержки ONNX


В MetaEditor улучшен встроенный поиск. Результаты поиска онлайн и в локальных файлах теперь отображаются в разных вкладка для удобства. Помимо этого, стал доступен поиск по недавно вышедшей книге «Программирование на MQL5 для трейдеров».


MetaTrader 5 Client Terminal

  1. Terminal: Добавлено 28 новых советников и 12 новых индикаторов в стандартную поставку платформы. Приложения доступны в разделах «Советники\Free Robots» и «Индикаторы\Free Indicators» в Навигаторе. Для каждого из них доступен исходный код с подробными комментариями, что поможет вам в изучении языка MQL5.

    В роботах реализованы торговые стратегии на основе технических индикаторов и свечных паттернов, таких как 3 Black Crows – 3 White Soldiers, Bullish Engulfing – Bearish Engulfing, Bullish Harami – Bearish Harami и другие. Новые индикаторы – это реализация популярных каналов: Camarilla, DeMark, Donchian, Fibonacci, Keltner и других.


    Добавлено 28 новых советников и 12 новых индикатров в стандартную поставкку платформы


  2. Terminal: Идет подготовка к запуску подписок на рыночные данные Nasdaq. Прямо из платформы трейдеры смогут получить доступ к котировкам в реальном времени и глубокой ценовой истории по сотням финансовых инструментов с одной из крупнейших бирж. Для этого нужен лишь демо-счет на сервере MetaQuotes-Demo и аккаунт MQL5.community.


    Подписка на рыночные данные Nasdaq


    Оформив подписку, просто добавьте соответствующие инструменты в «Обзор рынка» и приступайте к работе. Вы сможете открывать по ним графики, анализировать их при помощи любых объектов и индикаторов, а также использовать данные для проверки торговых стратегий в тестере. Доступ ко всей информации осуществляется штатно, как для обычных финансовых инструментов, с которыми вы работаете у брокера.

  3. Terminal: Доработан раздел маржи в спецификации инструмента. Теперь в нем показываются и коэффициенты маржи для каждого типа инструмента, и итоговые рассчитанные значения маржи.


    Доработан раздел маржи в спецификации инструмента


    Также исправлены ошибки в отображении маржи для некоторых типов инструментов.

  4. Terminal: Добавлена ссылка на Telegram-канал MQL5 в меню «Справка». В канале регулярно публикуются интересные материалы для разработчиков: обзоры новых статей по программированию и бесплатных роботов и индикаторов из библиотеки кодов. Подписывайтесь на канал, чтобы не пропустить важную информацию.


    Добавлена ссылка на Telegram канал MQL5 в меню «Справка»


  5. Terminal: Добавлена поддержка параметра ShutdownTerminal в секции [StartUp] пользовательских конфигурационных файлов. Используйте этот параметр, чтобы запускать платформу для выполнения одноразовых задач при помощи скриптов. Например, у вас есть скрипт, который делает скриншот графика. Вы создаете конфигурационный файл, который запускает этот скрипт вместе с платформой. Если добавить в него ShutdownTerminal со значением «Yes», платформа будет автоматически выключаться сразу после завершения работы скрипта.
  6. Terminal: Усилена защита сетевых протоколов и продуктов в Маркете.
  7. Terminal: Отключена поддержка сервиса «Сигналы» для демо-счетов. Для получения расширенной статистики по вашим тренировочным счетам используйте новый торговый отчет. Он предоставляет массу показателей по прибыльности и рискованности вашей стратегии, содержит графики прироста, баланс и эквити, диаграммы распределения сделок по направлению и инструментам и многое другое.
  8. Terminal: Исправлено отображение ссылок на соглашения с брокером в меню «Справка».
  9. Terminal: Улучшен выбор наилучшего сервера при аренде VPS.
  10. Terminal: Исправлено обновление страницы подписок при переключении между разделами в «Навигаторе».
  11. Terminal: Исправлено обновление списка соглашений при открытии предварительного счета.
  12. Terminal: Обновлены переводы пользовательского интерфейса.
  13. MQL5: Добавлено свойство MQL_STARTED_FROM_CONFIG в перечисление ENUM_MQL_INFO_INTEGER. Возвращает true, если скрипт/эксперт запущен из секции StartUp конфигурационного файла. Это означает, что данный скрипт/эксперт был прописан в конфигурационном файле, с которым запущен терминал.
  14. MQL5: Продолжается работа над расширением поддержки моделей ONNX.

    В задачах машинного обучения не всегда нужна большая точность вычислений. Для ускорения расчетов некоторые модели используют типы данных с меньшей точностью, такие как Float16 и даже Float8. Чтобы пользователи могли подавать такие данные на вход моделей, в MQL5 добавлены следующие функции:
    bool ArrayToFP16(ushort &dst_array[],const float &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayToFP16(ushort &dst_array[],const double &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayToFP8(uchar &dst_array[],const float &src_array[],ENUM_FLOAT8_FORMAT fmt);
    bool ArrayToFP8(uchar &dst_array[],const double &src_array[],ENUM_FLOAT8_FORMAT fmt);
    
    bool ArrayFromFP16(float &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayFromFP16(double &dst_array[],const ushort &src_array[],ENUM_FLOAT16_FORMAT fmt);
    bool ArrayFromFP8(float &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
    bool ArrayFromFP8(double &dst_array[],const uchar &src_array[],ENUM_FLOAT8_FORMAT fmt);
    Поскольку форматы вещественных чисел для 16 и 8 бит могут отличаться, в параметре fmt в функциях конверсии необходимо указывать, какой именно формат числа требуется обработать. Для 16-битных версий используется новое перечисление NUM_FLOAT16_FORMAT, которое на данный момент имеет следующие значения:

    • FLOAT_FP16 — стандартный 16-битный формат, так же известный как half.
    • FLOAT_BFP16 — специальный формат brain float point.

    Для 8-битных версий используется новое перечисление ENUM_FLOAT8_FORMAT, которое на данный момент имеет следующие значения:

    • FLOAT_FP8_E4M3FN — 8-битное число с плавающей точкой, 4 бита порядок и 3 бита мантисса. Обычно используется как коэффициенты.
    • FLOAT_FP8_E4M3FNUZ — 8-битное число с плавающей точкой, 4 бит порядок и 3 бита мантисса. Поддерживает NaN, не поддерживается отрицательный ноль и Inf. Обычно используется как коэффициенты.
    • FLOAT_FP8_E5M2FN — 8-битное число с плавающей точкой, 5 бит порядок и 2 бита мантисса. Поддерживает NaN и Inf. Обычно используется для градиентов.
    • FLOAT_FP8_E5M2FNUZ — 8-битное число с плавающей точкой, 5 бит порядок и 2 бита мантисса. Поддерживает NaN и Inf, не поддерживает отрицательный ноль. Также используется для градиентов.

  15. MQL5: Добавлены новые методы матриц и векторов, используемые в машинном обучении:

    • PrecisionRecall — вычисляет значения для построения кривой precision-recall. Данный метод, как и метод ClassificationScore, применяется к вектору истинных значений.
    • ReceiverOperatingCharacteristic — вычисляет значения для построения кривой Receiver Operating Characteristic (ROC). Данный метод, как и метод ClassificationScore, применяется к вектору истинных значений.

  16. MQL5: ONNX Runtime обновлено до версии 1.17. Подробности релиза доступны в GitHub.
  17. MQL5: Пакет для интеграции с Python обновлен до версии 5.0.4200, добавлена поддержка Python 3.12. Обновите свой пакет командой "pip install --upgrade MetaTrader5", чтобы получить последние изменения.
  18. MQL5: Добавлено значение DEAL_REASON_CORPORATE_ACTION в перечисление ENUM_DEAL_REASON — сделка проведена в результате корпоративного действия: объединения или переименования бумаги, переноса клиента на другой счет и т.д.
  19. MQL5: Добавлено поддержка сравнения комплексных векторов и матриц для метода Compare. Сравнение заключается в оценке расстояния между комплексными числами. Расстояние рассчитывается по следующей формуле sqrt(pow(r1-r2, 2) + pow(i1-i2, 2)) и является действительным числом, которое уже можно сравнивать с эпсилоном.
  20. MQL5: Исправлено преобразование переменных типа color в текст в формате RGB.
  21. MQL5: Исправлен возврат результата получения собственных векторов в методе Eig в случае комплексного собственного значения. Добавлена перегрузка метода для комплексного решения.
  22. MQL5: Исправлена работа функции OrderCalcMargin для некоторых случаев.
  23. MetaEditor: Добавлена ссылка на недавно вышедшую книгу «Программирование на MQL5 для трейдеров» в меню Справка\MQL5.community. Также книга добавлена в поисковую систему, вы можете находить в ней нужные материалы прямо из MetaEditor:


    Добавлен поиск по книге «Программирование на MQL5 для трейдеров»



  24. MetaEditor: Доработан встроенный поиск:

    • Раздел результатов поиска в окне «Инструменты» разделен на две вкладки: «Поиск» — для результатов поиска онлайн (документация, статьи, книга и т.д.), «Поиск в файлах» — для локальных результатов.
    • В раздел результатов добавлена отдельная поисковая строка. Вы можете использовать ее вместо поисковой строки в основной панели инструментов MetaEditor.

  25. MetaEditor: Добавлена поддержка режимов AVX, AVX2 и AVX512 при компиляции программ из командной строки. Для этого добавьте в команду один из ключей: /avx, /avx2 или /avx512.
  26. MetaEditor: Движок SQLite для работы с базами данных обновлен до версии 3.45.
  27. MetaEditor: Отключена поддержка Internet Explorer. Теперь для отображения HTML-страниц используется только Microsoft Edge WebView2. По сравнению с устаревшим MSHTML новый компонент существенно расширяет возможности для отображения веб-контента, предоставляя доступ к современным технологиям. Переход на WebView2 позволит улучшить внешний вид некоторых разделов MetaEditor, увеличить их производительность, создать более отзывчивые интерфейсы.
  28. MetaEditor: Исправлено зависание, происходившее в редких случаях при автодополнении функций.
  29. Tester: Исправлен расчет тройного свопа в случае, если день начала теста приходится на день тройного свопа.
  30. Исправления по крешлогам.

MetaTrader 5 Web Terminal

  • Улучшено отображение маржевых требований в спецификации контракта. Теперь помимо коэффициентов и исходных параметров для расчета отображается итоговое значение маржи. Если сумма залога зависит от объема позиции, в диалоге будут показаны соответствующие уровни.


    Улучшено отображение маржевых требований в спецификации контракта


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


Обновление будет доступно через систему Live Update.

 

Уважаемые разработчики а можно Ctrl + выделение кода вернуть как раньше или сделать настраиваемым ? 

Я весь софт перебрал, дмая что что то мешает а это какая то новая фича, причем н е понятно зачем...

Код скачет...

 

Обнаружился капитальный баг в реализации индикаторов. Полагаю, он был всегда.

Имеется индикатор X. Из его обработчика OnCalculate возвращаем значение N, которое меньше rates_total (это важно для многих специфических индикаторов с собственным построением баров, таких как ренко). При последующих вызовах OnCalculate убеждаемся, что prev_calculated равно N. Это правильное поведение. И отображение на графике тоже правильное.

Имеется индикатор Y (произвольный, позволяющий указывать к какой таймсерии его применить). Накладываем его на индикатор X. В индикаторе Y параметр rates_total в OnCalculate должен равняться N, но это не так: rates_total равен общему числу баров. В результате, индикатор Y рассчитывается на мусорных данных. Более того, если в индикаторе Y вызвать BarsCalculated(_AppliedTo), то тоже получим общее число баров графика, а не количество, возвращенное из индикатора X.

 

1 - Вы добавили пачку индикаторов только по две копии зачем?

2 - Посмотрел пару, профиль рынка без принудительного обновления графика не отрисовался.


 
Vladimir Pastushak #:

1 - Вы добавили пачку индикаторов только по две копии зачем?

Удалите те, которые содержат пробелы.  Индикаторы были переименованы и могли наложиться 2 копии

 
Vladimir Pastushak #:
2 - Посмотрел пару, профиль рынка без принудительного обновления графика не отрисовался.

Скорей всего, у вас не было необходимой истории при первом запуске индикатора.

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

 
Уважаемые разработчики! Хотелось бы узнать будет ли стандартный тестер стратегий терминала использовать возможности видеокарты или необходимо включение ресурсных переменных Open CL в код эксперта? На сегодняшний день в версии 4199 все галочки на вкладке Настройки Open СL установлены, но видеокарта в оптимизации не участвует.
 
MetaQuotes:

В пятницу 23 февраля 2024 года будет выпущена обновленная версия платформы MetaTrader 5 в бета-режиме.

...

Обновление будет доступно через систему Live Update.

Terminal MetaTrader 5 x64 build 4199 started for MetaQuotes Software Corp.

2024.02.26 19:24:25.366 Network '*************': authorized on MetaQuotes-Demo through Access Point EU 0 (ping: 152.78 ms, build 4199)


Подключаюсь к демо-счету и никакой версии MetaTrader 5 build 4210 не наблюдаю.

Что я делаю не так?

 
MetaQuotes:

В пятницу 23 февраля 2024 года будет выпущена обновленная версия платформы MetaTrader 5 в бета-режиме.

Обновление будет доступно через систему Live Update.

Где это обновление? Ни на одной из 3-х платформ, включая версию от MQ, его нет.

 
Может, в следующую пятницу...
 
Stanislav Korotky #:

Обнаружился капитальный баг в реализации индикаторов. Полагаю, он был всегда.

Имеется индикатор X. Из его обработчика OnCalculate возвращаем значение N, которое меньше rates_total (это важно для многих специфических индикаторов с собственным построением баров, таких как ренко). При последующих вызовах OnCalculate убеждаемся, что prev_calculated равно N. Это правильное поведение. И отображение на графике тоже правильное.

Имеется индикатор Y (произвольный, позволяющий указывать к какой таймсерии его применить). Накладываем его на индикатор X. В индикаторе Y параметр rates_total в OnCalculate должен равняться N, но это не так: rates_total равен общему числу баров. В результате, индикатор Y рассчитывается на мусорных данных. Более того, если в индикаторе Y вызвать BarsCalculated(_AppliedTo), то тоже получим общее число баров графика, а не количество, возвращенное из индикатора X.

Подробно описал в блоге.

Mission Impossible: MetaTrader 5 does not support testing and optimization of trading robots based on renko indicators
Mission Impossible: MetaTrader 5 does not support testing and optimization of trading robots based on renko indicators
  • www.mql5.com
This is a continuation of a series of blogposts about trading by signals of renko charts. Before this point we have discussed many aspects of using custom symbols for renko implementation. The latest
Причина обращения: