---
title: "Новая версия платформы MetaTrader 5 build 5260: улучшения в Algo Forge и новые правила наследования в MQL5 - Последние обновления"
description: "В этой версии мы продолжили расширение библиотеки линейной алгебры OpenBLAS в MQL5, добавив новый раздел функций. Благодаря этим... - Последние обновления"
image: "https://www.metatrader5.com/c/17/1/build-5260-traders.png"
url: "https://www.metatrader5.com/ru/releasenotes/terminal/2403"
---

# Новая версия платформы MetaTrader 5 build 5260: улучшения в Algo Forge и новые правила наследования в MQL5

## В этой версии мы продолжили расширение библиотеки линейной алгебры OpenBLAS в MQL5, добавив новый раздел функций. Благодаря этим инструментам разработчики получают полный цикл преобразований ― от предварительной подготовки матрицы до точного и устойчивого вычисления ее спектра

5 сентября 2025

### Terminal

1.  Исправлено отображение настроек маржи в спецификации торгового инструмента. Ранее при использовании плавающего плеча (например, в зависимости от объема позиций на счете) в некоторых случаях настройки маржи в спецификации контракта показывались неверно.
2.  Исправлена сортировка заявок в стакане, если по символу разрешена торговля с отрицательными ценами. Теперь корректно и в правильном порядке отображаются заявки с положительными, отрицательными и нулевыми ценами.
3.  В руководство по терминалу добавлен раздел "[Как тестер загружает исторические данные](https://www.metatrader5.com/ru/terminal/help/algotrading/test_preparation)". В нем мы собрали основные сведения, необходимые для понимания работы тестера стратегий с торговой историей. Тестер всегда загружает "буфер истории до старта", чтобы обеспечить стабильность расчётов:
4. Добавлен перевод терминала на ирландский язык.
5. Обновлены переводы пользовательского интерфейса.

### MQL5

1.  Добавлены 5 новых методов в OpenBLAS — это новый раздел [Matrix Balance](https://www.mql5.com/ru/docs/matrix/openblas/blas_matrix_balance), расширяющий возможности работы с квадратными матрицами. Новый набор функций обеспечивает:

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

    Благодаря этим инструментам разработчики получают полный цикл преобразований ― от предварительной подготовки матрицы до точного и устойчивого вычисления ее спектра. Под капотом используются проверенные алгоритмы LAPACK (GEBAL, GEBAK, GEHRD, ORGHR, HSEQR), гарантирующие высокую производительность и надежность:

     - [MatrixBalance](https://www.mql5.com/ru/docs/matrix/openblas/blas_matrix_balance/matrixbalance) — балансирует квадратную матрицу (вещественную или комплексную) путем перестановок и/или масштабирования строк и столбцов. Снижает 1-норму, повышая точность последующего расчета собственных значений/векторов (на базе LAPACK-функции [GEBAL](https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2025-2/gebal.html)).
     - [EigenVectorsBackward](https://www.mql5.com/ru/docs/matrix/openblas/blas_matrix_balance/eigenvectorsbackward) — формирует собственные векторы (правые или левые) исходной матрицы после балансировки, выполняет обратную трансформацию (на основе [GEBAK](https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2025-2/gebak.html)).
     - [ReduceToHessenbergBalanced](https://www.mql5.com/ru/docs/matrix/openblas/blas_matrix_balance/reducetohessenbergbalanced) — преобразует сбалансированную матрицу в верхнетреугольную форму Хессенберга посредством ортогонального преобразования ([GEHRD](https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2025-2/gehrd.html)).
     - [ReflectHessenbergBalancedToQ](https://www.mql5.com/ru/docs/matrix/openblas/blas_matrix_balance/reflecthessenbergbalancedtoq) — генерирует ортогональную матрицу Q, являющуюся продуктом отражающих матриц, образующихся при редукции к форме Хессенберга ([ORGHR](https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2025-2/orghr.html)).
     - [EigenHessenbergBalancedSchurQ](https://www.mql5.com/ru/docs/matrix/openblas/blas_matrix_balance/eigenhessenbergbalancedschurq) — выполняет Шур-разложение: вычисляет собственные значения матрицы Хессенберга, а также матрицы T (верхнетреугольная Шур-форма) и Z (матрица векторов), при необходимости обновляет Q ([HSEQR](https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2025-2/hseqr.html)).
2.  Добавлены два новых метода в раздел [Eigen Values](https://www.mql5.com/ru/docs/matrix/openblas/eigen_values). Обе функции позволяют эффективно получать собственные векторы после Шур-разложения и дополняют полный набор инструментов линейной алгебры в MQL5:

     - [EigenVectorsTriangularZ](https://www.mql5.com/ru/docs/matrix/openblas/eigen_values/general_matrices/eigenvectorstriangularz) — вычисляет собственные векторы действительной верхней квазитреугольной или комплексной верхнетреугольной матрицы (Шур-форма). Использует разложение A = Q · T · Qᴴ ([TREVC](https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2025-2/trevc.html)). Отличается высокой точностью.
     - [EigenVectorsTriangularZBlocked](https://www.mql5.com/ru/docs/matrix/openblas/eigen_values/general_matrices/eigenvectorstriangularzblocked) — блочный вариант вычисления собственных векторов ([TREVC3](https://www.intel.com/content/www/us/en/docs/onemkl/developer-reference-fortran/2025-2/trevc3.html)). Работает быстрее, чем EigenVectorsTriangularZ, но может быть менее точным.
3.  Внесено важное изменение при наследовании — правило *method hiding.* Ранее, если в производном классе или структуре определялся метод с тем же именем, что и в базовом классе, происходила [перегрузка](https://www.mql5.com/ru/docs/basis/oop/overload): все варианты методов (и предка, и потомка) были доступны в наследнике. Теперь, методы с одинаковым именем в потомке **скрывают**методы предка (*method hiding*). Если необходимо вызвать скрытый метод предка, следует явно указать область видимости при вызове:

   ```
   class Base   { public:    void Print(int x)   { ::Print("Base int: ", x); }    void Print(double y){ ::Print("Base double: ", y); }   }; class Derived : public Base   { public:    void Print(string s){ ::Print("Derived string: ", s); }   }; void OnStart()   {    Derived d;    d.Print("text");    // вызов Derived::Print(string)    d.Print(10);        // ВНИМАНИЕ! вызов Derived::Print(string), т.к. Base::Print скрыт (недоступен)    d.Base::Print(10);  // явный вызов скрытого метода предка   }
   ```

    Некоторое время компилятор MQL5 будет выдавать предупреждение, если скрытый метод предка лучше подходит по параметрам вызова, чем доступный метод потомка. Пример для приведенного выше кода d.Print(10):

   call resolves to 'void Derived::Print(string)' instead of 'void Base::Print(int)' due to new rules of method hiding see declaration of function 'Derived::Print' see declaration of function 'Base::Print' implicit conversion from 'number' to 'string'
4.  Добавлен оператор **using** для восстановления перегрузок методов предка. Чтобы управлять новым поведением, в MQL5 появился оператор using. Он позволяет «подтянуть» в область [видимости класса](https://www.mql5.com/ru/docs/basis/oop/inheritance) или структуры все перегрузки метода из базового типа:

   ```
   class Base   { protected:    void Print(int x)   { ::Print("Base int: ", x); }    void Print(double y){ ::Print("Base double: ", y); }   }; class Derived : public Base   { public:    void Print(string s){ ::Print("Derived string: ", s); }    using Base::Print;  // возвращаем перегрузки Print из Base   }; void OnStart()   {    Derived d;    d.Print("text");   // Derived::Print(string)    d.Print(42);       // Base::Print(int)    d.Print(3.14);     // Base::Print(double)   }
   ```

    Если убрать using Base::Print;, то вызовы d.Print(42) и d.Print(3.14) будут недоступны — останется только метод Derived::Print(string) Дополнительно в приведенном примере можно увидеть, что методы protected предка, стали доступны в потомке (protected сменился на public) Таким образом, разработчики получают более гибкий и предсказуемый контроль над иерархиями классов и могут точно определять, какие перегрузки методов предка должны оставаться доступными в наследнике.

### MetaEditor

1.  Ускорены вычисления SHA-1 хэшей для Git-операций при работе с [Algo Forge](https://forge.mql5.io/). Это дает прирост производительности более 40% при массовых операциях.
2.  Исправлена логика проверки модификаций файлов для Git-операций. Если изменилось только время модификации, но содержимое осталось прежним, файл больше не считается измененным. Это устраняет ложные детекты и предотвращает конфликты с удаленным репозиторием.

### Algo Forge

Опубликована [Справка по работе с MQL5 Algo Forge](https://forge.mql5.io/help/ru/guide). Из нее вы узнаете все ключевые преимущества Git, без лишней сложности:

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

### Web Terminal

1. Исправлено отображение времени рабочей и котировочной сессии в [спецификации символа](https://www.metatrader5.com/ru/terminal/help/trading/market_watch#specification).
2. Исправлено отображение настроек маржи в [спецификации символа](https://www.metatrader5.com/ru/terminal/help/trading/market_watch#specification).
3. Изменено отображение сессий торговых инструментов в [спецификации символа](https://www.metatrader5.com/ru/terminal/help/trading/market_watch#specification).
4. Добавлена поддержка торгового счета типа [Contest](https://www.metatrader5.com/ru/terminal/help/startworking/acc_open#contest) — эти счета отображаются синим цветом, Demo — зеленым.
5. Исправлена точность расчетов маржи с [плавающим плечом](https://www.metatrader5.com/ru/terminal/help/trading/market_watch#margin) в некоторых случаях.
6. Исправлена ошибка открытия нового счета — в некоторых случаях не работала кнопка "Next" для перехода к следующему шагу.
7. Исправлена ошибка, когда нельзя было выставить лимитный ордер между ценами Bid и Ask в режиме [биржевого](https://www.metatrader5.com/ru/terminal/help/trading/performing_deals#exchange) исполнения.
8. Исправлена ошибка показа цены исполнения ордера. После отсылки приказа в окне будет показан результат его исполнения — успешное совершение торговой операции или отказ с описанием причины, почему она не была исполнена. В некоторых случаях цена исполнения показывалась как "0".
9. Исправлена ошибка, когда не отображалась кнопка быстрого закрытия позиции.![Кнопка закрытия позиции](https://www.metatrader5.com/c/17/1/close_pos.gif)
10. Исправлен показ валют торгового счета в окне выбора из списка счетов.

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

- [Новая версия платформы MetaTrader 5 build 5200: расширение OpenBLAS и усиление контроля в MQL5](https://www.metatrader5.com/ru/releasenotes/terminal/2400)
- [Новый MetaTrader 5 для iPhone/iPad: торговый отчет и дополнительные индикаторы](https://www.metatrader5.com/ru/releasenotes/terminal/2397)
- [Новая версия платформы MetaTrader 5 build 5120: улучшения и исправления](https://www.metatrader5.com/ru/releasenotes/terminal/2395)
- [Новая версия платформы MetaTrader 5 build 5100: Переход на Git и хаб разработчиков MQL5 Algo Forge, темная тема и улучшения интерфейса](https://www.metatrader5.com/ru/releasenotes/terminal/2393)
- [MetaTrader 5 для iPhone/iPad: линейка, текстовые объекты для графиков и таймер бара](https://www.metatrader5.com/ru/releasenotes/terminal/2387)
