Terminal
- Обновлена витрина магазина приложений MetaTrader Market. Выбирать торговых роботов и технические индикаторы стало удобнее. Мы обновили дизайн и добавили подборки продуктов:
- На главной странице теперь показываются популярные эксперты, индикаторы, новинки Маркета, а также топ бесплатных приложений.
- В разделах экспертов, индикаторов и утилит появились подкатегории: сеточные и хеджирующие роботы, трендовые и мультивалютные индикаторы, многое другое.
- Исправлено обновление клиентского терминала и работа встроенных покупок
в Маркете, Сигналах и Виртуальном хостинге при использовании учетной
записи Windows с ограниченными правами.
- Исправлена ошибка, в некоторых случаях приводившая к нарушению сортировки истории позиций.
- Оптимизировано и исправлено отображение вкладки "Активы".
MQL5
- Добавлена поддержка перегрузки шаблонных функций
по параметрам. Например, есть шаблонная функция, которая записывает в
первый параметр значение второго параметра с помощью явного приведения
типов. В языке MQL5 запрещено приведение типа string к типу bool, но мы
можем сделать это сами. Создадим перегрузку шаблонной функции:
//+------------------------------------------------------------------+ //| Шаблонная функция | //+------------------------------------------------------------------+ template<typename T1,typename T2> string Assign(T1 &var1,T2 var2) { var1=(T1)var2; return(__FUNCSIG__); } //+------------------------------------------------------------------+ //| Специальная перегрузка для случая bool+string | //+------------------------------------------------------------------+ string Assign(bool &var1,string var2) { var1=(StringCompare(var2,"true",false) || StringToInteger(var2)!=0); return(__FUNCSIG__); } //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { int i; bool b; Print(Assign(i,"test")); Print(Assign(b,"test")); }
В результате выполнения кода мы увидим, что для пары int+string была использована шаблонная функция Assign(), а при втором вызове для пары bool+string уже использовалась перегруженная версия.string Assign<int,string>(int&,string) string Assign(bool&,string)
- Добавлена возможность явной специализации шаблонных функций. Для этого
перед списком параметров вызова необходимо указать параметры типизации:
template<typename T> T Func() { return (T)0; } void OnInit() { Func<double>(); // явная специализация шаблонной функции }
Таким образом, специализация происходит не через параметры вызова, а прямым указанием типов. - Оптимизировано отображение пользовательских индикаторов с типом рисования DRAW_ZIGZAG.
- В перечисление типов сделок ENUM_DEAL_TYPE добавлены новые значения:
- DEAL_DIVIDEND — сделка начисления дивиденда.
- DEAL_DIVIDEND_FRANKED
— сделка начисления франкированного дивиденда (не облагается налогом,
налог за клиента оплачивает компания).
- DEAL_TAX — сделка удержания налога.
- Исправлено отображение пользовательских индикаторов с типом рисования DRAW_FILLING. При совпадении координат верхней и нижней линии теперь рисуется тонкая линия.
- Исправлено вычисление координат объекта "Графическая метка" (Bitmap Label) при выставлении параметра CHART_SHOW в состояние false. Этот параметр устанавливается функцией ChartSetInteger и позволяет скрыть все элементы ценового графика для создания собственного интерфейса программы.
- Исправлена ошибка перекодировки 24-битных изображений при помещении их в ресурсы MQL5-приложения.
- Исправлена ошибка вывода на печать структур функцией ArrayPrint.
- Обновлены стандартные библиотеки MQL5.
MetaEditor
- Добавлен перевод пользовательского интерфейса на малайский язык.
Signals
- Исправлено открытие страницы сигнала в терминале при переходе с сайта MQL5.community в случае отсутствия подключения торговым счетом.
Tester
- Исправлены ошибки при работе функции CopyTicks в тестере стратегий.
- Исправлена сортировка сделок типа "Снятие" (Withdrawal) при формировании отчета тестирования.
- Исправлена модификация отложенных ордеров.
Hosting
- Исправлено отображение мастера виртуального хостинга на экранах сверхвысокого разрешения (4К).
Обновлена документация.