---
title: "Новая версия платформы MetaTrader 5 build 5100: Переход на Git и хаб разработчиков MQL5 Algo Forge, темная тема и улучшения интерфейса - Последние обновления"
description: "В этой версии мы существенно переработали редактор исходного кода MetaEditor. Встроенное версионное хранилище MQL5 Storage переведено на... - Последние обновления"
image: "https://www.metatrader5.com/c/17/1/build-5100-broker.png"
url: "https://www.metatrader5.com/ru/releasenotes/terminal/2393"
---

# Новая версия платформы MetaTrader 5 build 5100: Переход на Git и хаб разработчиков MQL5 Algo Forge, темная тема и улучшения интерфейса

## В этой версии мы существенно переработали редактор исходного кода MetaEditor. Встроенное версионное хранилище MQL5 Storage переведено на использование Git вместо Subversion. Git является стандартом для разработчиков по всему миру, обеспечивая надежность и гибкость в управлении кодом. Вместе с переходом на новую систему мы открываем новый портал для управления проектами онлайн — MQL5 Algo Forge

5 июня 2025

### MetaEditor

- Мы полностью обновили хранилище исходных кодов [MQL5 Storage](https://www.metatrader5.com/ru/metaeditor/help/mql5storage). Теперь в качестве системы контроля версий в нем используется не Subversion, а [Git](https://git-scm.com/). Он является стандартом для разработчиков по всему миру, обеспечивая надежность и гибкость в управлении кодом.

    - Гибкое ветвление и слияние — создавайте отдельные ветки для новых функций или экспериментов, а затем легко объединяйте их в основную версию проекта.
    - Ускоренная работа с репозиторием — в отличие от Subversion, Git хранит все данные локально, что делает операции (коммиты, переключение между версиями, сравнение изменений) гораздо быстрее.
    - Работа в оффлайн-режиме — теперь вам не нужно постоянное подключение к серверу: вы можете коммитить изменения локально, а затем отправлять их в онлайн-репозиторий, когда будет удобно.
    - Продвинутая система отслеживания изменений — Git позволяет легко просматривать историю изменений, отслеживать, кто и когда внес правки, а также откатываться к предыдущим версиям без лишних сложностей.
    - Лучшее слияние изменений — продвинутая система сравнения и объединения кода позволяет минимизировать конфликты и легко управлять совместной разработкой.

  **Совместная разработка на новом уровне** Вместе с переходом на Git мы открываем новый портал для управления проектами онлайн — [MQL5 Algo Forge](https://forge.mql5.io/). Это не просто список ваших проектов, это целая социальная сеть для разработчиков, своего рода GitHub для алготрейдеров. Подписывайтесь на интересных авторов, создавайте команды и ведите совместные проекты удобно.

  ![Новый портал для управления проектами онлайн — MQL5 Algo Forge](https://c.mql5.com/3/465/forge-profile.png)

   Просматривайте детали проектов: структуру, файлы, коммиты, ветки и т.д. Отслеживайте вклад каждого участника, создавайте документацию и делитесь проектом в Интернете.

  ![Детали проекта](https://c.mql5.com/3/465/forge-project.png)

   Отслеживайте все изменения в коде: новые, измененные и удаленные строки. При обнаружении проблем ставьте разработчику задачу на исправление прямо в проекте.

  ![Отслеживайте все изменения в коде](https://c.mql5.com/3/465/forge-diff.png)

   Для работы с Git мы переработали меню Навигатора и активного окна редактирования кода. Также мы добавили отдельное меню Git на верхнюю панель MetaEditor:

  ![Новые меню для работы с Git](https://c.mql5.com/3/465/forge-menu.png)

   Все подробности работы с Git скоро появятся в документации.

### Terminal

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

   ![Добавлена поддержка темной цветовой схемы](https://c.mql5.com/3/465/metaeditor-dark.png)

    Адаптируя интерфейс для поддержки разных тем, мы внесли множество улучшений в отображение диалогов, меню, панелей и кнопок для более комфортной работы. В MetaEditor информация о текущем положении курсора в активном окне, а также индикатор режима ввода текста (INS/OVR) показываются в правом верхнем углу. Строка состояния внизу окна больше не показывается, чтобы сэкономить рабочее пространство.
2. Добавлена возможность арендовать [VPS](https://www.mql5.com/ru/vps) на 12 месяцев. Покупая хостинг сразу на долгий срок, вы экономите треть стоимости.

   ![Добавлена возможность арендовать VPS на 12 месяцев](https://c.mql5.com/3/465/terminal-vps.png)
3. Оптимизировано потребление памяти, теперь для работы терминала используется меньше ресурсов компьютера.
4. Оптимизировано отображение торговой истории счета. Теперь платформа может корректно выводить миллионы записей.
5. Добавлена команда «По умолчанию» в меню «Окно». Она возвращает все элементы интерфейса — графики, Навигатор, Тестер стратегий и т.д. — в исходное положение.
6. Исправлена ошибка, в некоторых случаях приводившая к зависанию [диалога изменения позиции](https://www.metatrader5.com/ru/terminal/help/trading/performing_deals#position_modify).
7. Исправлен расчет стоимости открытых позиций при отрицательных ценах.
8. Исправлен расчет [гарантийного обеспечения](https://www.metatrader5.com/ru/terminal/help/trading/market_watch#margin) в спецификации торгового инструмента при отрицательных ценах.
9. Исправлен расчет текущих значений и отображение графиков MFE и MAE в [торговом отчете](https://www.metatrader5.com/ru/terminal/help/trading/report).
10. Исправлено масштабирование [осцилляторов](https://www.metatrader5.com/ru/terminal/help/indicators/oscillators) в подоконах графиков. Теперь вертикальная шкала для них отображается корректно.
11. Исправлено скрытие и показ стаканов и досок опционов при переключении полноэкранного режима.
12. Добавлен показ тикета позиции в [торговой истории счета](https://www.metatrader5.com/ru/terminal/help/trading/performing_deals#trade_history). Для включения колонки используйте контекстное меню.
13. Исправлен расчет [ликвидационной стоимости](https://www.metatrader5.com/ru/terminal/help/trading/performing_deals#position_list) на вкладке «Активы» для фьючерсов и опционов.
14. Исправлено копирование данных созданного счета в буфер обмена. На последнем этапе регистрации демонстрационного или предварительного счета пользователю выводятся данные счета: логин, пароли и т.д. Их можно скопировать в буфер обмена, чтобы сохранить в отдельном файле. Теперь соответствующая команда работает корректно на macOS.
15. Исправлено отображение раздела журнала VPS. В некоторых случаях на странице показывалась ошибка.
16. Исправлена поддержка мониторов HiDPI при работе в [Linux](https://www.mql5.com/ru/articles/625).
17. Обновлены переводы пользовательского интерфейса.

### MQL5

1. Добавлен [оператор матричного умножения @](https://www.mql5.com/ru/docs/basis/operators/matmul). Он работает по правилам линейной алгебры и позволяет умножать матрицы и векторы, а также выполнять скалярное произведение векторов.Матричное умножение (матрица × матрица)

   ```
   matrix A(2, 3); matrix B(3, 2); matrix C = A @ B; // Результат: матрица C размером [2,2]
   ```

   Матричное умножение (матрица × вектор)

   ```
   matrix M(2, 3); vector V(3); vector R = M @ V; // Результат: вектор R из 2 элементов
   ```

   Матричное умножение (вектор × матрица)

   ```
   matrix M(2, 3); vector V(1, 2); vector R = V @ M; // Результат: вектор R из 3 элементов
   ```

   Скалярное произведение (вектор × вектор)

   ```
   vector V1(1, 3), V2(1, 3); double r = V1 @ V2; // Результат: скаляр
   ```
2. Добавлен параметр ddof в методы [Std](https://www.mql5.com/ru/docs/matrix/matrix_statistics/matrix_std), [Var](https://www.mql5.com/ru/docs/matrix/matrix_statistics/matrix_var) и [Cov](https://www.mql5.com/ru/docs/matrix/matrix_products/matrix_cov). Он определяет число степеней свободы, которые вычитаются из делителя при вычислении стандартного отклонения. Для Std и Var параметр по умолчанию равен 0, для Cov — 1. Как влияет ddof:

     - По умолчанию ddof=0, и стандартное отклонение вычисляется для всей совокупности (population standard deviation).
     - Если ddof=1, то используется выборочное стандартное отклонение (sample standard deviation), что корректирует оценку для конечной выборки (используется в статистике при работе с подмножеством данных).
3. Добавлены новые методы [OpenBLAS](https://www.mql5.com/ru/docs/matrix/openblas):[Вычисление собственных значений и собственных векторов](https://www.mql5.com/ru/docs/matrix/openblas/eigen_values)

     - EigenTridiagonalDC — вычисляет собственные значения и собственные векторы симметричной трехдиагональной матрицы с использованием алгоритма «разделяй и властвуй» (LAPACK-функция STEVD).
     - EigenTridiagonalQR — вычисляет собственные значения и собственные векторы симметричной трехдиагональной матрицы с использованием QR-алгоритма (LAPACK-функция STEV).
     - EigenTridiagonalRobust — вычисляет собственные значения и собственные векторы симметричной трехдиагональной матрицы с использованием алгоритма MRRR (Multiple Relatively Robust Representations) (LAPACK-функция STEVR).
     - EigenTridiagonalBisect — вычисляет собственные значения и собственные векторы симметричной трехдиагональной матрицы с использованием алгоритма бисекции (LAPACK-функция STEVX).

   [Приведение матриц](https://www.mql5.com/ru/docs/matrix/openblas/matrixtransforms)

     - ReduceToBidiagonal — приводит общую вещественную или комплексную матрицу размером m×n к верхней или нижней бидиагональной форме B с помощью ортогонального преобразования: Q**T * A * P = B. Если m≥n, то B является верхней бидиагональной матрицей, иначе — нижней бидиагональной. (LAPACK-функция GEBRD).
     - ReflectBidiagonalToQP — генерирует ортогональные матрицы Q и P**T (или P**H для комплексных типов), определяемые методом ReduceToBidiagonal при приведении вещественной или комплексной матрицы A к бидиагональной форме: A = Q * B * P**T. Q и P**T представляют собой произведения элементарных отражателей H(i) или G(i) соответственно. (LAPACK-функции ORGBR, UNGBR).
     - ReduceSymmetricToTridiagonal — приводит вещественную симметричную или комплексную эрмитову матрицу A к трехдиагональной форме B с помощью ортогонального преобразования подобия: Q**T * A * Q = B. (LAPACK-функции SYTRD, HETRD).
     - ReflectTridiagonalToQ — генерирует ортогональную матрицу Q, которая представляет собой произведение n-1 элементарных отражателей порядка n, возвращаемых функцией ReduceSymmetricToTridiagonal.

   [Решение систем линейных уравнений](https://www.mql5.com/ru/docs/matrix/openblas/linear_equations)

     - LinearEquationsSolution — вычисляет систему линейных уравнений с квадратной матрицей коэффициентов A и несколькими правыми частями.
     - LinearEquationsSolutionTriangular — вычисляет систему линейных уравнений с квадратно-треугольной матрицей коэффициентов A и несколькими правыми частями.
     - LinearEquationsSolutionSy — вычисляет систему линейных уравнений с симметричной или эрмитово сопряженной матрицей A и несколькими правыми частями.
     - LinearEquationsSolutionComplexSy — вычисляет систему линейных уравнений с комплексной симметричной матрицей A и несколькими правыми частями.
     - LinearEquationsSolutionGeTrid — вычисляет систему линейных уравнений с симметричной или эрмитово сопряженной положительно определенной матрицей A и несколькими правыми частями.
     - LinearEquationsSolutionSyPD — вычисляет систему линейных уравнений с общей (несимметричной) трехдиагональной матрицей коэффициентов A и несколькими правыми частями.
     - LinearEquationsSolutionSyTridPD — вычисляет систему линейных уравнений с симметричной трехдиагональной положительно определенной матрицей A и несколькими правыми частями.

   [Ортогональные разложения](https://www.mql5.com/ru/docs/matrix/openblas/orthogonal_factorizations)

     - FactorizationQR — вычисляет QR-разложение общей матрицы размера m на n: A = Q * R (LAPACK-функция GEQRF).
     - FactorizationQRNonNeg — вычисляет QR-разложение общей матрицы размера m на n: A = Q * R, где R — верхнетреугольная матрица с неотрицательными элементами на диагонали (LAPACK-функция GEQRFP).
     - FactorizationQRPivot — вычисляет QR-разложение общей матрицы размера m на n с перестановкой столбцов: A * P = Q * R (LAPACK-функция GEQP3).
     - FactorizationLQ — выполняет LQ-разложение общей матрицы размером m на n: A = L * Q (LAPACK-функция GELQF).
     - FactorizationQL — выполняет QL-разложение общей матрицы размером m на n: A = Q * L (LAPACK-функция GEQLF).
     - FactorizationRQ — выполняет RQ-разложение общей матрицы размером m на n: A = R * Q (LAPACK-функция GERQF).

   [Матричные разложения](https://www.mql5.com/ru/docs/matrix/openblas/factorizations)

     - FactorizationPLU — вычисляет LU-разложение общей матрицы A размером m на n с использованием частичного выбора ведущего элемента и перестановок строк (LAPACK-функция GETRF).
     - FactorizationPLUGeTrid — вычисляет LU-разложение общей (несимметричной) трехдиагональной матрицы A размером n на n с использованием частичного выбора ведущего элемента и перестановок строк (LAPACK-функция GTTRF).
     - FactorizationLDL — вычисляет разложение для вещественной симметричной или комплексной эрмитовой матрицы A с использованием диагонального выбора ведущего элемента по методу Банча-Кауфмана (LAPACK-функции SYTRF и HETRF).
     - FactorizationLDLSyTridPD — вычисляет разложение симметричной положительно определенной (для вещественных данных) или эрмитовой положительно определенной (для комплексных данных) трехдиагональной матрицы A (LAPACK-функция PTTRF).
     - FactorizationCholesky — вычисляет разложение для вещественной симметричной или комплексной эрмитовой положительно-определенной матрицы A (LAPACK-функция POTRF).
     - FactorizationCholeskySyPS — вычисляет разложение Холецкого с полным выбором ведущего элемента (complete pivoting) для вещественной симметричной (или комплексной эрмитовой) положительно полуопределенной матрицы A размером n на n (LAPACK-функция PSTRF).
4. Добавлена функция и метод [Random](https://www.mql5.com/ru/docs/matrix/matrix_initialization/matrix_random) для заполнения случайными значениями векторов и матриц. Случайные значения генерируются равномерно в заданном диапазоне.

   ```
   static vector vector::Random(   const ulong   size,       // длина вектора   const double  min=0.0,    // минимальное значение   const double  max=1.0     // максимальное значение    ); static matrix matrix::Random(   const ulong   rows,       // количество строк   const ulong   cols        // количество столбцов   const float   min=0.0,    // минимальное значение   const float   max=1.0     // максимальное значение    );
   ```
5. Добавлена поддержка дополнительных псевдонимов [целочисленных типов](https://www.mql5.com/ru/docs/basis/types/integer). Это упростит портирование кода из других языков, таких как C и C++.Эти алиасы не вводят новые типы, а являются альтернативными именами уже существующих типов в MQL5. Их можно использовать во всех контекстах, где применимы базовые типы.

     - int8_t
     - uint8_t
     - int16_t
     - uint16_t
     - int32_t
     - uint32_t
     - int64_t
     - uint64_t
6. Добавлены функции для определения цветовой схемы терминала:

     - Новое свойство TERMINAL_COLORTHEME_NAME в перечислении [ENUM_TERMINAL_INFO_STRING](https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_string). Используйте его для запроса типа цветовой схемы при помощи функции [TerminalInfoString](https://www.mql5.com/ru/docs/check/terminalinfostring). Возможные значения: Light и Dark.
     - Новые свойства THEME_COLOR_* в перечислении [ENUM_TERMINAL_INFO_INTEGER](https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_integer). Используйте их для получения цветов конкретных элементов интерфейса при помощий фукнции [TerminalInfoInteger](https://www.mql5.com/ru/docs/check/terminalinfointeger).

   Для определения факта смены цветовой схемы используйте обработчик [OnChartEvent](https://www.mql5.com/ru/docs/event_handlers/onchartevent). При смене схемы дважды вызывается событие CHARTEVENT_CHART_CHANGE.
7. Исправлена ошибка, приводившая к падению MetaEditor при компиляции кода, в котором есть метод Array::Reserve. Метод Reserve не изменяет размер массива, а резервирует место для указанного количества элементов для предотвращения перевыделения памяти при добавлении новых элементов.
8. Исправлена работа метода Array::Push, добавляющего новые элементы в конец массива. Ошибка возникала для массивов, имеющих резерв в буфере.
9. Исправлены функции для работы с [OpenCL](https://www.mql5.com/ru/docs/opencl).

### MetaTester

1. Ускорена [оптимизация](https://www.metatrader5.com/ru/terminal/help/algotrading/strategy_optimization) торговых стратегий.
2. Исправлена ошибка, в некоторых случая приводившая к чрезмерному потреблению оперативной памяти агентами тестирования при выполнении заданий из [MQL5 Cloud Network](https://cloud.mql5.com/).

### Web Terminal

1. Исправлена опция сохранения пароля в диалоге подключения к счету.
2. Исправлена работа кнопок для перемещения графика. В некоторых случаях при их использовании график мог исчезать.
3. Исправлена проверка поля «Отчество» в форме запроса реальных счетов. Теперь оно не является обязательным для заполнения.
4. Исправлено открытие демо-счетов. В некоторых случаях при открытии счета происходило некорректное перенаправление на сайт брокера.
5. Исправлено отображение кнопок открытия демонстрационных и реальных счетов. Теперь кнопки скрываются, если соответствующая функция отключена брокером.
6. Исправлена работа поля «Депозит» в форме открытия демо-счетов.
7. Исправлено отображение поля «Торговля» в спецификации контракта.
8. Исправлено поле поиска символов в окне «Обзор рынка». Теперь в нем отображается кнопка «X» для выхода из режима поиска.
9. Исправлена подсказка для поля, в котором вводится код подтверждения Email, в форме открытия счета.

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

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

- [MetaTrader 5 для iPhone/iPad: линейка, текстовые объекты для графиков и таймер бара](https://www.metatrader5.com/ru/releasenotes/terminal/2387)
- [MetaTrader 5 build 4755: общие улучшения](https://www.metatrader5.com/ru/releasenotes/terminal/2380)
- [MetaTrader 5 build 4730: расширение поддержки OpenBLAS и общая оптимизация работы](https://www.metatrader5.com/ru/releasenotes/terminal/2378)
- [MetaTrader 5 build 4620: исправления ошибок в MQL5 и новые методы OpenBLAS](https://www.metatrader5.com/ru/releasenotes/terminal/2371)
- [MetaTrader 5 build 4585: улучшения в работе](https://www.metatrader5.com/ru/releasenotes/terminal/2369)
