---
title: "MetaTrader 5 build 3980: Улучшения и исправления - Последние обновления"
description: "Улучшен новый торговый отчет. Исправлено отображение итогового значения свопов, а также графика прибыли по символам. - Последние обновления"
image: "https://www.metatrader5.com/i/logo_metatrader5.png"
url: "https://www.metatrader5.com/ru/releasenotes/terminal/2308"
---

# MetaTrader 5 build 3980: Улучшения и исправления

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

21 сентября 2023

### Terminal

1.  Улучшен [новый торговый отчет](https://www.metatrader5.com/ru/releasenotes/terminal/2304). Исправлено отображение итогового значения свопов, а также графика прибыли по символам.
2.  Оптимизированы страницы пополнения и снятия средств со счета. Подробнее о новой интеграции платформы с платежными системами читайте в [предыдущей новости о билде 3950](https://www.metatrader5.com/ru/releasenotes/terminal/2304).
3.  Оптимизирован пересчет финансовых операций во всей платформе, включая тестер стратегий. Теперь показатели прибыли, маржи и многие другие параметры рассчитываются быстрее.
4.  Обновлены переводы пользовательского интерфейса.

### MQL5

1.  Добавлены методы Conjugate для типов complex, vector<complex> и matrix<complex>. Они выполняют [сопряжение](https://ru.wikipedia.org/wiki/Сопряжённые_числа) для комплексных чисел.

   ```
   //+------------------------------------------------------------------+ //| 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-модели](https://www.mql5.com/ru/docs/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](https://www.metatrader5.com/c/17/1/onnx.png)

   В качестве выхода "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](https://www.metatrader5.com/ru/metaeditor/help/machine_learning#onnx).

### Web Terminal

1. Добавлен раздел связи с брокером в основное меню.
2. Добавлена обработка ошибки авторизации при помощи SSL-сертификата. Этот вид авторизации не поддерживается в веб-терминале, вместо него может быть включена авторизация при помощи [одноразовых паролей](https://www.metatrader5.com/ru/terminal/help/start_advanced/otp).
3. Исправлена ссылка на скачивание десктопной версии платформы в основном меню.
4. Изменен диалог управления счетами. Если у брокера недоступно открытие демонстрационных или реальных счетов, соответствующий пункт меню скрывается.

**Предыдущие новости:**

- [MetaTrader 5 build 3950: Снятие/пополнение в терминале и обновленный торговый отчет](https://www.metatrader5.com/ru/releasenotes/terminal/2304)
- [MetaTrader 5 build 3800: ордера Book or Cancel, помощь AI при написании кода и расширенная поддержка ONNX](https://www.metatrader5.com/ru/releasenotes/terminal/2286)
- [MetaTrader 5 build 3660: Улучшения и исправления](https://www.metatrader5.com/ru/releasenotes/terminal/2281)
- [MetaTrader 5 build 3640: веб-терминал на 11 языках](https://www.metatrader5.com/ru/releasenotes/terminal/2279)
- [MetaTrader 5 build 3620: улучшения веб-терминала, поддержка ONNX и ускоренное умножение матриц в MQL5](https://www.metatrader5.com/ru/releasenotes/terminal/2278)
