MetaTrader 5 build 3180: Векторы и матрицы в MQL5 и повышение удобства работы

Что нового в MetaTrader 5?

28 января 2022

Terminal

  1. Добавлена активация окна графика при переносе на него символа из "Обзора рынка" или торговой операции из истории счета.

    Оба эти действия меняют финансовый инструмент графика на выбранный. Ранее они не приводили к тому, чтобы окно графика становилось активным. Соответственно, некоторые дальнейшие действия, такие как вызов торгового диалога (F9) или изменение масштаба (+/-) при помощи горячих клавиш, могли неожиданно для пользователя применяться к другому графику. Теперь график, чей символ вы поменяли перетаскиванием, сразу становится выбранным для дальнейшей работы.

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



  3. Добавлено интеллектуальное включение реальных или тиковых объемов при открытии новых графиков. Эти данные важны при анализе рынка, однако не все трейдеры знают об их доступности в платформе.

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

    Механизм используется, только если график открывается с шаблоном по умолчанию default.tpl. Если пользователь вручную отключит показ объемов в настройках графика, они не будут включаться опять при его переоткрытии. Пользовательские шаблоны не затрагиваются.

  4. Оптимизировано и значительно ускорено отображение пользовательского интерфейса.
  5. Доработана функция печати графиков, вызываемая через меню "Файл":
    • Исправлено сохранение настроек печати
    • Улучшен вид печатаемой страницы: увеличены линии сетки, скрыто название программы, обновлен шрифт заголовка
    • Увеличен диалог печати для корректного отображения интерфейса

  6. Исправлена работа поля объема в панели быстрой торговли на графике. Ранее после ввода нового значения и нажатия клавиши Tab значение сбрасывалось на предыдущее.
  7. Исправлен показ торговой истории на графике. Ранее при переключении между счетами операции от предыдущего счета не удалялись с графиков.
  8. Исправлена оплата сервисов MQL5.com с помощью PayPal.
  9. Исправлено зависание платформы при отображении графика волатильности опциона.
  10. Исправлена проверка прав при вступлении в групповой чат с участниками сообщества MQL5.com. Ранее вновь подключившийся пользователь мог только читать, но не писать сообщения.
  11. Заменена надпись на графике при отсутствии данных. Теперь вместо "Waiting for update" отображается имя инструмента, таймфрейм и описание инструмента.
  12. Доработана поддержка отрицательных цен, добавленная в билде 2450. Для соответствующих инструментов в "Обзоре рынка" теперь могут отображаться и нулевые значения.
  13. Исправлено отображение логотипов продуктов в Маркете при работе под Wine.

MQL5

  1. Продолжаются работы по добавлению поддержки векторов и матриц. Новые функции существенно расширяют возможности для разработчиков решений на основе нейросетей.

    На данный момент уже готово множество функций:
    • Eye — создает матрицу с единицами по указанной диагонали и нулями в других местах.
    • Identity — создает матрицу указанного размера с единицами на главной диагонали и нулями в других местах.
    • Ones — создает матрицу указанного размера, заполненную единицами.
    • Zeroes — создает матрицу указанного размера, заполненную нулями.
    • Full — создает матрицу указанного размера, заполненную указанными значениями.
    • Copy — создает копию матрицы или вектора.
    • Diag — извлекает диагональ из матрицы, а также заполняет указанную диагональ значениями из вектора.
    • Tri — создает матрицу с единицами на заданной диагонали и под ней и нулями в других местах.
    • Row — возвращает строку матрицы в виде вектора, а также заполняет указанную строку значениями из вектора.
    • Col — возвращает столбец матрицы в виде вектора, а также заполняет указанный столбец значениями из вектора.
    • Rows — возвращает количество строк в матрице.
    • Cols — возвращает количество столбцов в матрице.
    • Transpose — транспонирование матрицы.
    • * — произведение матриц, векторов и скаляров — dot-продукт.
    • Power — возведение матрицы в степень.
    • Kron — произведение Кронекера.
    • Cholesky — разложение Холецкого.
    • QR — QR-разложение матрицы.
    • SVD — сингулярное разложение.
    • LU — LU-разложение матрицы.
    • LUP — LUP-разложение матрицы.
    • Norm — вычисление нормы матрицы.
    • Cond — вычисление числа обусловленности матрицы.
    • Spectrum — вычисление спектра матрицы.
    • Det — расчет определителя матрицы.
    • Rank — вычисление ранга матрицы.
    • SLogDet — получение знака и натурального логарифма определителя матрицы.
    • Trace — вычисление следа матрицы.
    • Solve — решение системы линейных уравнений.
    • LstSq — решение системы линейных уравнений методом наименьших квадратов.
    • Inv — расчет обратной матрицы.
    • PInv — расчет псевдообратной матрицы методом Мура — Пенроуза.
    • Compare — сравнение двух матриц с использованием эпсилона.

    Более подробная информация доступна в документации MQL5.

  2. Исправлены ошибки при работе с файлами и базами данных, связанные с ограничением на длину пути. В частности, функция DatabaseOpen позволяла установить путь больше разрешенного, что приводило к некорректному созданию базы. Теперь функция будет корректно возвращать код ошибки ERR_TOO_LONG_FILE_NAME.
  3. Исправлен контроль константности переменных. В некоторых случаях компилятор мог не выдавать ошибку "constant variable cannot be passed as reference".
  4. Исправлены ошибочные предупреждения компилятора об использовании неинициализированной переменной.
  5. Исправлена работа функции ChartWindowOnDropped для индикаторов. Ранее она всегда возвращала нулевое значение.
  6. В модуль интеграции с Python добавлена поддержка Python 3.10.

VPS

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

MetaEditor

  1. Исправлено разворачивание сложных выражений в окне наблюдения при отладке.
Tester
  1. : Исправлен экспорт отчетов тестирования в файл. Некоторые значения могли округляться некорректно, если в качестве валюты депозита использовалась валюта с точность 0 знаков после запятой. Например, JPY.
  2. Исправления по крешлогам.