Terminal
- Ограничен доступ к 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
- Исправлен, оптимизирован и значительно ускорен запрос тиковой истории и ее экспорт в файлы CSV\HTML.
- Добавлена поддержка Microsoft Edge WebView2 для отображения HTML-страниц в торговой платформе под macOS. По сравнению с устаревшим MSHTML новый компонент существенно расширяет возможности для отображения веб-контента, предоставляя доступ к современным технологиям. Переход на WebView2 позволил улучшить внешний вид разделов «Маркет», «Сигналы», «VPS» и т.д., увеличить их производительность и создать более отзывчивые интерфейсы.
- Исправлено контекстное меню в окне отправки письма через встроенную почту.
- Исправлена фильтрация в диалоге выбора торговых инструментов. Теперь для скрытия истекших инструментов необязательно сначала вводить их имя в строке поиска.
- Исправлен расчет ожидаемого гарантийного обеспечения (маржинальных требований) в окне спецификации контракта. Ошибка возникала для инструментов типа Exchange Stocks и Bonds.
- Доработана функция массового закрытия торговых позиций для счетов с FIFO. Теперь для них не показываются несовместимые типы операций: закрытие всех прибыльных/убыточных позиций, позиций в одном направлении и встречных позиций.
- Исправлена ошибка, из-за которой пользователи не могли выставить разнонаправленные отложенные ордера на счетах, где закрытие позиций происходит по правилу FIFO.
- Исправлен расчет ликвидационной стоимости торгового счета при наличии позиций по инструментам с типом Exchange Futures.
- Исправлен расчет плавающей прибыли для позиций по инструментам с типом Exchange Bonds и Exchange MOEX Bonds.
- Отключена функция автоматического создания демонстрационного счета при запуске платформы, если в ней нет ранее добавленных счетов.
- Улучшен контроль вводимого имени и email при регистрации счетов.
- Исправлен расчет маржи для захеджированных позиций. Ошибка могла проявляться в некоторых случаях при использовании плавающей маржи на счете (зависит от объема/стоимости позиций на счету).
- Исправлено обновление состояния кнопки «Далее» в диалоге открытия демо-счета. После ввода кода подтверждения телефона или почты кнопка могла оставаться неактивной.
- Обновлены переводы пользовательского интерфейса.
MQL5
- Добавлена штатная интеграция с библиотекой матричных вычислений 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).
- EigenSolver — вычисление собственных значений и собственных векторов обычной квадратной матрицы классическим алгоритмом (lapack-функция GEEV).
- EigenSymmetricDC — вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряженной) матрицы при помощи алгоритма divide and conquer (lapack-функции SYEVD, HEEVD).
Подробная документация станет доступна в ближайшее время.
- Добавлено значение SYMBOL_SWAP_MODE_CURRENCY_PROFIT в перечисление ENUM_SYMBOL_SWAP_MODE. Если функция SymbolInfoInteger возвращает такое значение, значит свопы на счете начисляются в деньгах в валюте расчета прибыли.
- Расширена поддержка ONNX Runtime. Добавлены новые типы операций машинного обучения, что позволяет запускать более сложные нейромодели.
- Продолжается переход на более эффективный компилятор MQL5. Он уже используется для части функций. Переход позволит использовать новые оптимизации и увеличить скорость исполнения программ.
- Добавлены новые типы данных, необходимые для поддержки библиотеки OpenBLAS:
- complexf — комплексное число с данными float
- vectorcf — вектор, содержащий элементы типа complexf
- matrixcf — матрица, содержащая элементы типа complexf
- Улучшена работа WebRequest при работе с веб-сайтами, которые нарушают правила формирования URL, имеют ошибки в редиректах или большие списки альтернативных имен DNS.
- Исправлено одновременное присваивание нескольким переменным типа matrix или vector.
MetaEditor
- Обновлены доступные модели для AI Assistant. Теперь вместо GPT-3.5 Turbo используется более современная GPT-4o mini. Также добавлена модель 01-mini.
- Исправлена ошибка в отладчике, из-за которой в некоторых случаях значения переменных не обновлялись в окне наблюдения.
- Обновлены переводы пользовательского интерфейса.
MetaTester
- Исправлено сохранение коэффициентов маржи в пользовательских настройках символа.
- Исправлены утечки памяти, происходившие в некоторых случаях между проходами тестирования.
MetaTrader 5 Web Terminal
- Добавлен режим «Перекрестие» для просмотра точных значений и измерения расстояний на графике.
Нажмите соответствующую кнопку на левой панели. Наведите перекрестие на любую точку графика — дата и цена будут отображены на соответствующих шкалах. Чтобы измерить расстояние, нажмите на любой точке графика и проведите курсор к другой точке, не отпуская кнопку мыши.
Вы также можете использовать горячие клавиши: средняя кнопка мыши — для включения перекрестия, Esc или правая кнопка мыши — для отключения.
- Добавлено представление графика в виде простой линии, построенной по ценам закрытия баров:
- Добавлена возможность показать дополнительные колонки в «Обзоре рынка» в мобильном представлении. Для настройки перейдите в табличный режим и нажмите «...»:
- Добавлены горячие клавиши:
- Home — прокрутка к началу графика (самой ранней дате)
- End — прокрутка к концу графика (самой поздней дате)
- Page Up — прокрутка графика на один экран назад
- Page Down — прокрутка графика на один экран вперед
- Усилена безопасность хранения данных для подключения к счету.
- Улучшены прокрутка, перемещение и масштабирование графиков.
- Ускорена первоначальная загрузка веб-платформы на странице.
- Оптимизирована загрузка баров.
- Исправлен расчет плавающей прибыли для позиций по инструментам с типом Exchange Bonds и Exchange MOEX Bonds.
- Исправлен ввод объема в панели быстрой торговли на графике.
- Исправлена ошибка обновления объемов заявок в стакане цен. В некоторых случаях значения могли обновляться с задержкой.
- Исправлена проверка на минимально допустимый объем торговой операции при выставлении ордеров.
- Исправлен расчет маржи для захеджированных позиций. Ошибка могла проявляться в некоторых случаях при использовании плавающей маржи на счете (зависит от объема/стоимости позиций на счету).
- Исправлена ошибка, из-за которой кнопки Buy и Sell на панели быстрой торговли могли быть неактивными до изменения объема.
Предыдущие новости:
- MetaTrader 5 build 4410: улучшения в работе
- MetaTrader 5 build 4380: улучшения в работе
- MetaTrader 5 build 4350: больше аналитических объектов в веб-платформе и стартовая страница в MetaEditor
- MetaTrader 5 build 4260: общие улучшения
- MetaTrader 5 build 4230: больше встроенных приложений и расширение поддержки ONNX