---
title: "MetaTrader 5 Trading Terminal build 722 - Последние обновления"
description: "Добавлена команда \"Test\" в контекстное меню MQL5-программ - при выборе данной опции появляется панель тестирования с MQL5-программой... - Последние обновления"
image: "https://www.metatrader5.com/c/17/2012/11/MetaTrader5_Dialog.png"
---

# MetaTrader 5 Trading Terminal build 722

## Добавлена команда "Test" в контекстное меню MQL5-программ — при выборе данной опции появляется панель тестирования с MQL5-программой, выбранной для

16 ноября 2012

### Trading Terminal

1. Добавлена команда "Test" в контекстное меню MQL5-программ - при выборе данной опции появляется панель тестирования с MQL5-программой, выбранной для тестирования.

   ![Добавлена команда Test в контекстное меню MQL5-программ](https://www.metatrader5.com/c/17/2012/11/MetaTrader5_Navigator_Test.png)
2. Исправлена работа трейлинг-стопов для отложенных ордеров.
3. Исправлена ошибка обновления списка продуктов в MQL5 Market.
4. В информацию о ценовых статистиках торгового инструмента добавлен показ процента изменения цены последней сделки по отношению к её предыдущему значению.
5. Исправлена навигация по чарту при заданной точке фиксации.
6. Исправлена работа терминала в корпоративных сетях с прокси-серверами.

### Trading Signals

1. Добавлено автоматическое преобразование торговых символов Forex вида EURUSD*. При наличии у источника сигнала позиций по символу EURUSD!, а у подписчика сигнала символа EURUSD (или наоборот), терминал автоматически распознаёт соответствие подобных торговых инструментов друг другу и подменяет их имена при копировании сигнала.
2. В описании сигнала добавлен показ открытых ордеров и позиций сигнала.

   ![В описании сигнала добавлен показ открытых ордеров и позиций сигнала](https://www.metatrader5.com/c/17/2012/11/MetaTrader5_Positions.png)
3. Добавлен диалог согласия с синхронизацией позиций счёта подписчика с позициями сигнала при положительной плавающей прибыли сигнала:

   ![Добавлен диалог согласия с синхронизацией позиций счёта подписчика с позициями сигнала при положительной плавающей прибыли сигнала](https://www.metatrader5.com/c/17/2012/11/MetaTrader5_Dialog.png)

   По умолчанию, после подписки на сигнал, синхронизация производится только в том случае, если плавающая прибыль у счёта-источника сигнала не положительна. Это сделано для того, чтобы гарантировать, что подписчик сигнала при синхронизации позиций войдёт в рынок по цене не хуже, чем у источника сигнала. Поэтому перед началом синхронизации трейдеру показывается соответствующий диалог в котором он может выбрать принудительную синхронизацию позиций с сигналом, несмотря на положительную плавающую прибыль.
4. Добавлен диалог автоматического закрытия позиций и ордеров счёта подписчика перед синхронизацией с позициями и ордерами сигнала:

   ![Добавлен диалог автоматического закрытия позиций и ордеров счёта подписчика перед синхронизацией с позициями и ордерами сигнала](https://www.metatrader5.com/c/17/2012/11/MetaTrader5_Dialog_Auto_Close.png)

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

### MQL5

1. Добавлена поддержка шаблонных функций и методов. Шаблоны можно сравнить с макросом (#define), но представляющим из себя не выражение, а целую функцию. Подстановка шаблона в код происходит при встрече вызова шаблонной функции на основе параметров данного вызова. При этом, для каждого из существующего в коде набора параметров вызова шаблонной функции компилятором будет добавлена отдельная функция (со своими отдельными статическими переменными). Пример шаблонной функции вычисления максимального значения для массива:

   ```
   template<typename T> // В < > указываются параметры шаблона через запятую, не более 8. T ArrayMax(const T &data[],const T defval) // В качестве параметра может выступать только тип   {    T    result=defval;    uint size  =ArraySize(data); //---    for(uint i=0;i<size;i++)      {       if(result<data[i])         {          result=data[i];         }      } //---    return(result);   }
   ```

    Следует помнить, что автоматическое приведение параметров при вызове шаблонной функции недопустимо. Поэтому следует явно указывать тип параметра. Например, при вызове функции ArrayMax для массива типа char и CHAR_MIN в качестве defval, следует явно указать тип второго параметра как char:

   ```
   char a[];       Print(ArrayMax(a,CHAR_MIN));       // ошибка, невозможно применить шаблон, т.к. T может быть или char или int    Print(ArrayMax(a,(char)CHAR_MIN)); // ошибки нет, параметр шаблона T может быть только char
   ```

    Количество параметров шаблона ограничено, их не должно быть более 8. Подстановка шаблонов в код производится только по параметрам вызова, явная типизация шаблона не поддерживается. Пример явной типизации:

   ```
   Print(ArrayMax<char>(a,CHAR_MIN));  // Явная типизация шаблона пока не доступна!
   ```
2. Расширены целочисленные свойства, получаемые [функцией CLGetInfoInteger:](https://www.mql5.com/ru/docs/opencl/clgetinfointeger)

     - CL_DEVICE_VENDOR_ID - id производителя устройства OpenCL
     - CL_DEVICE_MAX_COMPUTE_UNITS - число вычислительных юнитов устройства OpenCL
     - CL_DEVICE_MAX_CLOCK_FREQUENCY - частота вычислительных юнитов устройства OpenCL
     - CL_DEVICE_GLOBAL_MEM_SIZE - размер глобальной памяти устройства OpenCL
     - CL_DEVICE_LOCAL_MEM_SIZE - размер локальной памяти устройства OpenCL
3. Добавлена функция CLGetInfoString, которая возвращает следующие свойства OpenCL:

     - CL_PLATFORM_PROFILE - тип профиля платформы OpenCL
     - CL_PLATFORM_VERSION - версия платформы OpenCL
     - CL_PLATFORM_NAME - имя платформы OpenCL
     - CL_PLATFORM_VENDOR - имя поставщика (производителя) платформы OpenCL
     - CL_PLATFORM_EXTENSIONS - возможности (расширения) платформы OpenCL
     - CL_DEVICE_NAME - имя устройства OpenCL
     - CL_DEVICE_VENDOR - имя производителя устройства OpenCL
     - CL_DRIVER_VERSION - версия драйвера устройства OpenCL
     - CL_DEVICE_PROFILE - тип профиля устройства OpenCL
     - CL_DEVICE_VERSION - версия устройства OpenCL
     - CL_DEVICE_EXTENSIONS - возможности (расширения) устройства OpenCL
     - CL_DEVICE_OPENCL_C_VERSION - поддерживаемая версия компилятора OpenCL
4. Добавлена перегрузка функции CLExecute, позволяющая задавать размерности локального пространства задач OpenCL.
5. Исправлена работа функции ArrayFill.
6. Убрано предупреждение при использовании в функции sizeof() не инициализированной переменной.
7. Доработан макрос __FUNCSIG__ - добавлена информация о том, что параметры являются массивами, и об их константности.
8. Стандартная библиотека. Исправлен метод CCanvas::FillRectangle.
9. Стандартная библиотека. Классы работы с файлами переписаны с использованием шаблонных методов.
10. Стандартная библиотека. Добавлена поддержка operator [] в классы динамических массивов CArray*.
11. Стандартная библиотека. Расширены методы класса CCheckGroup - элемент управления "группа чекбоксов".
12. Стандартная библиотека. Добавлен метод CIndicator::BarsCalculated.

### Strategy Tester

1. Добавлена совместимость работы тестера в Wine.
2. Добавлены дополнительные проверки ошибок работы с диском при тестировании.
3. Исправлена генерация недельных баров у торговых инструментов с котировочной сессией в воскресенье.
4. Исправлена генерация недельных и месячных баров - в некоторых случаях неправильно выставлялось время бара.
5. Облачные агенты, имеющие в своём распоряжении менее 100 мегабайт доступного дискового пространства, не допускаются к расчётам задач.
6. Убраны сообщения в лог о начислении комиссии при проведении оптимизации.
7. Исправлено поведение диалога настроек при тестировании индикатора.
8. Исправлено отображение графика оптимизации при большом количестве проходов.

### MetaEditor

1. Добавлена поддержка шаблонных функций и методов в MetaAssist.

Исправления по крешлогам.
 Обновлена документация.

Автоматическое обновление доступно через [систему LiveUpdate](https://www.metatrader5.com/ru/terminal/help/start_advanced/autoupdate).

Скачать торговый терминал MetaTrader 5 можно по ссылке: [https://download.terminal.free/cdn/web/metaquotes.ltd/mt5/mt5setup.exe?utm_source=www.metatrader5.com](https://download.terminal.free/cdn/web/metaquotes.ltd/mt5/mt5setup.exe?utm_source=www.metatrader5.com&amp;utm_campaign=metaquotes.download)

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

- [MetaTrader 5 Android build 709](https://www.metatrader5.com/ru/releasenotes/android/709)
- [MetaTrader 5 Trading Terminal build 712](https://www.metatrader5.com/ru/releasenotes/terminal/712)
- [MetaTrader 5 Trading Terminal build 705](https://www.metatrader5.com/ru/releasenotes/terminal/705)
- [MetaTrader 5 Android build 698](https://www.metatrader5.com/ru/releasenotes/android/698)
- [MetaTrader 5 Android build 697](https://www.metatrader5.com/ru/releasenotes/android/697)
