Terminal
- Исправлено отображение текста на графиках при работе в системах macOS и Linux, где используется Wine.
- Исправлена отрисовка индикаторов, отображающихся в виде линии с изменяющимся цветом.
- Исправлена отрисовка объектов «Текстовая метка» и «Кнопка».
- Исправлено форматирование некоторых статистических показателей в торговых отчетах. Они могли округляться некорректно.
- Изменен расчет показателей «Общая прибыль» и «Общий убыток» в торговом отчете. Теперь они включают комиссии и свопы.
- Исправлено сохранение состояния панели инструментов для открепленного графика. При перезапуске платформы скрытая панель могла появляться вновь.
- Исправлена загрузка настроек пользовательских торговых инструментов из файлов JSON. В частности, могли некорректно импортироваться настройки свопов, торговых сессий, а также стоимость тика.
- Добавлено указание инструмента и таймфрейма в заголовок окна при запуске скрипта на графике.

- Исправлено дублирование торговых инструментов в подсказке, отображаемой при поиске инструментов в «Обзоре рынка».
- Исправлено отображение шрифтов Windings на графике.
- Исправлено отображение индикаторов в виде разноцветных свечей (DRAW_COLOR_CANDLES) и разноцветных линий (DRAW_COLOR_LINE).
- Добавлен вывод сообщения в журнал о том, что сервер брокера имеет устаревшую версию. Если сервер имеет версию ниже 5200, выпущенную полгода назад, вы увидите предупреждение:
outdated server build - must be at least 5200, contact your broker pleaseСообщение выводится для информации и не влияет на возможность подключения к серверу.
- Обновлены переводы пользовательского интерфейса.
MQL5
- Изменен порядок установки библиотеки ONNX. Теперь она загружается при первом запуске MQL5-программы, использующей ONNX, а не вместе с платформой. Обновление библиотеки происходит автоматически.
- Добавлена поддержка CUDA для ONNX. Если ваша видеокарта поддерживает соответствующую технологию, это существенно ускорит инференс моделей. Настоятельно рекомендуем обновить драйверы NVIDIA для улучшения стабильности и повышения производительности.
Разрешениями на использование CUDA можно управлять в настройках платформы:

- Обновлены флаги в перечислении ENUM_ONNX_FLAGS. Они используются при создании и выполнении моделей ONNX:
Работа с логами
Вместо устаревшего флага ONNX_DEBUG_LOGS для работы с логами теперь используются:
- ONNX_LOGLEVEL_VERBOSE — выводить все сообщения.
- ONNX_LOGLEVEL_INFO — выводить информационные сообщения, а также предупреждения и ошибки. Заменяет устаревший флаг ONNX_DEBUG_LOGS.
- ONNX_LOGLEVEL_WARNING — выводить предупреждения и ошибки. Используется по умолчанию.
- ONNX_LOGLEVEL_ERROR — выводить только ошибки.
Управление CUDA и GPU
Флаг ONNX_CUDA_DISABLE удален. Вместо него используйте новый ONNX_USE_CPU_ONLY. Если он включен, для работы с моделями будет использоваться только процессор.
Добавлены флаги для выбора видеокарты, на которой будет исполняться модель:
- ONNX_GPU_DEVICE_0
- ONNX_GPU_DEVICE_1
- ONNX_GPU_DEVICE_2
- ONNX_GPU_DEVICE_3
- ONNX_GPU_DEVICE_4
- ONNX_GPU_DEVICE_5
- ONNX_GPU_DEVICE_6
- ONNX_GPU_DEVICE_7
Используйте их, если в системе есть 2 или более устройства, поддерживающих CUDA. Если задано несколько флагов, будет выбрано устройство с наименьшим индексом.
Профилирование моделей
Добавлен флаг ONNX_ENABLE_PROFILING, включающий профилирование модели ONNX.
При запуске модели с включенным флагом в папке /MQL5/Files/OnnxProfileReports/ будет создан файл с именем [название файла EX5]_[дата]_[время].json, содержащий отчет профилирования. - Увеличен лимит для файлов, которые могут быть включены в программу в виде ресурса. Теперь он составляет 1 ГБ. Это позволяет включать в проекты большие модели ONNX.
- Улучшена стабильность при работе с OpenCL.
- Добавлен метод ReplaceToZero. Он заменяет малые значения в матрице/векторе нулевыми значениями и возвращает количество замененных элементов.
- Добавлены новые методы OpenBLAS:
- FactorizationLDLComplexSyRaw — вычисляет разложение комплексной матрицы с использованием диагонального выбора ведущего элемента по методу Банча-Кауфмана.
- LDLComplexSyLinearEquationsSolution — решает систему линейных уравнений A * X = B с комплексной симметричной неопределенной матрицей, используя разложение A = U**T * D * U or A = L * D * L**T, рассчитанное методом FactorizationLDLComplexSyRaw с несколькими правыми частями.
- LDLComplexSyInverse — вычисляет обратную матрицу для комплексной симметричной неопределенной матрицы с использованием разложения A = U**T * D * U or A = L * D * L**T, рассчитанного методом FactorizationLDLComplexSyRaw.
- LDLComplexSyCondNumReciprocal — оценивает обратное число обусловленности для комплексной симметричной неопределенной матрицы, используя разложение LDLT, рассчитанное методом FactorizationLDLComplexSyRaw.
- Добавлена функция ColorToPRGB. Она преобразует тип color в тип uint для получения PRGB-представления цвета. Такой формат используется при создании графического ресурса, вывода текста и в классе стандартной библиотеки CCanvas при работе с цветом COLOR_FORMAT_ARGB_RAW.
uint ColorToPRGB( color clr, // преобразуемый цвет в формате color uchar alpha=255 // альфа-канал, управляющий прозрачностью цвета );
PRGB цвет вычисляется по формуле:R = R * A / 255
G = G * A / 255
B = B * A / 255
A = A - Исправлена программная установка текста для объектов OBJ_LABEL, OBJ_TEXT, OBJ_BUTTON и OBJ_EDIT. В некоторых случаях заданный текст мог не отображаться.
- Исправлена установка цвета для графических объектов при помощи ObjectSetInteger. Значения clrNONE могло не учитываться.
- Исправлено зависание функции Bars при отсутствии ценовой истории на сервере.
- Исправлен поиск глобальных переменных в области видимости. Ошибка не позволяла использовать внутри namespace переменные с теми же именами, что у переменных на глобальном уровне.
- Исправлена работа с атрибутом final. Теперь при попытке переопределить функцию, помеченную как final, компилятор будет выдавать соответствующую ошибку.
- Исправлено ложное предупреждение компилятора, возникавшее при использовании предобъявлений функций в подключаемых файлах *.mqh без директивы #import. Теперь компилятор корректно обрабатывает такие объявления и не требует #import, если функции не являются импортируемыми из DLL.
Пример
Файл utils.mqh:
// Предобъявление функции double CalcLot(double risk, double stop);
Файл expert.mq5:#include "utils.mqh" double CalcLot(double risk, double stop) { return risk / stop; }
Ранее компилятор мог выдавать предупреждение о том, что для функции CalcLot в файле utils.mqh отсутствует директива #import, несмотря на то что функция является пользовательской и реализована в коде проекта. Теперь такой код компилируется без предупреждений. Директива #import требуется только для функций, действительно импортируемых из внешних DLL.
MetaEditor
- Исправлена ошибка недостатка памяти при работе с большими исходными файлами (мегабайты).
- Исправлен показ значения и имени перечисления в окне наблюдения выражений при отладке.
Tester
- Исправлена остановка тестирования для зацикленных экспертов. Теперь даже при наличии бесконечного цикла процесс будет моментально останавливаться при нажатии кнопки «Стоп».
- Исправлен вызов функции EventChartCustom при визуальном тестировании. Ранее событие ошибочно отправлялось дважды.
- Исправлена проверка уровня заморозки (SYMBOL_TRADE_FREEZE_LEVEL) при удалении только что установленных отложенных ордеров.
- Исправлен экспорт данных форвард-тестирования. При экспорте данных теста, в котором не использовался форвард-режим, могли сохраняться данные предыдущих форвард-тестов.
WebTerminal
- Добавлено отображение приблизительного размера прибыли/убытка в деньгах при выставлении Стоп Лосса и Тейк Профита на графике.

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






































