---
title: "MetaTrader 5 build 2265: Функции DirectX для 3D-визуализации в MQL5 и настройка инструментов в тестере стратегий - Последние обновления"
description: "Расширен список доступных колонок в Обзоре рынка. Теперь в основном разделе вы можете включить до 40 дополнительных параметров... - Последние обновления"
image: "https://www.metatrader5.com/c/17/0/terminal-3__2.png"
url: "https://www.metatrader5.com/ru/releasenotes/terminal/2117"
---

# MetaTrader 5 build 2265: Функции DirectX для 3D-визуализации в MQL5 и настройка инструментов в тестере стратегий

## Расширен список доступных колонок в Обзоре рынка. Теперь в основном разделе вы можете включить до 40 дополнительных параметров инструментов, которые ранее были доступны только на вкладке "Детали"

6 декабря 2019

### Terminal

1. Расширен список доступных колонок в [Обзоре рынка](https://www.metatrader5.com/ru/terminal/help/trading/market_watch). Теперь в основном разделе вы можете включить до 40 дополнительных параметров инструментов, которые ранее были доступны только на вкладке "Детали".

   ![](https://www.metatrader5.com/c/17/0/terminal-1__2.png)
2. Добавлено выделение текущего подключенного счета и текущего сервера в Навигаторе. Функция будет полезна, если вы используете множество счетов у разных брокеров.

   ![](https://www.metatrader5.com/c/17/0/terminal-2__2.png)
3. Обновлен дизайн рамок у графиков. Они стали более компактными, освобождая больше пространства для полезной информации.

   ![](https://www.metatrader5.com/c/17/0/terminal-3__2.png)
4. Изменен алгоритм подсчета итогов при отображении [торговой истории в виде позиций](https://www.metatrader5.com/ru/terminal/help/trading/performing_deals#trade_history). Теперь они рассчитываются по фактическим записям.  Для представления истории в виде позиций терминал использует информацию о сделках, совершенных в период, за который запрошена история. При этом показываются только позиции, которые были закрыты в этот период. Если позиция все еще открыта или время ее закрытия не попадает в выбранный интервал, она не будет отображена. В связи с этим итоговые показатели (прибыль, комиссия) при просмотре позиций и при просмотре ордеров/сделок могут отличаться.  Например, вы просматриваете историю за последнюю неделю. За нее было совершено 100 сделок, 98 из которых открыли и закрыли 20 позиций. Две последние сделки открыли новые позиции, которые в настоящий момент не закрыты. В этом случае при просмотре истории в виде сделок вы увидите 100 записей, а также итоговые показатели, рассчитанные на их основе. При просмотре истории в виде позиций вы увидите 20 записей, собранных на основе 98 сделок. И именно эти данные будут учтены при расчете итоговых показателей. Если брокер взимает комиссию со сделок входа, то итоговый размер комиссии при просмотре истории сделок и позиций будет отличаться, поскольку в последнем случае 2 последние сделки не будут учтены.
5. Ускорен запуск MQL5-программ.
6. Добавлен ключ /beta для инсталляционного файла терминала, позволяющий загрузить бета-версию программы вместо релизной. В обычном режиме для получения бета-версии требуется сначала установить релизную, а затем уже обновить ее. Теперь этот шаг можно пропустить, сэкономив время и трафик. Пример запуска установки:

    C:\mt5setup.exe /beta
7. Исправлена ошибка в отображении маржинальных требований для биржевых акций (инструменты с типом "Exchange Stocks").
8. Ускорена работа всех компонентов платформы за счет перехода на компилятор Clang/LLVM. В некоторых случаях ускорение достигает 20%.

### MQL5

1. Добавлены новые функции и шейдеры DirectX 11 для 3D-визуализации. Теперь вы можете создавать мощную трехмерную графику прямо из MQL5.  Новый класс CCanvas3D является расширением [класса пользовательской графики CCanvas](https://www.mql5.com/ru/docs/standardlibrary/canvasgraphics/ccanvas). Он доступен в каталоге \MQL5\Include\Canvas\. В нем реализованы функции для рендеринга трехмерных объектов через [DirectX API](https://ru.wikipedia.org/wiki/DirectX).

     - Create — создание сцены.
     - Attach — привязка сцены к графику.
     - Destroy — уничтожение сцены.
     - ObjectAdd — добавление объекта-наследника базового класса CDXObject на сцену.
     - Render — полный цикл отрисовки с очисткой буферов и отрисовкой всех CDXObject, добавленных с помощью метода ObjectAdd.
     - RenderBegin — начинает отрисовку сцены, заполянет буфер изображения заданным цветом (при использовании флага DX_CLEAR_COLOR) и буферы глубины (при использовании DX_CLEAR_DEPTH), а также устанавливает буфер сцены DXInputScene для шейдеров по умолчанию.
     - RenderEnd — завершает отрисовку сцены и получает результат во внутренний буфер. При redraw==true выводит изображение на график, к которому присоединен.
     - ViewMatrixGet — получение матрицы отображения.
     - ViewMatrixSet — установка матрицы отображения. Матрица несовместима с методами ViewPositionSet, ViewRotationSet, ViewTargetSet, ViewUpDirectionsSet.
     - ViewPositionSet — установка точки зрения/положения камеры.
     - ViewRotationSet — установка матрицы вращения камеры.
     - ViewTargetSet — установка точки, на которую направлена камера. Совместно с ViewUpDirectionsSet является альтернативой ViewRotationSet.
     - ViewUpDirectionsSet — установка вертикального направления камеры. Совместно с ViewTargetSet является альтернативой ViewRotationSet.
     - ProjectionMatrixGet — получение матрицы проекции.
     - ProjectionMatrixSet — установка матрицы проекции.

    Полная документация по новой библиотеке станет доступна в ближайшее время.

   ![](https://www.metatrader5.com/c/17/0/terminal-4__1.png)
2. Добавлена поддержка [работы с базами данных SQLite прямо из MQL5](https://www.mql5.com/ru/docs/database). Теперь вы можете легко выполнять SQL-запросы без создания сложных обвязок. Новое расширение стандартной библиотеки берет всю внутреннюю работу на себя.  Доступны следующие функции:

     - DatabaseOpen — открывает или создаёт базу данных в указанном файле
     - DatabaseClose — закрывает базу данных
     - DatabaseTableExists — проверяет наличие таблицы в базе данных
     - DatabaseExecute — исполняет запрос к указанной базе данных
     - DatabasePrepare — создает хендл запроса, который затем может быть исполнен с помощью DatabaseRead()
     - DatabaseRead — выполняет переход к следующей записи в результате запроса
     - DatabaseFinalize — удаляет запрос, созданный в DatabasePrepare()
     - DatabaseTransactionBegin — начинает выполнение транзакции
     - DatabaseTransactionCommit — завершает выполнение транзакции
     - DatabaseTransactionRollback — выполняет откат транзакций
     - DatabaseColumnsCount — получает количество полей в запросе
     - DatabaseColumnName — получает имя поля по номеру
     - DatabaseColumnType — получает тип поля по номеру
     - DatabaseColumnSize — получает размер поля в байтах
     - DatabaseColumnText — получает из текущей записи значение поля в виде строки
     - DatabaseColumnInteger — получает из текущей записи значение типа int
     - DatabaseColumnLong — получает из текущей записи значение типа long
     - DatabaseColumnDouble — получает из текущей записи значение типа double
     - DatabaseColumnBlob — получает из текущей записи значение поля в виде массива

    Для работы с новыми функциям добавлены следующие коды ошибок:

     - ERR_MQL_DATABASE_INTERNAL (5120) — внутренняя ошибка базы данных
     - ERR_MQL_DATABASE_INVALID_HANDLE (5121) — невалидный хендл базы данных
     - ERR_MQL_DATABASE_TOO_MANY_OBJECTS (5122) — превышено максимально допустимое количество объектов Database
     - ERR_MQL_DATABASE_CONNECT (5123) — ошибка подключения к базе данных
     - ERR_MQL_DATABASE_EXECUTE (5124) — ошибка выполнения запроса
     - ERR_MQL_DATABASE_PREPARE (5125) — ошибка создания запроса
     - ERR_MQL_DATABASE_NO_MORE_DATA (5126) — данных для чтения больше нет
     - ERR_MQL_DATABASE_STEP (5127) — ошибка перехода к следующей записи запроса
     - ERR_MQL_DATABASE_NOT_READY (5128) — данные для чтения результатов запроса еще не готовы
     - ERR_MQL_DATABASE_BIND_PARAMETERS (5129) — ошибка автоподстановки параметров в SQL-запрос
3. Добавлено новое свойство MQL5-программ для выбора метода визуализации по умолчанию.

   ```
   #property optimization_chart_mode "3d,InpX,InpY"
   ```

    Используя его, вы можете задать вид графика, открываемого по окончании оптимизации, а также параметры программы для его осей X и Y. Свойство задает только вид графика по умолчанию. Пользователь может в любой момент изменить его вручную через контекстное меню.
4. Добавлена функция MathArctan2. Она возвращает в радианах значение угла, тангенс которого равен отношению двух указанных чисел.

   ```
   double  MathArctan2(    double  y      // y-координата точки    double  x      // x-координата точки    );
   ```
5. Проведена общая оптимизация программ для улучшения производительности и снижения потребления ресурсов.
6. Добавлены примеры математических расчетов, которые можно выполнять в тестере стратегий. Вы можете найти их в каталоге \MQL5\Experts\Examples\Math 3D\.
7. Реализован более жесткий контроль [областей видимости (namespaces)](https://www.mql5.com/ru/docs/basis/namespace).
8. Добавлена загрузка связанных библиотек при использовании библиотек .NET в MQL5-программах. Если используемая .NET библиотека требует для своей работы другие библиотеки, то компилятор попытается автоматически загрузить их из текущего каталога или из каталога \MQL5\Libraries.
9. Исправлена работа со временем в [модуле MetaTrader для интеграции с Python](https://www.mql5.com/ru/docs/python_metatrader5). Теперь во всех выходных данных используется время торгового сервера, к которому подключен терминал.

### Tester

1. Множество новых функций и улучшений в тестере стратегий:**Пользовательские настройки для финансовых инструментов** Теперь вы можете изменять настройки основного торгового инструмента, на котором происходит тестирование/оптимизация. Вам доступны практически все параметры спецификации: объемы, режим торговли, маржинальные требования, режим исполнения и многое другое. Таким образом, для проверки советника в иных торговых условиях теперь необязательно создавать пользовательский символ и загружать в него историю. Можно просто поменять настройки стандартного инструмента.

   ![](https://www.metatrader5.com/c/17/0/terminal-5__1.png)

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

   ![](https://www.metatrader5.com/c/17/0/terminal-6__1.png)

   **Последние настройки/эксперты/графики** Для быстрой настройки тестирования или оптимизации воспользуйтесь новыми командами контекстного меню. Выбирайте последние использованные настройки тестера, последние графики или программы:

   ![](https://www.metatrader5.com/c/17/0/terminal-7.png)

### MetaEditor

1. Добавлена возможность работы с проектами С/С++ и Python прямо из MetaEditor. Теперь, используя встроенный редактор, вы можете вести мультиязычные проекты.  Если на вашем компьютере уже установлены соответствующие компиляторы, MetaEditor обнаружит их и добавит в настройки. Также вы можете самостоятельно указать пути к необходимым компонентам, перейдя к вкладке "Компиляторы". Если компоненты еще не установлены, вы можете их скачать, нажав "Установить" напротив соответствующего поля.

   ![](https://www.metatrader5.com/c/17/0/terminal-8.png)

    После этого вы сможете работать с проектами на С/С++ и Python так же, как с обычными MQL5-программами.
2. Теперь внутри каталога Shared Projects, предназначенного для работы с групповыми проектами через [MQL5 Storage](https://www.mql5.com/ru/code/storage), можно создавать подпроекты. Ранее допускалось создание только одиночных проектов на верхнем уровне.
3. Обновлен встроенный отладчик.
4. Исправлено добавление заголовка функций при использовании стилизатора кода.
5. Команды перехода к предыдущему и следующему положению курсора теперь доступны не только в меню "Вид", но и на панели инструментов.
6. Теперь в именах проектов разрешается использовать пробелы.

### Android

1. Добавлена возможность быстрого перехода к пополнению/снятию средств с торгового счета на сайте брокера. Теперь вам не нужно искать соответствующие функции в личном кабинете на сайте брокера. Команды для быстрого перехода к страницам пополнения счета и вывода средств стали доступны прямо в терминалах — в разделе счетов и торговли:

   ![](https://www.metatrader5.com/c/17/0/android__9.jpg)

   > - Команды пополнения/снятия доступны только в том случае, если соответствующие функции включены для торгового счета на стороне брокера.
   >   - Торговый терминал не производит никаких операций пополнения/снятия средств со счета. Встроенные функции лишь перенаправляют пользователя на соответствующие веб-страницы брокерской компании.
2. Теперь позиции в истории сортируются по дате закрытия.
3. Позиции, закрытые по Стоп Лоссу или Тейк Профиту, теперь подсвечиваются красными и зелеными вертикальным линиями в [разделе истории](https://www.metatrader5.com/ru/mobile-trading/android/help/history).
4. В [спецификацию торгового инструмента](https://www.metatrader5.com/ru/mobile-trading/android/help/quotes#specification) добавлены новые поля:

     - Категория — свойство используется для дополнительной маркировки финансовых инструментов. Например, в нем могут быть указаны секторы рынка, к которым относится символ: Agriculture, Oil & Gas и т.д. Показывается, только если соответствующая информация предоставляется брокером.
     - Биржа — здесь указывается название биржи или площадки, на которой торгуется символ. Показывается, только если соответствующая информация предоставляется брокером.
5. Добавлена индикация состояния "Маржин колл" в [разделе торговли](https://www.metatrader5.com/ru/mobile-trading/android/help/trade). При его наступлении параметры "Маржа", "Свободная маржа" и "Уровень маржи" становятся красными.
6. Исправлено отображение кнопки перехода к [разделу одноразовых паролей](https://www.metatrader5.com/ru/mobile-trading/android/help/settings_accounts/otp) на планшетах.
7. Многочисленные исправления и улучшения.

### iPhone/iPad

1. Добавлена возможность быстрого перехода к пополнению/снятию средств с торгового счета на сайте брокера. Подробности работы приведены выше в описании изменений терминала для Android.

   ![](https://www.metatrader5.com/c/17/0/ipone-10.png)
2. Добавлена поддержка темной схемы оформления для iOS/iPadOS.
3. Раздел работы с [OTP паролями](https://www.metatrader5.com/ru/mobile-trading/iphone/help/settings/otp) теперь доступен и в версии для iPad.
4. Позиции, закрытые по Стоп Лоссу или Тейк Профиту, теперь подсвечиваются красными и зелеными вертикальным линиями в [разделе истории](https://www.metatrader5.com/ru/mobile-trading/iphone/help/history).
5. Теперь позиции в истории сортируются по дате закрытия. Если позиция еще не закрыта, для сортировки используется дата открытия.
6. Многочисленные исправления и улучшения.

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

- [MetaTrader 5 build 2190](https://www.metatrader5.com/ru/releasenotes/terminal/2106)
- [MetaTrader 5 build 2170: Области видимости в MQL5, глобальное обновление тестера стратегий и встроенного хостинга](https://www.metatrader5.com/ru/releasenotes/terminal/2099)
- [MetaTrader 5 build 2085: Интеграция с Python и массовые улучшения в тестере стратегий](https://www.metatrader5.com/ru/releasenotes/terminal/2085)
- [MetaTrader 5 build 2005: Экономический календарь, MQL5-программы в виде сервисов и API для языка R](https://www.metatrader5.com/ru/releasenotes/terminal/1920)
- [MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5](https://www.metatrader5.com/ru/releasenotes/terminal/1898)
