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

История обновлений десктопной, мобильной и веб-платформ

13 декабря 2024

MetaTrader 5 build 4755: общие улучшения

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

6 декабря 2024

MetaTrader 5 build 4730: расширение поддержки OpenBLAS и общая оптимизация работы

Terminal

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

    Стоимость позиций, ордеров и сделок теперь отображается в валюте депозита счета

  2. Добавлено поле для ввода даты рождения при открытии демо-счетов.

    Добавлено поле для ввода даты рождения при открытии демо-счетов


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

MQL5

  1. Добавлены новые методы OpenBLAS:

    • EigenSolver2 — вычисление обобщенных собственных значений и собственных векторов для пары обычных квадратных матриц (lapack-функция GGEV).
    • EigenSolverX — вычисление собственных значений и собственных векторов обычной квадратной матрицы в режиме эксперта (Expert mode), то есть с возможностью влиять на алгоритм расчета и возможностью получить сопутствующие расчетные данные (lapack-функция GEEVX).
    • EigenSolver2X — вычисление обобщенных собственных значений и собственных векторов для пары обычных квадратных матриц в режиме эксперта (Expert mode), то есть с возможностью влиять на алгоритм расчета и возможностью получить сопутствующие расчетные данные (lapack-функция GGEVX).
    • EigenSolverShur — вычисление собственных значений, верхнетреугольной матрицы в форме Шура и матрицы векторов Шура (lapack-функция GEES).
    • EigenSolver2Shur — вычисление для пары обычных квадратных матриц обобщенных собственных значений, обобщенных собственных векторов, обобщенных форм Шура и левых и правых векторов Шура (lapack-функция GGES).
    • EigenSolver2Blocked — вычисление обобщенных собственных значений и собственных векторов для пары обычных квадратных матриц при помощи блочного алгоритма (lapack-функция GGEV3).
    • EigenSolver2ShurBlocked — вычисление для пары обычных квадратных матриц обобщенных собственных значений, обобщенных собственных векторов, обобщенных форм Шура и левых и правых векторов Шура при помощи блочного алгоритма (lapack-функция GGES3).
    • EigenSymmetricRobust — вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряженной) матрицы при помощи алгоритма Multiple Relatively Robust Representations, MRRR (lapack-функции SYEVR, HEEVR).
    • EigenSymmetricBisect — вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряженной) матрицы при помощи алгоритма bisection (lapack-функции SYEVX, HEEVX).

  2. Добавлены новые методы для комплексных матриц:

    • TransposeConjugate — для создания сопряженно-транспонированной матрицы.
      matrix<complex<T>> matrix<complex<T>>::TransposeConjugate(void) const;
      Метод возвращает новую сопряженно-транспонированную матрицу, в которой элементы исходной матрицы транспонированы и приведены к их комплексно сопряженным значениям.

      При ошибке возвращается пустая матрица, для получения кода ошибки используйте функцию GetLastError.

    • CompareEqual — абсолютное сравнение двух матриц.
      int matrix<T>::CompareEqual(const matrix<T>& mat) const
      Возвращаемые значения:

      • -1 — если элемент матрицы A меньше соответствующего элемента матрицы B.
      • 0 — если все элементы матриц A и B идентичны.
      • 1 — если элемент матрицы A больше соответствующего элемента матрицы B.

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

  3. Добавлена поддержка Python вплоть до версии 3.13 для соответствующего пакета интеграции. Для обновления пакета выполните команду:

    pip install --upgrade MetaTrader5

  4. Исправлен пропуск первого события Timer. Ошибка возникала, если таймер включался внутри обработчика OnTimer.

MetaEditor

  • Исправлено вычисление значений для входных переменных при работе под отладчиком. В некоторых случаях вместо значения выводилось сообщение unknown identifier.

Tester

  • Исправлен поиск необходимых кросс-курсов для конвертации валют при тестировании на биржевых инструментах.

Web Terminal

  1. Добавлена поддержка режима исполнения «По запросу» для ордеров большого объема.
  2. Добавлена поддержка расширенного описания для причины отклонения запроса брокером.
  3. Исправлена форма открытия счетов. Теперь набор запрашиваемых данных соответствует настройкам брокера.
  4. Исправлено определение страны при регистрации демо-счета.
  5. Исправлено выравнивание диалога с предупреждением о включении торговли одним кликом.

11 октября 2024

MetaTrader 5 build 4620: исправления ошибок в MQL5 и новые методы OpenBLAS

Terminal

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

MQL5

  1. В документацию MQL5 добавлено описание новых методов OpenBLAS. На данный момент добавлено 15 новых методов для матриц и векторов, работа по наполнению продолжается.
    OpenBLAS — эффективное решение с открытым исходным кодом для высокопроизводительных вычислений, особенно при работе с большими наборами данных.
    Функция Действие

    SingularValueDecompositionDC

    Singular Value Decomposition, алгоритм divide and conquer. Считается наиболее быстрым среди других алгоритмов SVD (lapack-функция GESDD).

    SingularValueDecompositionQR

    Singular Value Decomposition, QR-алгоритм. Считается классическим алгоритмом SVD (lapack-функция GESVD).

    SingularValueDecompositionQRPivot

    Singular Value Decomposition, алгоритм QR with pivoting (lapack-функция GESVDQ).

    SingularValueDecompositionBisect

    Singular Value Decomposition, алгоритм bisection (lapack-функция GESVDX).

    SingularValueDecompositionJacobiHigh

    Singular Value Decomposition, алгоритм Jacobi high level (lapack-функция GEJSV).

    SingularValueDecompositionJacobiLow

    Singular Value Decomposition, алгоритм Jacobi low level (lapack-функция GESVJ). В некоторых случаях вычисляет малые сингулярные значения и их сингулярные векторы гораздо более точно, чем другие подпрограммы SVD.

    SingularValueDecompositionBidiagDC

    Singular Value Decomposition, алгоритм divide and conquer для бидиагональной матрицы (lapack-функция BDSDC).

    SingularValueDecompositionBidiagBisect

    Singular Value Decomposition, алгоритм bisection для бидиагональных матриц (lapack-функция BDSVDX).

    EigenSolver

    Вычисление собственных значений и собственных векторов обычной квадратной матрицы классическим алгоритмом (lapack-функция GEEV).

    EigenSymmetricDC

    Вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряжённой) матрицы при помощи алгоритма divide and conquer (lapack-функции SYEVD, HEEVD).

    SingularSpectrumAnalysisSpectrum

    Функция-метод расчета относительных вкладов спектральных компонент по собственным значениям.

    SingularSpectrumAnalysisForecast

    Функция-метод расчета реконструированных и прогнозируемых данных с использованием спектральных компонент входного временного ряда.

    SingularSpectrumAnalysisReconstructComponents

    Функция-метод расчета реконструированных компонент входного временного ряда и их вклады.

    SingularSpectrumAnalysisReconstructSeries

    Функция-метод расчета реконструированного временного ряда с использованием первых component_count компонент.

  2. Исправлены ошибки при запуске старых версий исполняемых файлов MQL5-программ (.ex5 файлы), в которых используются методы matrix::CopyRates. Такие ошибки не возникали в файлах, скомпилированных после установки необходимых обновлений.
  3. Исправлена проверка типов объектов, разрешенных в union.

MetaTester

  • Исправлены падения, возникающие в некоторых случаях при деинициализации пользовательских индикаторов.

4 октября 2024

MetaTrader 5 build 4585: улучшения в работе

Terminal

  • Исправлены падения, возникавшие в некоторых случаях при остановке профилировки MQL5-программ.

MetaEditor

MetaTester

  • Исправлены падения, возникавшие в некоторых случаях при повторном запуске одиночного прохода тестирования.

27 сентября 2024

MetaTrader 5 build 4570: улучшения веб-версии и интеграция с OpenBLAS в MQL5

Terminal

  1. Ограничен доступ к MQL5-функциям для торговли и получения истории при наличии подписки на сигнал на счете.

    При обнаружении подписки на счете (не имеет значения, включено ли копирование в текущем терминале) запрещается вызов любых торговых функций MQL5: получение открытых ордеров и позиций, получение истории, выполнение торговых операций. Соответствующее предупреждение выводится в журнал:
    'XXX': signal subscription detected, trading and history access functions in MQL5 and Python disabled
    Ограничения распространяются и на вызовы торговых функций Python: positions_total, positions_get, orders_total, orders_get, history_orders_total, history_orders_get, history_deals_total, history_deals_get, order_check, order_send.

    Если счет отписывается от сигнала или вы подключаетесь к другому счету, который не подписан на сигнал, ограничение снимается и в журнал выводится сообщение:
    'XXX': no signal subscription detected, trading and history access functions in MQL5 and Python enabled
    При наличии ограничения на счете функции MQL5 будут возвращать следующие коды ответа:

    • OrderSend, OrderSendAsync — RET_REQUEST_AT_DISABLED_CLIENT
    • OrdersTotal, PositionsTotal — 0
    • PositionGetSymbol, PositionSelect, PositionSelectByTicket, PositionGetTicket — ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
    • OrderGetTicket, OrderSelect — ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
    • HistorySelect — возвращает ERR_MQLAPI_TRADE_DEAL_NOT_FOUND

  2. Исправлен, оптимизирован и значительно ускорен запрос тиковой истории и ее экспорт в файлы CSV\HTML.
  3. Добавлена поддержка Microsoft Edge WebView2 для отображения HTML-страниц в торговой платформе под macOS. По сравнению с устаревшим MSHTML новый компонент существенно расширяет возможности для отображения веб-контента, предоставляя доступ к современным технологиям. Переход на WebView2 позволил улучшить внешний вид разделов «Маркет», «Сигналы», «VPS» и т.д., увеличить их производительность и создать более отзывчивые интерфейсы.

  4. Исправлено контекстное меню в окне отправки письма через встроенную почту.
  5. Исправлена фильтрация в диалоге выбора торговых инструментов. Теперь для скрытия истекших инструментов необязательно сначала вводить их имя в строке поиска.
  6. Исправлен расчет ожидаемого гарантийного обеспечения (маржинальных требований) в окне спецификации контракта. Ошибка возникала для инструментов типа Exchange Stocks и Bonds.
  7. Доработана функция массового закрытия торговых позиций для счетов с FIFO. Теперь для них не показываются несовместимые типы операций: закрытие всех прибыльных/убыточных позиций, позиций в одном направлении и встречных позиций.
  8. Исправлена ошибка, из-за которой пользователи не могли выставить разнонаправленные отложенные ордера на счетах, где закрытие позиций происходит по правилу FIFO.
  9. Исправлен расчет ликвидационной стоимости торгового счета при наличии позиций по инструментам с типом Exchange Futures.
  10. Исправлен расчет плавающей прибыли для позиций по инструментам с типом Exchange Bonds и Exchange MOEX Bonds.
  11. Отключена функция автоматического создания демонстрационного счета при запуске платформы, если в ней нет ранее добавленных счетов.
  12. Улучшен контроль вводимого имени и email при регистрации счетов.
  13. Исправлен расчет маржи для захеджированных позиций. Ошибка могла проявляться в некоторых случаях при использовании плавающей маржи на счете (зависит от объема/стоимости позиций на счету).
  14. Исправлено обновление состояния кнопки «Далее» в диалоге открытия демо-счета. После ввода кода подтверждения телефона или почты кнопка могла оставаться неактивной.
  15. Обновлены переводы пользовательского интерфейса.

MQL5

  1. Добавлена штатная интеграция с библиотекой матричных вычислений OpenBLAS.

    OpenBLAS — это высокопроизводительная библиотека линейной алгебры с открытым исходным кодом, реализующая BLAS (Basic Linear Algebra Subprograms) и некоторые функции LAPACK. OpenBLAS нацелен на повышение производительности вычислений, особенно в операциях с матрицами и векторными вычислениями, которые важны в научных и инженерных задачах, таких как машинное обучение, численные методы и симуляции.

    Основные особенности OpenBLAS:

    • Поддержка многопоточности: OpenBLAS может эффективно использовать несколько процессорных ядер для параллельных вычислений, что значительно ускоряет выполнение операций на многопроцессорных системах.
    • Оптимизация под архитектуры процессоров: OpenBLAS включает оптимизированные сборки для различных процессоров, таких как Intel, AMD, ARM и других. Библиотека автоматически определяет характеристики процессора (наборы поддерживаемых инструкций AVX/AVX2/AVX512), и выбирает наиболее подходящие реализации функций.
    • Поддержка широкого спектра операций BLAS: OpenBLAS реализует основные функции BLAS, такие как операции с векторами (например, векторное сложение и скалярное произведение), матрицами (умножение) и векторно-матричные операции.
    • Совместимость с LAPACK: библиотека поддерживает ряд функций LAPACK (Linear Algebra PACKage), которые нужны для более сложных операций линейной алгебры, таких как решения систем линейных уравнений, вычисление собственных значений матриц и другие.
    • Высокая производительность: по сравнению с другими библиотеками BLAS, OpenBLAS часто показывает лучшие результаты благодаря ручной оптимизации под конкретные процессорные архитектуры.

    OpenBLAS широко используется в приложениях, связанных с численными вычислениями, таких как:

    • Обучение нейронных сетей и другие задачи машинного обучения.
    • Научные вычисления (например, моделирование физических процессов).
    • Обработка больших объемов данных и их анализ.

    На данный момент в MQL5 доступны следующие методы:

    Сингулярное разложение:

    • SingularValueDecompositionDC — алгоритм divide and conquer. Считается наиболее быстрым среди других алгоритмов SVD (lapack-функция GESDD).
    • SingularValueDecompositionQR — алгоритм QR алгоритм. Считается классическим алгоритмом SVD (lapack-функция GESVD).
    • SingularValueDecompositionQRPivot — алгоритм QR with pivoting (lapack-функция GESVDQ).
    • SingularValueDecompositionBisect — алгоритм bisection (lapack-функция GESVDX).
    • SingularValueDecompositionJacobiHigh — алгоритм Jacobi high level (lapack-функция GEJSV).
    • SingularValueDecompositionJacobiLow — алгоритм Jacobi low level (lapack-функция GESVJ). В некоторых случаях вычисляет малые сингулярные значения и их сингулярные векторы гораздо более точно, чем другие подпрограммы SVD.
    • SingularValueDecompositionBidiagDC — алгоритм divide and conquer для бидиагональных матриц (lapack-функция BDSVDX).
    • SingularValueDecompositionBidiagBisect — алгоритм bisection для бидиагональных матриц (lapack-функция BDSVDX).

    Методы Eigen:

    • EigenSolver — вычисление собственных значений и собственных векторов обычной квадратной матрицы классическим алгоритмом (lapack-функция GEEV).
    • EigenSymmetricDC — вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряженной) матрицы при помощи алгоритма divide and conquer (lapack-функции SYEVD, HEEVD).

    Подробная документация станет доступна в ближайшее время.

  2. Добавлено значение SYMBOL_SWAP_MODE_CURRENCY_PROFIT в перечисление ENUM_SYMBOL_SWAP_MODE. Если функция SymbolInfoInteger возвращает такое значение, значит свопы на счете начисляются в деньгах в валюте расчета прибыли.
  3. Расширена поддержка ONNX Runtime. Добавлены новые типы операций машинного обучения, что позволяет запускать более сложные нейромодели.
  4. Продолжается переход на более эффективный компилятор MQL5. Он уже используется для части функций. Переход позволит использовать новые оптимизации и увеличить скорость исполнения программ.
  5. Добавлены новые типы данных, необходимые для поддержки библиотеки OpenBLAS:

    • complexf — комплексное число с данными float
    • vectorcf — вектор, содержащий элементы типа complexf
    • matrixcf — матрица, содержащая элементы типа complexf

  6. Улучшена работа WebRequest при работе с веб-сайтами, которые нарушают правила формирования URL, имеют ошибки в редиректах или большие списки альтернативных имен DNS.
  7. Исправлено одновременное присваивание нескольким переменным типа matrix или vector.

MetaEditor

  1. Обновлены доступные модели для AI Assistant. Теперь вместо GPT-3.5 Turbo используется более современная GPT-4o mini. Также добавлена модель 01-mini.
  2. Исправлена ошибка в отладчике, из-за которой в некоторых случаях значения переменных не обновлялись в окне наблюдения.
  3. Обновлены переводы пользовательского интерфейса.

MetaTester

  1. Исправлено сохранение коэффициентов маржи в пользовательских настройках символа.
  2. Исправлены утечки памяти, происходившие в некоторых случаях между проходами тестирования.

MetaTrader 5 Web Terminal

  1. Добавлен режим «Перекрестие» для просмотра точных значений и измерения расстояний на графике.

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


    /c/17/1/web-terminal-crosshair.png


    Вы также можете использовать горячие клавиши: средняя кнопка мыши — для включения перекрестия, Esc или правая кнопка мыши — для отключения.

  2. Добавлено представление графика в виде простой линии, построенной по ценам закрытия баров:


    /c/17/1/web-terminal-line-chart.png


  3. Добавлена возможность показать дополнительные колонки в «Обзоре рынка» в мобильном представлении. Для настройки перейдите в табличный режим и нажмите «...»:


    Дополнительные колонки в «Обзоре рынка» в мобильном представлении


  4. Добавлены горячие клавиши:

    • Home — прокрутка к началу графика (самой ранней дате)
    • End — прокрутка к концу графика (самой поздней дате)
    • Page Up — прокрутка графика на один экран назад
    • Page Down — прокрутка графика на один экран вперед

  5. Усилена безопасность хранения данных для подключения к счету.
  6. Улучшены прокрутка, перемещение и масштабирование графиков.
  7. Ускорена первоначальная загрузка веб-платформы на странице.
  8. Оптимизирована загрузка баров.
  9. Исправлен расчет плавающей прибыли для позиций по инструментам с типом Exchange Bonds и Exchange MOEX Bonds.
  10. Исправлен ввод объема в панели быстрой торговли на графике.
  11. Исправлена ошибка обновления объемов заявок в стакане цен. В некоторых случаях значения могли обновляться с задержкой.
  12. Исправлена проверка на минимально допустимый объем торговой операции при выставлении ордеров.
  13. Исправлен расчет маржи для захеджированных позиций. Ошибка могла проявляться в некоторых случаях при использовании плавающей маржи на счете (зависит от объема/стоимости позиций на счету).
  14. Исправлена ошибка, из-за которой кнопки Buy и Sell на панели быстрой торговли могли быть неактивными до изменения объема.

21 июня 2024

MetaTrader 5 build 4410: улучшения в работе

Мы выпустили новый MetaTrader 5 build 4410, который содержит несколько важных улучшений. Облачный тестер стратегий избавился от ошибки, из-за которой у некоторых пользователей могла завершаться работа терминала после начала тестирования. Веб-терминал стал работать еще стабильнее — мы исправили проверку совместимости браузеров и процедуры открытия демо-счетов.

Terminal

  • Исправлено падение терминала, происходившее в некоторых случаях при запуске тестирования.

MQL5

Web Terminal

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

  2. Исправлено открытие демо-счетов.
  3. Мелкие исправления и улучшения.

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

MetaTrader 5 build 4410: улучшения в работе

MetaTrader 5 для Android

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


    Полностью обновлен интерфейс для планшетной версий приложения


  2. Добавлено контекстное меню в разделе истории позиций, позволяющее быстро перейти к торговому диалогу или графику соответствующего символа.
  3. Скрыта команда перехода к торговому диалогу для неторгуемых символов.
  4. Исправлена работа с сервером MetaQuotes-Demo.

Обновите ваши мобильные приложения на билд 4360 через Google Play, Huawei AppGallery или скачайте файл APK.

7 июня 2024

MetaTrader 5 build 4380: улучшения в работе

Terminal

  1. Исправлены ошибки, в некоторых случаях приводившие к нарушению работы системы обновления Live Update.
  2. Добавлена горячая клавиша Alt+X для вызова списка экспертов.
  3. Исправления по крешлогам.

MetaTester

  1. Исправлены ошибки выставления некоторых свойств у графического объекта «Рисунок».
  2. Запрещено подключение агентов тестирования к MQL5 Cloud Network при работе в виртуальных средах и при отсутствии поддержки набора инструкций AVX у процессора.

Web Terminal

  1. Исправлена ошибка в работе панели быстрой торговли на графике.
  2. Исправлен диалог предупреждения, открываемый при включении панели быстрой торговли на графике.

31 мая 2024

MetaTrader 5 build 4350: больше аналитических объектов в веб-платформе и стартовая страница в MetaEditor

MetaEditor

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


    Добавлена стартовая страница


    Материалы для новичков
    Раздел «Знакомство» подробно расскажет об обучающих материалах, доступных на MQL5.com: полная документация языка, книги, статьи, форум разработчиков, а также библиотека готовых кодов. Здесь же вы познакомитесь с сервисами, где вы можете применить и монетизировать свои знания: маркет приложений, фриланс-биржа и торговые сигналы.

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

    Полезные функции для тех, кто уже занимается разработкой
    В разделе «Что нового» мы собрали максимум информации, которая нужна разработчику, чтобы держать руку на пульсе:


    Здесь же есть список последних открытых файлов для быстрого доступа.


    Полезные функции для тех, кто уже занимается разработкой


    Если вы уже активно продаете свои приложения в Маркете, отчет «Мои продажи» поможет оценить ваши успехи. Вам доступны:

    • Общая статистика продаж и скачиваний по времени.
    • География продаж, чтобы понимать, где ваши разработки наиболее популярны. Это может подсказать идеи для дальнейшего развития проекта, например, локализации на определенные языки или запуска рекламы в определенном регионе.
    • Данные о наиболее популярных продуктах по количеству продаж и сумме дохода. График можно фильтровать по типу лицензии: полная или аренда на определенный срок. Здесь же представлен график изменения цены на продукт. Все это поможет лучше понимать ваших покупателей.
    • Детальная статистика скачивания и продаж по каждому продукту.


    Мои продажи

  2. Улучшен встроенный поиск. Теперь верхняя поисковая строка используется только для поиска текста в текущем документе или в локальных файлах. Для глобального поиска по учебным материалам и кодам используйте отдельный раздел в «Инструментах».


    Улучшен встроенный поиск

  3. Для AI Assistant добавлена поддержка GPT-4o — новейшей модели ChatGPT. Теперь вы можете использовать ее для автоматического дополнения кода и получения подсказок. Выбрать новую модель можно в настройках MetaEditor.


    Для AI Assistant добавлена поддержка GPT-4o — новейшей модели ChatGPT

  4. Обновлены переводы пользовательского интерфейса.

Terminal

  1. Увеличена точность отображения расчетной цены в спецификации торгового инструмента.
  2. Добавлена горячая клавиша Alt+X для вызова списка экспертов.
  3. Исправлен расчет показателей MFE и MAE в торговом отчете.
  4. Исправлено сохранение и восстановление настроек фильтрации экономического календаря по стране и валюте.
  5. Исправлено применение шаблонов к графикам. Теперь, если для графика включено отображение торговой истории, соответствующие объекты не будут исчезать после применения шаблона.
  6. Исправлена ошибка в работе доски опционов. В некоторых случаях при добавлении символов платформа могла зависать.
  7. Исправлена ошибка в диалоге редактирования позиций. В некоторых случаях вместо текущих значений Стоп Лосс и Тейк Профит в соответствующие поля могли подставляться некорректные уровни.
  8. Обновлены переводы пользовательского интерфейса.

MQL5

  1. Оптимизирована и значительно ускорена работа функции ArrayResize. В некоторых случаях ускорение работы может достигать 40%.
  2. Обновлена поддержка ONNX.
  3. Исправлен вызов функции MessageBox в программах-сервисах. Независимо от того, какую кнопку пользователь нажимал в диалоге, функция возвращала нулевое значение.
  4. Исправлена ошибка, в некоторых случаях приводившая к неполной инициализации MQL5-программ.
  5. Исправлена ошибка парсинга некоторых макросов. Ошибка возникала при использовании большого количества констант.


MetaTrader 5 Web Terminal

  1. Расширен набор доступных аналитических объектов. Теперь вы можете использовать «линейку» для измерения времени и цен, фигуры (прямоугольник, эллипс, треугольник, круг), а также добавлять любые подписи на график. Все объекты доступны на левой панели:


    Расширен набор доступных аналитических объектов

  2. Добавлена возможность переименования объектов.
  3. Улучшена интеграция с экономическим календарем. Оптимизирован и ускорен запрос данных.
  4. Ускорена работа графиков.
  5. Ускорены запуск приложения и подключение к торговому счету.
  6. Исправлена работа настройки, управляющей отображением торговых операций на графике.
  7. Исправлено отображение маржинальных требований в спецификации контракта.
  8. Исправлено отображение состояния счета в разделе истории. Проблема возникала на устройствах с узким экраном.
  9. Исправлено отображение стакана цен.

22 марта 2024

MetaTrader 5 build 4260: общие улучшения

Terminal

  1. Исправлена ошибка подписки на бесплатные продукты в сервисе «Подписки». В некоторых случаях соответствующая кнопка могла отсутствовать в диалоге.
  2. Обновлены переводы пользовательского интерфейса.

MQL5

  1. Расширена поддержка событий клавиатуры:

    • Добавлено событие CHARTEVENT_KEYUP для обработчика OnChartEvent. Оно позволяет отслеживать, когда пользователь отпускает клавишу на клавиатуре.
    • Добавлена обработка «Мертвых» клавиш (Dead keys) — это клавиши, позволяющие изменить вид следующего вводимого символа. Например, в греческой раскладке для установки ударений над гласными ά, έ, ύ и т.д. требуется нажать клавишу «;», а затем ввести букву. Теперь нажатие таких клавиш можно отслеживать при помощи функции TranslateKey.
    • Доработаны функции TranslateKey и TerminalInfoInteger. Теперь при получении событий CHARTEVENT_KEYUP или CHARTEVENT_KEYDOWN в OnChartEvent вы можете получить полное состояние клавиатуры на момент возникновения события. Например, если пользователь нажал клавишу Z, вы сможете узнать, была ли в тот момент нажата клавиша Ctrl или Shift. Для остальных событий функции будут работать как раньше — возвращать состояние клавиатуры на текущий момент.

  2. Обновлена библиотека Alglib. В связи с обновлением изменены следующие методы в классах CMatrixDouble и CMatrixComplex:
    vector<double/complex> operator[](const int i) const;
    vector<double/complex> operator[](const ulong i) const;
    Теперь вместо них используется один метод с константным возвращаемым значением:
    const vector<double/complex> operator[](const ulong i) const;
    Внесенная правка позволит отловить некорректное использование результата по месту: в новой версии Alglib код mat[row][col]=x работает не так, как в старой. Ранее это была запись в матрицу, а теперь — запись во временный объект vector<double/complex>, который после записи сразу же уничтожается.

    Добавление const к возвращаемому значению делает невозможным использование записи mat[row][col]=x. Поскольку mat[row] теперь возвращает константный вектор, попытка перезаписать его элемент через mat[row][col] приведет к ошибке компиляции.

  3. Исправлена ошибка, в некоторых случаях приводившая к некорректной работе функций ChartGet*.

MetaEditor

  1. Добавлен поиск по книге «Нейросети в алготрейдинге на MQL5». Теперь он объединен в одном разделе с ранее вышедшей книгой «Программирование на MQL5 для трейдеров».

    Добавлен поиск по недавно вышедшей книге «Нейросети в алготрейдинге на MQL5»


Tester

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

MetaTrader 5 Web Terminal

  1. Исправлено выставление лимитных ордеров для инструментов с биржевым исполнением. Теперь при изменении цены выставляемого ордера относительно текущей (выше или ниже) предлагаемый тип ордера не будет изменяться с Buy Limit на Sell Limit и обратно, как это происходит для инструментов остальных типов. Таким образом, пользователь при необходимости сможет выставлять ордера Buy Limit выше рынка и Sell Limit ниже рынка, чтобы гарантированно ограничить цену сделки.
  2. Исправлено отображение счетчиков выбранных символов в «Обзоре рынка».



7 марта 2024

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

Terminal

  1. Добавлено 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. Идет подготовка к запуску подписок на рыночные данные Nasdaq. Прямо из платформы трейдеры смогут получить доступ к котировкам в реальном времени и глубокой ценовой истории по сотням финансовых инструментов с одной из крупнейших бирж. Для этого нужен лишь демо-счет на сервере MetaQuotes-Demo и аккаунт MQL5.community.

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


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

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

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


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

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

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


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

MQL5

  1. Добавлено свойство MQL_STARTED_FROM_CONFIG в перечисление ENUM_MQL_INFO_INTEGER. Возвращает true, если скрипт/эксперт запущен из секции StartUp конфигурационного файла. Это означает, что данный скрипт/эксперт был прописан в конфигурационном файле, с которым запущен терминал.
  2. Продолжается работа над расширением поддержки моделей 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, не поддерживает отрицательный ноль. Также используется для градиентов.

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

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

  4. ONNX Runtime обновлено до версии 1.17. Подробности релиза доступны в GitHub.
  5. Пакет для интеграции с Python обновлен до версии 5.0.4200, добавлена поддержка Python 3.12. Обновите свой пакет командой "pip install --upgrade MetaTrader5", чтобы получить последние изменения.
  6. Добавлено значение DEAL_REASON_CORPORATE_ACTION в перечисление ENUM_DEAL_REASON — сделка проведена в результате корпоративного действия: объединения или переименования бумаги, переноса клиента на другой счет и т.д.
  7. Добавлено поддержка сравнения комплексных векторов и матриц для метода Compare. Сравнение заключается в оценке расстояния между комплексными числами. Расстояние рассчитывается по следующей формуле sqrt(pow(r1-r2, 2) + pow(i1-i2, 2) и является действительным числом, которое уже можно сравнивать с эпсилоном.
  8. Исправлено преобразование переменных типа color в текст в формате RGB.
  9. Исправлен возврат результата получения собственных векторов в методе Eig в случае комплексного собственного значения. Добавлена перегрузка метода для комплексного решения.
  10. Исправлена работа функции OrderCalcMargin для некоторых случаев.

MetaEditor

  1. Добавлена ссылка на недавно вышедшую книгу «Программирование на MQL5 для трейдеров» в меню Справка\MQL5.community. Также книга добавлена в поисковую систему, вы можете находить в ней нужные материалы прямо из MetaEditor:

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


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

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

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

Tester

  1. Исправлен расчет тройного свопа в случае, если день начала теста приходится на день тройного свопа.

MetaTrader 5 Web Terminal

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


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


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

29 февраля 2024

Встречайте книгу «Нейросети в алготрейдинге на MQL5»

Мы выпустили книгу «Нейросети в алготрейдинге на MQL5». Это учебное пособие по использованию искусственного интеллекта при создании торговых роботов в платформе MetaTrader 5. Автор книги — Дмитрий Гизлык, профессионал в области нейросетей, написавший около сотни обучающих статей на эту тематику. Теперь при поддержке MetaQuotes все его ценные знания удобно собраны в одну книгу. Вы последовательно познакомитесь с основами нейросетей и возможностями их применения в алготрейдинге. По мере продвижения вы создадите и обучите собственный искусственный интеллект, постепенно дополняя его новыми функциями.

Встречайте книгу «Нейросети в алготрейдинге на MQL5»


Книга доступна онлайн всем желающим в разделе «Учебник по нейросетям» на сайте MQL5 Algo Trading community. Она состоит из семи частей:

  • Глава 1 вводит вас в мир искусственного интеллекта, обучая основам построения нейронных сетей и их ключевым компонентам, таким как функции активации и методы инициализации весов.
  • Глава 2 раскрывает возможности MetaTrader 5, детально описывая, как использовать инструменты платформы для создания мощных алготрейдинговых стратегий.
  • Глава 3 посвящена пошаговой разработке вашей первой модели нейронной сети на MQL5, начиная от подготовки данных до реализации и тестирования модели.
  • Глава 4 глубоко погружается в изучение базовых типов нейронных слоев, включая сверточные и рекуррентные нейронные сети, их реализацию и тестирование.
  • Глава 5 знакомит с механизмами внимания, включая Self-Attention и Multi-Head Self-Attention, представляя передовые методы анализа данных.
  • Глава 6 объясняет архитектурные решения для повышения сходимости моделей, такие как пакетная нормализация и Dropout.
  • Глава 7 завершает книгу, предлагая методы проверки торговых стратегий с использованием разработанных моделей нейронных сетей в реальных торговых условиях на MetaTrader 5.

Книга предназначена для продвинутых пользователей, уже знакомых с написанием программ на MQL5 и Python. Если вы только начинаете свой путь в алготрейдинге, прочитайте сначала книгу «Программирование на MQL5 для трейдеров» и ознакомьтесь с документацией языка.


18 января 2024

MetaTrader 5 build 4150: экспорт торгового отчета и новые методы машинного обучения в MQL5

Terminal

  1. Добавлен экспорт торгового отчета в файл HTML и PDF. Теперь вы можете легко поделиться своими торговыми достижениями с коллегами или инвесторами. Для экспорта воспользуйтесь меню в самом отчете или меню «Файл».


    Экспорт торгового отчета в файл HTML и PDF


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


    Экспорт состояния «Обзора рынка»


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


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


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

  4. Отключена поддержка сервиса "Сигналы" для демо-счетов. Для получения расширенной статистики по вашим тренировочным счетам используйте новый торговый отчет. Он предоставляет массу показателей по прибыльности и рискованности вашей стратегии, содержит графики прироста, баланс и эквити, диаграммы распределения сделок по направлению и инструментам и многое другое.
  5. Исправлен показ потенциальной прибыли/убытка при редактировании Тейк Профита и Стоп Лосса для ордеров Stop Limit.
  6. Внесены многочисленные исправления и доработки в платежную систему.
  7. Исправлена проверка дубликатов при загрузке набора инструментов в «Обзор рынка» из файла *.set.
  8. Исправлена работа веб-инсталлятора для Parallels. Теперь при использовании этой системы виртуализации на macOS с процессорами M1/M2/M3 платформа будет устанавливаться корректно.
  9. Обновлены переводы пользовательского интерфейса.
  10. Исправления по крешлогам.

MQL5

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

    • ConfusionMatrix — вычисляет матрицу ошибок. Метод применяется к вектору предсказанных значений.
    • ConfusionMatrixMultilabel — вычисляет матрицу ошибок для каждой метки. Метод применяется к вектору предсказанных значений.
    • ClassificationMetric — вычисляет классификационную метрику для оценки качества предсказанных данных по отношению к истинным данным. Метод применяется к вектору предсказанных значений.
    • ClassificationScore — вычисляет классификационную метрику для оценки качества предсказанных данных по отношению к истинным данным.
     
  2. Исправлено сохранение данных в текстовый файл формата UTF-8 при помощи функции FileWrite.
  3. Отключены и объявлены устаревшими функции Signal*. Теперь они будут возвращать пустые наборы сигналов.

MetaEditor

  1. Увеличена частота сэмплирования при профилировании. Теперь состояние приложения снимается 10000 раз в секунду, что позволяет замерять скорость исполнения функций гораздо точнее.
  2. Обновлены доступные модели в инструменте автоматического дополнения кода AI Assistant. Добавлена модель ChatGPT-4 Turbo, убраны устаревшие реализации.
  3. Исправлены ошибки при замене слов в выделенном фрагменте текста.

Tester

  1. Исправлено зависание форвардного тестирования. Проблема могла возникать в режиме генетической оптимизации.
  2. Оптимизирована и значительно ускорена работа с торговой историей из MQL5-программ.
  3. Исправлен расчет прибыли по операциям закрытия встречной. Ошибка могла возникать для торговых инструментов, которые не являются основным инструментом тестирования.

Web Terminal

  1. Исправлено обновление свойств торгового инструмента при их изменении на стороне брокера.
  2. Исправлено отображение тела свечи на графике. Тело могло быть не видно, если оно имело малый размер.
  3. Исправлена работа поля «Страна» в форме открытия счета.

15 декабря 2023

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

Мы выпустили наиболее полное учебное пособие по программированию на MQL5. Книга написана опытным алготрейдером Станиславом Коротким при поддержке MetaQuotes.

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

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

Книга доступна онлайн всем желающим в разделе «Учебник» на сайте MQL5.community. Она состоит из семи частей:

  1. Знакомство c языком и средой разработки — базовые принципы программирования на MQL5 в обзорном режиме, а также знакомство со средой разработки для MQL5 — редактором и компилятор MetaEditor.
  2. Основы программирования — основные понятия, такие как типы, инструкции, операторы, выражения, переменные, блоки кода, структура программ и их применении для написания MQL-программ в процедурном стиле.
  3. Объектно-Ориентированное Программирование — несмотря на схожесть с другими языками с поддержкой парадигмы ООП (в особенности с C++), MQL5 все же имеет отличительные черты, знания о которых пригодятся всем читателям.
  4. Общеупотребительные функции — общеупотребительные встроенные функции, которые пригодятся в любой программе.
  5. Создание прикладных программ — архитектурные особенности MQL-программ и их специализация по типам для выполнения различных трейдерских задач, таких как технический анализ с помощью индикаторов, управление графиками и их разметка с наложением графических объектов и т.д.
  6. Автоматизация торговли — анализ торгового окружения и автоматизации торговли с помощью роботов.
  7. Расширенные средства языка — набор специализированных API, облегчающих интеграцию MQL5 со смежными технологиями, такими как базы данных, обмен данными по сети, OpenCL, Python и другими.

Книга содержит множество примеров исходного кода. Работая с ними по учебнику в собственном редакторе, вы будете сразу же видеть результаты исполнения программы в платформе. Исходные коды доступны в публичном проекте \MQL5\Shared Projects\MQL5Book, а также в библиотеке исходных кодов.

Начните изучение MQL5 прямо сейчас и откройте для себя мир профессионального алготрейдинга. Полученные знания помогу воплотить ваши идеи в жизнь. Вы также сможете применить их в коммерческой среде — разрабатывая и продавая приложения через Маркет и выполняя заказы через Фриланс.


Читать книгу

9 ноября 2023

Скачивайте MetaTrader 5 для macOS и Linux

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

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

Ссылки на установщики доступны на сайте https://www.metatrader5.com, а также в меню «Справка» торговой платформы:

Ссылки на скачивание в меню платформы


Для macOS: проверьте версию Wine

Недавно мы полностью обновили установочный пакет для macOS, внеся в него множество улучшений. Если вы уже используете MetaTrader в этой системе, проверьте текущую версию Wine — она выводится в журнал терминала при запуске:

LP 0 15:56:29.402 Terminal MetaTrader 5 x64 build 4050 started for MetaQuotes Software Corp.
PF 0 15:56:29.403 Terminal Windows 10 build 18362 on Wine 8.0.1 Darwin 23.0.0, 12 x Intel Core i7-8750H  @ 2.20GHz, AVX2, 11 / 15 Gb memory, 65 / 233 Gb disk, admin, GMT+2

Если у вас Wine версии ниже 8.0.1, мы настоятельно рекомендуем удалить старую платформу вместе с префиксом Wine, в котором она установлена. Саму платформу можно удалить как обычно, перенеся ее из раздела «Приложения» в корзину. Удалить префикс Wine можно через Finder. Выберите меню «Переход \ Переход к папке» и введите название каталога — ~/Library/Application Support/. Перейдя в него, удалите следующие папки, в зависимости от того, какая версия MetaTrader установлена:

~/Library/Application Support/Metatrader 5
~/Library/Application Support/net.metaquotes.wine.metatrader5
~/Library/Application Support/Metatrader 4
~/Library/Application Support/net.metaquotes.wine.metatrader4

После удаления установите терминал заново при помощи наших инсталляторов.

  • В процессе вам будет предложено установить дополнительные пакеты Wine (Mono, Gecko), согласитесь — они нужны для работы.
  • Минимальные версии macOS: Big Sur для MetaTrader 4 и Mojave для MetaTrader 5


Больше нет необходимости разбираться с установкой вручную или использовать сторонние решения. Установите платформу в пару кликов и приступайте к торговле:

8 ноября 2023

MetaTrader 5 для iPhone/iPad: групповые операции, 21 таймфрейм и торговые уведомления

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

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

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


    Массовое закрытие позиций и удаление ордеров


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


    Торговые уведомления


  3. Прибыль/убыток для стоп-уровней. Теперь при перемещении Тейк Профита и Стоп Лосса на графике, вы сразу увидите потенциальную прибыль/убыток, который вы получите, если уровень сработает. Значения отображаются в пунктах и деньгах.


    Прибыль/убыток для стоп-уровней


  4. Улучшения торговой панели. Теперь в настройках приложения вы можете изменить положение торговой панели: над или под графиком. Также было увеличено расстояние между кнопками изменения объема и кнопками Buy и Sell, чтобы избежать случайной отправки ордеров.


    Улучшения торговой панели


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


    Количество таймфреймов увеличилось до 21


  6. Расширенная настройка торговых уровней. Теперь вы можете раздельно включать/отключать показ уровней: позиций, отложенных ордеров и Стоп Лоссов/Тейк Профитов.


    Расширенная настройка торговых уровней


  7. Блокировка экрана. Теперь вы можете установить ПИН-код или использовать Face ID/Touch ID, чтобы ограничить доступ посторонних лиц к приложению. Если ваш iPhone или iPad окажется в руках другого человека, вы можете быть уверены в безопасности своего торгового счета. Для активации функции включите "Блокировку экрана" в окне "Настройки/О программе" и задайте четырехзначную комбинацию цифр. Если приложение будет оставаться скрытым более минуты, для его открытия понадобится ввести код или авторизоваться через Face ID/Touch ID.


    Блокировка экрана


  8. Улучшения в чате. Во встроенном мессенджере, позволяющем переписываться с участниками MQL5.community, появилось множество новых функций:

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



    Улучшения в чате


  9. Ссылки на нормативные документы брокера. Теперь получить всю необходимую правовую информацию со стороны можно прямо в мобильном приложении в разделе свойств счета. Доступность ссылок зависит от брокера.
  10. Множество улучшений и исправлений. За полгода в приложение были внесены десятки улучшений, чтобы обеспечить стабильную и быструю работу.


Установите последнюю версию приложения и расширьте свои торговые возможности:

MetaTrader 5 в App Store
MetaTrader 5 в App Store

6 ноября 2023

MetaTrader 5 для Android: новые функции для торговли и аналитики

За последние полгода в мобильное приложение MetaTrader 5 для Android было добавлено огромное количество новых функций: быстрая торговля с графика, дополнительные таймфреймы, визуальное представление истории сделок и многое другое. Ниже расскажем о них подробнее.

  1. Торговля одним кликом с графика. Теперь для совершения сделки достаточно открыть специальную панели и нажать Buy или Sell. Увидев удачный момент, вы можете моментально войти в рынок, не теряя драгоценное время на переключение вкладок.


    Торговля одним кликом с графика


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

  2. Выставление отложенных ордеров с графика. Теперь ордера можно выставлять в визуальном режиме — просто перемещая их на нужный уровень на графике. Нажмите кнопку на верхней панели, выберите тип ордера, задайте цену и нажмите стрелочку для подтверждения параметров. Это значительно быстрее и удобнее, чем задавать параметры в торговом диалоге. К ордеру можно сразу прикрепить Стоп Лосс и Тейк Профит. Аналогичным образом можно изменить любой существующий ордер — просто нажмите на его уровень и задайте новые параметры.


    Выставление отложенных ордеров с графика


  3. Управление позициями и ордерами с графика. Выберите уровень позиции или ордера на графике, и в нижней части графика появится панель управления. С помощью нее вы можете закрывать позиции и удалять ордера, а также добавлять и удалять для них Стоп Лоссы и Тейк Профиты. При перемещении стоп-уровней вы сразу увидите потенциальную прибыль/убыток в пунктах и деньгах.


    Закрытие позиций и удаление отложенных ордеров с графика


  4. Торговая история на графике. Теперь вы можете визуально оценить свои входы и выходы из рынка. Достаточно включить показ истории в настройках приложения, и все сделки отобразятся на графике в виде стрелочек. Направление сделок определяется цветом: синие — Buy, красные — Sell. Сделки входа и выхода из рынка соединяются пунктирными линиями. Помимо этого, в настройках графика можно включить отображение открытых позиций и активных отложенных ордеров.


    Торговая история на графике


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

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


    Массовое закрытие позиций и удаление ордеров


  6. Адаптивное редактирование объемов сделки. Теперь кнопки для изменения объемов в торговом диалоге автоматически подстраиваются под текущее значение объема. Чем оно больше, тем на большее количество единиц вы сможете его изменить каждым нажатием на кнопку.


    Адаптивное редактирование объемов сделки


  7. Количество таймфреймов увеличилось до 21. Мы добавили 12 дополнительных минутных и часовых таймфреймов, чтобы дать вам еще больше возможностей для анализа цен. Раскройте меню таймфреймов над графиком и перейдите в настройки. Отметьте галочками нужные периоды, чтобы добавить их на панель быстрого доступа.


    Количество таймфреймов увеличилось до 21


  8. Копирование аналитических объектов на графике. Новая функция поможет быстрее наносить разметку. Вызовите меню объекта долгим нажатием на нем и выберите "Копировать":


    Копирование аналитических объектов на графике


  9. Улучшенный сдвиг правой границы графика. Теперь для изменения сдвига достаточно прокрутить график к последней цене до появления вертикального разделителя. Далее потяните за треугольник у нижней шкалы графика:


    Улучшенный сдвиг правой границы графика


  10. Подключение к счету по QR-коду. Теперь для переноса счета из десктопной платформы или с другого устройства достаточно просто отсканировать QR-код. Он будет моментально подключен, без необходимости ввода логина и пароля. Для получения QR-кода для счета нажмите на соответствующую иконку в его свойствах.


    Подключение к счету по QR-коду


  11. Обновленные цветовые схемы. Мы переработали весь интерфейс, тщательно подобрав цвет каждой линии так, чтобы вам было удобно работать. В приложении появилась поддержка темной темы — она включается автоматически, когда вы включаете темную тему на устройстве. Также мы добавили настройки для всех линий на графике, чтобы вы могли менять их цвета на свое усмотрение.


    Обновленные цветовые схемеы


  12. Ссылки на нормативные документы брокера. Теперь получить всю необходимую правовую информацию со стороны можно прямо в мобильном приложении в разделе свойств счета. Доступность ссылок зависит от брокера.
  13. Адаптация под арабский и персидский языки. Мы внесли множество улучшений, чтобы интерфейс приложения корректно отображался на языках с направлением письма справа налево.
  14. Множество улучшений и исправлений. За полгода в приложение было внесено сотни улучшений, чтобы обеспечить стабильную и быструю работу.


Установите последнюю версию приложения и расширьте свои торговые возможности:

MetaTrader 5 в Google Play
MetaTrader 5 в Huawei App Gallery
Файл APK
Google Play Huawei App Gallery Файл APK

20 октября 2023

MetaTrader 5 build 4040: Улучшения и исправления

Terminal

  1. Улучшен новый торговый отчет. Исправлено отображение первого значения на графике прироста, а также расчет просадки.

    Улучшен новый торговый отчет


  2. При открытии счета каждый трейдер получает несколько сообщений через встроенную почту. Помимо данных для подключения в них можно найти множество полезной информации о возможностях платформы и встроенных сервисах. Мы актуализировали и дополнили эти письма, перевели их на 50 языков, а также полностью обновили дизайн.
  3. Оптимизированы страницы пополнения и снятия средств со счета.
  4. Исправлена ошибка изменения объема при выставлении нового ордера. При некоторых сочетаниях настроек торгового инструмента поле было недоступно для редактирования.
  5. Исправлено отображение ссылок на соглашения с брокером в диалоге открытия демо-счета.
  6. Обновлены переводы пользовательского интерфейса.

MQL5

  1. Исправлена ошибка, в некоторых случаях приводившая к падению MQL5-программы при запуске платформы.

MetaTrader 5 Web Terminal

  1. Исправлено отображение Стоп Лоссов и Тейк Профитов в торговой истории.
  2. Расширен вывод в журнал. Теперь в него будут выводиться сообщения об успешных и неудавшихся подключениях.
  3. Исправлена работа контекстного меню в "Обзоре рынка".
  4. Исправлено отображение уведомления о результатах операций при торговле из стакана цен.
  5. Исправлена ошибка, из-за которой подокно индикатора могло удаляться с графика при вызове торгового диалога.
  6. Исправлено перетаскивание торговых уровней на графике в случае, когда они отображаются поверх аналитических объектов.

29 сентября 2023

MetaTrader 5 build 4000: Улучшения в торговом отчете и веб-терминале

Terminal

  1. Добавлено отображение помесячного прироста в деньгах в новом торговом отчете. Чтобы посмотреть показатели, перейдите в отчет "Summary" и выберите режим "Balance".


    Помесячный прирост в деньгах в новом торговом отчете


  2. Исправлено и улучшено отображение нового торгового отчета.
  3. ONNX Runtime обновлено до версии 1.16. Подробности релиза доступны в GitHub.
  4. Обновлены переводы пользовательского интерфейса.

MetaTrader 5 Web Terminal

  1. Исправлено отображение диалогов смены пароля и открытия счета.
  2. Исправлена ошибка отображения Стоп Лосс и Тейк Профита в истории, возникавшая после их модификации.
  3. Добавлена возможность прокрутки в диалоге предупреждения о рисках.
  4. Обновлены переводы пользовательского интерфейса.
  5. Внесены различные улучшения и исправления.

21 сентября 2023

MetaTrader 5 build 3980: Улучшения и исправления

Terminal

  1. Улучшен новый торговый отчет. Исправлено отображение итогового значения свопов, а также графика прибыли по символам.
  2. Оптимизированы страницы пополнения и снятия средств со счета. Подробнее о новой интеграции платформы с платежными системами читайте в предыдущей новости о билде 3950.
  3. Оптимизирован пересчет финансовых операций во всей платформе, включая тестер стратегий. Теперь показатели прибыли, маржи и многие другие параметры рассчитываются быстрее.
  4. Обновлены переводы пользовательского интерфейса.

MQL5

  1. Добавлены методы Conjugate для типов complex, vector<complex> и matrix<complex>. Они выполняют сопряжение для комплексных чисел.
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       complex a=1+1i;
       complex b=a.Conjugate();
       Print(a, "  ", b);
       /*
       (1,1)  (1,-1)
       */
    
       vectorc va= {0.1+0.1i, 0.2+0.2i, 0.3+0.3i};
       vectorc vb=va.Conjugate();
       Print(va, "  ", vb);
       /*
       [(0.1,0.1),(0.2,0.2),(0.3,0.3)]  [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
       */
    
       matrixc ma(2, 3);
       ma.Row(va, 0);
       ma.Row(vb, 1);
       matrixc mb=ma.Conjugate();
       Print(ma);
       Print(mb);
       /*
       [[(0.1,0.1),(0.2,0.2),(0.3,0.3)]
        [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]]
    
       [[(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
        [(0.1,0.1),(0.2,0.2),(0.3,0.3)]]
       */
       
       ma=mb.Transpose().Conjugate();
       Print(ma);
       /*
       [[(0.1,0.1),(0.1,-0.1)]
        [(0.2,0.2),(0.2,-0.2)]
        [(0.3,0.3),(0.3,-0.3)]]
       */
      }
  2. Добавлена обработка выхода ONNX-модели типа Sequence of maps.

    Для моделей ONNX, которые в выходном слое отдают последовательности Map (ONNX_TYPE_SEQUENCE of ONNX_TYPE_MAP), в качестве выходного параметра следует передавать динамический или фиксированный массив структур. Первые два поля этой структуры должны соответствовать типам ключей и значений ONNX_TYPE_MAP и являться фиксированными или динамическими массивами.

    Рассмотрим модель iris.onnx, созданную следующим скриптом на Python:
    from sys import argv
    data_path=argv[0]
    last_index=data_path.rfind("\\")+1
    data_path=data_path[0:last_index]
    
    from sklearn.datasets import load_iris
    iris_dataset = load_iris()
    from sklearn.model_selection import train_test_split
    X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0)
    from sklearn.neighbors import KNeighborsClassifier
    knn = KNeighborsClassifier(n_neighbors=1)
    knn.fit(X_train, y_train)
    
    #  Convert into ONNX format
    from skl2onnx import convert_sklearn
    from skl2onnx.common.data_types import FloatTensorType
    initial_type = [('float_input', FloatTensorType([None, 4]))]
    onx = convert_sklearn(knn, initial_types=initial_type)
    path = data_path+"iris.onnx"
    with open(path, "wb") as f:
        f.write(onx.SerializeToString())
    Откройте созданный onnx-файл в MetaEditor:

    Просмотр ONNX-модели в MetaEditor


    В качестве выхода "output_probability" отдается последовательность из Map, ключ которой имеет тип INT64 (что соответствует типу long языка MQL5) и значение типа float. Для получения данных с этого выхода объявим следующую структуру:
    struct MyMap
      {
       long              key[];
       float             value[];
      };
    Здесь мы использовали динамические массивы с соответствующими типами. В данном случае можно использовать фиксированные массивы, поскольку для данной модели Map всегда содержит 3 пары ключ+значение.

    Поскольку возвращается последовательность из Map, в качестве параметра для приема данных с выхода output_probability следует передать массив таких структур — динамический или фиксированный, исходя из свойств конкретной модели. Например:
    //--- объявим массив для приема данных с выходного слоя output_probability
    MyMap output_probability[];
    
    ...
    
    //--- выполнение модели
    OnnxRun(model,ONNX_DEBUG_LOGS,float_input,output_label,output_probability);

MetaEditor

  1. Исправлено отображение типа выходных параметров в просмотрщике моделей ONNX.

MetaTrader 5 Web Terminal build 3980

  1. Добавлен раздел связи с брокером в основное меню.
  2. Добавлена обработка ошибки авторизации при помощи SSL-сертификата. Этот вид авторизации не поддерживается в веб-терминале, вместо него может быть включена авторизация при помощи одноразовых паролей.
  3. Исправлена ссылка на скачивание десктопной версии платформы в основном меню.
  4. Изменен диалог управления счетами. Если у брокера недоступно открытие демонстрационных или реальных счетов, соответствующий пункт меню скрывается.

14 сентября 2023

MetaTrader 5 build 3950: Снятие/пополнение в терминале и обновленный торговый отчет
  1. Добавлена поддержка балансовых операций снятия и пополнения торгового счета непосредственно в клиентском терминале.

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

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

    Пополнение и снятие средств со счета прямо в платформе

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

    Чтобы посмотреть статистику по торговле, нажмите "Отчеты" в меню "Вид".






    Отчет поделен на четыре вкладки, каждая из которых содержит агрегированную информацию в своем разрезе:

  3. Добавлено использование AVX2-инструкций в тех случаях, когда они поддерживаются процессором. Это позволит более эффективно использовать возможности процессора, на котором запускается терминал. Теперь при установке или обновлении терминал сам будет определять архитектуру процессора и устанавливать версию, оптимальную под данный процессор. При запуске терминал пишет в лог сообщение (AVX/AVX2), в котором показывает, под какой набор инструкций собран терминал.
    Terminal	MetaTrader 5 x64 build 3914 started for MetaQuotes Software Corp.
    Terminal	Windows 10 build 19045, 20 x Intel Xeon  E5-2630 v4 @ 2.20GHz, AVX, 41 / 63 Gb memory, 58 / 280 Gb disk, UAC, GMT+2
    

    Advanced Vector Extensions (AVX) — расширение системы команд x86 для микропроцессоров Intel и AMD, предложено еще в 2008. Дальнейшее развитие привело к появлению AVX2 и AVX-512 (2013).

  4. В дополнение к двум версиям терминалов MetaTrader 5 на X64 и AVX, мы выпустили третью версию десктопного терминала, скомпилированную с прямой поддержкой AVX2-команд. При этом ONNX-модели теперь также могут работать с поддержкой AVX2-команд.
  5. Добавлено отображение ссылок на необходимые нормативные документы брокера. Получить всю необходимую правовую информацию со стороны брокера теперь можно прямо в клиентском терминале в меню Help / Terms & Conditions.

    Ссылки на нормативные документы брокера

  6. Исправлена работа 2FA-авторизации при ее совместном использовании с расширенной авторизацией при помощи сертификатов.
  7. Исправлено отображение писем внутренней почты при работе в MacOS.
  8. Исправлено отображение окна Сигналов при работе в Wine.
  9. Выпущены новые инсталляторы МТ4/MT5-терминалов для Linux.
  10. В меню Help добавлены команды для перехода на страницы скачивания Linux и Mac-версий терминала. Для удобства трейдеров мы создали специальный раздел сайта, где представлены варианты торгового терминала под все платформы и для торговли в браузере.

    Ссылки для скачивания Linux и Mac-версий платформы

  11. Исправлена вставка картинок в письма внутренней почты.
  12. Выпущены новые инсталляторы терминала MetaTrader 5 для Mac с поддержкой процессоров M1/M2. В связи с переходом на Wine 8.0.1 мы настоятельно рекомендуем удалить старые версии и инсталлировать новые. При использовании старых версий Wine < 8.0.0 в логе терминала выводится сообщение о необходимости обновления.
  13. Добавлен показ "VPS Hosting Speed Up" в меню сканирования сети с указанием пинга до вашего торгового сервера. Это позволит наглядно увидеть, как уменьшатся ваши сетевые задержки при аренде встроенного VPS.


    Добавлен показ "VPS Hosting Speed Up" в меню сканирования сети с указанием пинга до вашего торгового сервера

  14. Усилены требования на минимальную сложность паролей, а именно:

    • длина пароля — не меньше 8 символов
    • пароль должен содержать не менее 1 символа в верхнем и нижнем регистре, не менее 1 цифры и не менее 1 спецсимвола.

  15. Кликабельные ссылки в логах терминала. Теперь при двойном клике на строках с https ссылками происходит переход в браузер с открытием ссылок.
  16. Исправлен поиск торговых инструментов в Обзоре рынка. Теперь символ в первую очередь ищется по имени, а затем — по остальным полям: описание, ISIN и т.д.
  17. Исправлен учет прибыли по сделкам при расчете баланса в отчетах по торговой истории счета. В некоторых случая при расчете не учитывался тип инструмента.
  18. VPS Hosting

    1. Можно отсылать и запускать EX5-программы, скомпилированные под набор команд x64/AVX/AVX2. Программы под AVX512 на встроенном VPS не поддерживаются.
    2. Количество локаций для аренды встроенного VPS увеличено до 27. Теперь выбор наиболее близкого сервера стал еще шире.

    MQL5

    1. Добавлено управление настройками компиляции, в том числе выбор расширенных наборов инструкций процессора — AVX, AVX2, AVX512, FMA3.

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

      Мы также добавили возможность выбирать, с каким типом инструкций необходимо скомилировать программу MQL5. При этом можно указывать как общие настройки для одиночных программ в Настройках MetaEditor, так и применять персональные настройки для проектов:


      Настройки компиляции в MetaEditor

    2. В методы матриц и векторов добавлены перечисления ENUM_AVERAGE_MODE и ENUM_CLASSIFICATION_METRIC.
    3. Добавлен метод Set для векторов.
    4. Переделана инициализация OpenCL - теперь он инициализируется по первому фактическому использованию, а не по загрузке MQL5-программы, содержащей функции OpenCL.
    5. Исправлена ошибка при вызове функции SocketIsConnected.
    6. Исправлена задержка вызова метода OnDeinit при выгрузке кастомных индикаторов.
    7. Исправлена ошибка компилятора, из-за которой неверно вычислялась длина строки в свойстве indicator_label, что приводило к неправильному показу тултипов для графических объектов.
    8. Исправлено использование многострочного комментария в теле макроса. Пример макроса, на котором возникала ошибка:
      #define MACRO1 /*
      #define MACRO2 */
      void OnStart()
      {
      #ifdef MACRO2
          Print( 2 );
      #else
          Print( 1 );
      #endif
      }
    9. Исправлен порядок параметров функции MathAtan2. Теперь порядок соответствует аналогичной функции в C++.
    10. В перечисление ENUM_TERMINAL_INFO_STRING добавлено новое значение TERMINAL_CPU_ARCHITECTURE. Также добавлен макрос  __CPU_ARCHITECTURE__ — получение архитектуры CPU компьютера, на котором работает терминал. Пример использования:
      void OnStart()
        {
         Print("CPU name:         ",TerminalInfoString(TERMINAL_CPU_NAME));
         Print("CPU cores:        ",TerminalInfoInteger(TERMINAL_CPU_CORES));
         Print("CPU architecture: ",TerminalInfoString(TERMINAL_CPU_ARCHITECTURE));  
         Print("");
         Print("EX5 architecture: ",__CPU_ARCHITECTURE__);                            
        }
      
      CPU name:         12th Gen Intel Core i9-12900K
      CPU cores:        24
      CPU architecture: AVX2 + FMA3
      
      EX5 architecture: AVX

    11. Изменено поведение модификатора extern. Теперь объявление переменной с модификатором extern является предъобъявлением переменной.

      Новые ограничения:
      1. Предъобъявление переменной не должно содержать инициализации. Например, при компиляции следующего кода получим ошибку "X - extern variable initialization is not allowed":
        extern int X=0;
        
        void OnStart()
          {
          }

      2. Переменная extern должна быть объявлена в программе без ключевого слова extern. Например, при компиляции следующего кода получим ошибку "unresolved extern variable X":
        extern int X;
        
        void OnStart()
          {
          }

      3. При использовании extern важно следить за порядком инициализации, т.к. доступ к переменной можно получить до её инициалиазции. Например, следущий код выведет в журнал "Y=0 X=5", т.к. инициализация переменной Y происходит до инициализации переменной X:
        extern int X;
        int        Y=X;
        
        void OnStart(void)
          {
           Print("Y=",Y," X=",X);
          }
          
        int X=_Digits;

    MetaEditor

    1. Добавлено использование AVX2-инструкций в тех случаях, когда они поддерживаются процессором.
    2. Исправлена ошибка, в некоторых случаях приводившая к зависанию при компиляции.
    3. Улучшено отображение локальных переменных при отладке.

    Tester

    1. Добавлено использование AVX2-инструкций в тех случаях, когда они поддерживаются процессором.

    Обновлены переводы пользовательского интерфейса.

    Исправления по крешлогам.


    MetaTrader 5 Web Terminal build 3950

    1. В настройки графика добавлен показ цены Ask.

      В настройки графика добавлен показ цены Ask

    2. Ускорена первоначальная загрузка терминала.
    3. Добавлена возможность менять пароль.
    4. Добавлена возможность удаления и сохранения пароля.
    5. Добавлен кастомный период для показа торговой истории.
    6. Исправлена ошибка при принудительной смене пароля.
    7. Исправлен расчёт вычисления diff — дистанции между ценой открытия и уровнями TP/SL.

      Исправлен расчёт вычисления diff — дистанции между ценов открытия и уровнями TP/SL

    8. Исправлена ошибка остановки тиков при закрытии всех ордеров/сделок.
    9. Исправлен показ событий Экономического календаря — в некоторых случаях они не отображались на графике, несмотря на включенную опцию.
    10. Исправлена ошибка, когда сбрасывались индикаторы при смене символа на графике.
    11. Исправлена ошибка в форме открытия реального аккаунта при подтверждении телефона/email.
    12. Добавлены и исправлены переводы.
123456789