Новая версия платформы MetaTrader 5 build 1570: Улучшение витрины Маркета и расширение шаблонных функций в MQL5

 

Новая версия платформы MetaTrader 5 build 1570: Улучшение витрины Маркета и расширение шаблонных функций в MQL5

24 марта 2017 года будет опубликовано обновление платформы MetaTrader 5. Обновление содержит следующие изменения:


  1. Terminal: Обновлена витрина магазина приложений MetaTrader Market. Выбирать торговых роботов и технические индикаторы стало удобнее. Мы обновили дизайн, а также добавили подборки продуктов:

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



  2. Terminal: Исправлено обновление клиентского терминала и работа встроенных покупок в Маркете, Сигналах и Виртуальном хостинге при использовании учетной записи Windows с ограниченными правами.
  3. Terminal: Исправлена ошибка, в некоторых случаях приводившая к нарушению сортировки истории позиций.
  4. Terminal: Оптимизировано и исправлено отображение вкладки "Активы".
  5. 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)

  6. MQL5: Добавлена возможность явной специализации шаблонных функций. Для этого перед списком параметров вызова необходимо указать параметры типизации:
    template<typename T>
    T Func() { return (T)0; }
      
      
    void OnInit()
      {
       Func<double>();   // явная специализация шаблонной функции
      }
    Таким образом, специализация происходит не через параметры вызова, а прямым указанием типов.

  7. MQL5: Оптимизировано отображение пользовательских индикаторов с типом рисования DRAW_ZIGZAG.
  8. MQL5: В перечисление типов сделок ENUM_DEAL_TYPE добавлены новые значения:

    • DEAL_DIVIDEND — сделка начисления дивиденда.
    • DEAL_DIVIDEND_FRANKED — сделка начисления франкированного дивиденда (не облагается налогом, налог за клиента оплачивает компания).
    • DEAL_TAX — сделка удержания налога.

  9. MQL5: Исправлено отображение пользовательских индикаторов с типом рисования DRAW_FILLING. При совпадении координат верхней и нижней линии теперь рисуется тонкая линия.
  10. MQL5: Исправлено вычисление координат объекта "Графическая метка" (Bitmap Label) при выставлении параметра CHART_SHOW в состояние false. Этот параметр устанавливается функцией ChartSetInteger и позволяет скрыть все элементы ценового графика для создания собственного интерфейса программы.
  11. MQL5: Исправлена ошибка перекодировки 24-битных изображений при помещении их в ресурсы MQL5-приложения.
  12. MQL5: Исправлена ошибка вывода на печать структур функцией ArrayPrint.
  13. MQL5: Обновлены стандартные библиотеки MQL5.
  14. MetaEditor: Добавлен перевод пользовательского интерфейса на малайский язык.
  15. Signals: Исправлено открытие страницы сигнала в терминале при переходе с сайта MQL5.community в случае отсутствия подключения торговым счетом.
  16. Tester: Исправлены ошибки при работе функции CopyTicks в тестере стратегий.
  17. Tester: Исправлена сортировка сделок типа "Снятие" (Withdrawal) при формировании отчета тестирования.
  18. Tester: Исправлена модификация отложенных ордеров.
  19. Hosting: Исправлено отображение мастера виртуального хостинга на экранах сверхвысокого разрешения (4К).
  20. Обновлена документация.

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

 

Ого... много выкатили. Спасибо.

А будет исправлено отображение прямоугольников/треугольников по заявке  #1699242  ?

 

Отлично, по языку отдельное спасибо!

Предлагаю все же не выпускать новые форумные ветки по версиям МТ5, а продолжать старые. Часто просто полезно пробежаться по истории и отметить для себя - о-о-опс, а это я упустил!

 
Alexey Kozitsyn:

Ого... много выкатили. Спасибо.

А будет исправлено отображение прямоугольников/треугольников по заявке  #1699242  ?

Пока нет. Руки не дошли.
 
Alexey Volchanskiy:

Предлагаю все же не выпускать новые форумные ветки по версиям МТ5, а продолжать старые. Часто просто полезно пробежаться по истории и отметить для себя - о-о-опс, а это я упустил!

Все обновления одним списком можно посмотреть на https://www.metatrader5.com/ru/releasenotes
 
13. MQL5: Обновлены стандартные библиотеки MQL5.
Можно ли будет где-то узнать более подробно в чем обновлены?
 
Rashid Umarov:
Все обновления одним списком можно посмотреть на https://www.metatrader5.com/ru/releasenotes

Рашид, там список начинается с билда 1545 и заканчивается билдом 213. Нумерация наоборот - это ладно, но все равно крайняя версия 1545.
 
Alexey Volchanskiy:

Рашид, там список начинается с билда 1545 и заканчивается билдом 213. Нумерация наоборот - это ладно, но все равно крайняя версия 1545.
После релиза появится и новость о 1570 билде. Там же история обновлений
 
Rashid Umarov:
После релиза появится и новость о 1570 билде. Там же история обновлений

Отлично, заменю в избранном на эту ветку )
 

Здравствуйте. Ошибка у Вас из билда в билд (время)


 

Неплохо бы в следующих билдах добавить что-нибудь и в других частях программы, которые застыли без развития. Например расширить число стандартных графических объектов - добавить объект свеча OBJ_CANDLE, объект бар OBJ_BAR с привязкой их к цене, а не пикселям. Объекты OBJ_ELLIOTWAVE сейчас находятся в неупотребимом виде, говорю как волновик. Жаль, что вектор развития ушел куда-то вдаль от потребностей  _простых_ пользователей.

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

Причина обращения: