Trading Terminal
- Добавлена команда "Test" в контекстное меню MQL5-программ - при выборе данной опции появляется панель тестирования с MQL5-программой, выбранной для тестирования.
- Исправлена работа трейлинг-стопов для отложенных ордеров.
- Исправлена ошибка обновления списка продуктов в MQL5 Market.
- В информацию о ценовых статистиках торгового инструмента
добавлен показ процента изменения цены последней сделки по отношению к
её предыдущему значению.
- Исправлена навигация по чарту при заданной точке фиксации.
- Исправлена работа терминала в корпоративных сетях с прокси-серверами.
Trading Signals
- Добавлено автоматическое преобразование торговых символов Forex вида EURUSD*. При наличии у источника сигнала позиций по символу EURUSD!, а у подписчика сигнала символа EURUSD (или наоборот), терминал автоматически распознаёт соответствие подобных торговых инструментов друг другу и подменяет их имена при копировании сигнала.
В описании сигнала добавлен показ открытых ордеров и позиций сигнала.
Добавлен диалог согласия с синхронизацией позиций счёта подписчика с позициями сигнала при положительной плавающей прибыли сигнала:
По умолчанию, после подписки на сигнал, синхронизация производится только в том случае, если плавающая прибыль у счёта-источника сигнала не положительна. Это сделано для того, чтобы гарантировать, что подписчик
сигнала при синхронизации позиций войдёт в рынок по цене не хуже, чем у источника сигнала. Поэтому перед началом синхронизации трейдеру показывается соответствующий диалог в котором он может выбрать принудительную синхронизацию позиций с сигналом, несмотря на положительную плавающую прибыль.
Добавлен диалог автоматического закрытия позиций и ордеров счёта подписчика перед синхронизацией с позициями и ордерами сигнала:
Перед синхронизацией счёта подписчика необходимо предварительно закрыть ордера и позиции, открытые вручную или другими сигналами. При обнаружении открытых позиций, не принадлежащих сигналу, на который производится подписка, или обнаружении отложенных ордеров клиентский терминал предлагает автоматически снять все отложенные ордера и закрыть позиции по текущей цене. При этом трейдер может отказаться от автоматического закрытия и сделать необходимые действия самостоятельно.
MQL5
- Добавлена поддержка шаблонных функций и методов.
Шаблоны можно сравнить с макросом (#define), но представляющим из себя не выражение, а целую функцию. Подстановка шаблона в код происходит при встрече вызова шаблонной функции на основе параметров данного вызова.
При этом, для каждого из существующего в коде набора параметров вызова шаблонной функции компилятором будет добавлена отдельная функция (со своими отдельными статическими переменными).
Пример шаблонной функции вычисления максимального значения для массива:
template<typename T> .
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));
Print(ArrayMax(a,(char)CHAR_MIN));
Количество параметров шаблона ограничено, их не должно быть более 8. Подстановка шаблонов в код производится только по параметрам вызова, явная типизация шаблона не поддерживается.
Пример явной типизации:
Print(ArrayMax<char>(a,CHAR_MIN));
- Расширены целочисленные свойства, получаемые
функцией 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
- Добавлена функция 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
- Добавлена перегрузка функции CLExecute, позволяющая задавать размерности локального пространства задач OpenCL.
- Исправлена работа функции ArrayFill.
- Убрано предупреждение при использовании в функции sizeof() не инициализированной переменной.
- Доработан макрос __FUNCSIG__ - добавлена информация о том, что параметры являются массивами, и об их константности.
- Стандартная библиотека. Исправлен метод CCanvas::FillRectangle.
- Стандартная библиотека. Классы работы с файлами переписаны с использованием шаблонных методов.
- Стандартная библиотека. Добавлена поддержка operator [] в классы динамических массивов CArray*.
- Стандартная библиотека. Расширены методы класса CCheckGroup - элемент управления "группа чекбоксов".
- Стандартная библиотека. Добавлен метод CIndicator::BarsCalculated.
Strategy Tester
- Добавлена совместимость работы тестера в Wine.
- Добавлены дополнительные проверки ошибок работы с диском при тестировании.
- Исправлена генерация недельных баров у торговых инструментов с котировочной сессией в воскресенье.
- Исправлена генерация недельных и месячных баров - в некоторых случаях неправильно выставлялось время бара.
- Облачные агенты, имеющие в своём распоряжении менее 100
мегабайт доступного дискового пространства, не допускаются к расчётам задач.
- Убраны сообщения в лог о начислении комиссии при проведении оптимизации.
- Исправлено поведение диалога настроек при тестировании индикатора.
- Исправлено отображение графика оптимизации при большом количестве проходов.
MetaEditor
- Добавлена поддержка шаблонных функций и методов в MetaAssist.
Исправления по крешлогам.
Обновлена документация.
Автоматическое обновление доступно через систему LiveUpdate.
Скачать торговый терминал MetaTrader 5 можно по ссылке: https://download.mql5.com/cdn/web/metaquotes.ltd/mt5/mt5setup.exe?utm_source=www.metatrader5.com
Посмотрите предыдущие новости, пожалуйста: