MetaTrader 5 Trading Terminal build 630

Что нового в MetaTrader 5?

11 апреля 2012

Trading Terminal

  1. Добавлен пропуск удаления графических объектов, созданных MQL5-программами, при удалении клавишей Backspace.

    В настоящее время с помощью свойства OBJPROP_HIDDEN, выставляемого только из MQL5-программ, графические объекты разделены на созданные вручную и автоматические. По умолчанию в списке объектов показываются только созданные вручную. Это повышает удобство работы, так как в большинстве случаев для объектов, созданных программным путем, не требуется управление из интерфейса клиентского терминала. Чтобы увидеть все объекты, нужно нажать на кнопку "List All".

    Добавлен пропуск удаления графических объектов

    В новом билде программно созданные объекты не будут удаляться по команде "Удалить последний (Backspace)".
    Это предотвратит случайное удаление интерфейсных объектов. Удалить их можно будет программно или через окно "Список объектов (Ctrl+B)".

  2. Добавлено отображение начала и конца торговли по символу в диалоге настроек символа:

    Добавлено отображение начала и конца торговли по символу

MQL5

  1. В язык MQL5 добавлена поддержка перегрузки операций.

    Перегрузка операций позволяет описывать и применять к созданным программистом типам данных операции, по смыслу эквивалентные уже имеющимся в языке. Например, перегрузка оператора "[]" позволяет реализовать класс с поведением массива, а перегрузка арифметических операторов позволяет реализовать классы для работы с комплексными числами. В описанных случаях перегрузка операций позволяет использовать привычный синтаксис и избежать создания множества функций вида ComplexPlusComplex, IntegerPlusComplex, ComplexMinusFloat и т.д.

    Кроме того, поддержка перегрузки операторов в MQL5 обеспечивает совместимость с языками программирования общего назначения (в частности с языком С++), облегчая перенос ранее написанного кода (программных библиотек) на MQL5.

  2. В язык MQL5 добавлена поддержка статических полей и методов классов и структур.

    Статические поля и методы является собственностью класса, поэтому для доступа к статическим полям не требуется создавать экземпляры соответствующего класса. Наличие статических полей и методов в языке увеличивает его гибкость и выразительность. Например, с помощью этих методов легко реализовать контроль за числом экземпляров (объектов) данного класса.

    Также как и поддержка перегрузки операторов, поддержка статических полей и структур в MQL5 обеспечивает совместимость с языками программирования общего назначения (в частности с языком С++), облегчая перенос ранее написанного кода (программных библиотек) на MQL5.

  3. Добавлено новое свойство графического объекта "Edit" - OBJPROP_ALIGN - выравнивание текста внутри поля редактирования. Свойство устанавливается и читается методами ObjectSetInteger\ObjectGetInteger.
  4. Исправлено поведение функции ArrayIsDynamic. При инициализации динамического массива списком инициализации функция ArrayIsDynamic определяла массив как статический.
  5. Исправлена ошибка в неявном преобразовании double в bool, приводящая в некоторых случаях к ошибке "invalid ex5".
  6. Обновлена стандартная библиотека - внесены мелкие исправления и улучшения.

Strategy Tester

  1. Расширен набор характеристик в результатах тестирования - добавлены новые характеристики и диаграммы:

    Расширен набор характеристик в результатах тестирования

  2. Исправлено зацикливание тестирования при отсутствии ценовой истории.
  3. Исправлен отказ от модификации отложенных ордеров при приближении ко времени истечения ордера.

    Ранее, если до времени удаления отложенного ордера оставалось менее 5 минут, при попытке корректной модификации ордера возвращалась некорректная ошибка TRADE_RETCODE_INVALID_EXPIRATION.

  4. Исправлена ошибка генерации отрицательного спреда при тестировании по ценам открытия.
  5. Оптимизирована передача пользовательских результатов тестирования с помощью функции FrameAdd.

    При запуске эксперта в тестере стратегий можно создать собственный массив данных на основе простых типов или простых структур. Этот набор данных можно сохранить с помощью функции FrameAdd() в специальной структуре, называемой фрейм (кадр). Каждый агент при оптимизации эксперта может посылать в терминал серию фреймов. Все полученные фреймы в порядке поступления от агентов записываются в *.MQD файл в папку каталог_терминала/MQL5/Files/Tester по имени эксперта.

    В результате проведённых работ оптимизирована передача фреймов от тестера клиентскому терминалу и увеличена скорость доступа к полученным фреймам из эксперта в точках входа OnTesterPass.

  6. Исправлена работа контекстного меню во вкладках результатов тестирования.
  7. Исправлена инициализация AccountInfo при оптимизации стратегий (код приведён в точное соответствие с одиночным тестированием). Из-за этой ошибки могла возникать разница между результатами оптимизации и одиночными прогонами на тех же параметрах.

MetaEditor

  1. Убрана подсветка текущей строки по умолчанию. Ранее при начальной установке MetaEditor подсветка текущей строки по умолчанию была включена.

    Убрана подсветка текущей строки по умолчанию

    Убрана подсветка

  2. В мастер создания эксперта MQL5 Wizard добавлена поддержка точек входа OnTester*

    В мастер создания эксперта MQL5 Wizard добавлена поддержка точек входа OnTester

    Данные точки входа являются обработчиками событий, которые автоматически генерируются тестером стратегий при тестировании (OnTester) и оптимизации (OnTesterInit, OnTesterPass, OnTesterDeinit) эксперта. Использование этих функций в эксперте предназначено для реализации пользовательской обработки результатов тестирования и оптимизации.

  3. Добавлены сниппеты для точек входа OnTester*.

    Для облегчения написания кода в MetaEditor предусмотрена возможность вставки сниппетов — небольших шаблонных фрагментов исходного кода, описывающих ту или иную конструкцию языка MQL5. Вставка сниппета инициализируется написанием ключевого слова. После набора ключевого слова курсор изменяется на "Возможна вставка сниппета". После этого необходимо нажать клавишу "Tab". Более подробно о работе со сниппетами можно ознакомиться в справке MetaEditor.

    Ключевыми словами для точек входа OnTester, OnTesterInit, OnTesterPass и OnTesterDeinit будут служить слова OnTester, OnTesterInit, OnTesterPass и OnTesterDeinit.

  4. Расширены возможности MetaAssist для поддержки перегрузки операторов.

    Для удобства разработки программ в MetaEditor предусмотрены различные средства, от автоподстановок названий и подсказок к функциям до закладок и горячих клавиш - MetaAssist. Эти средства позволяют ускорить процесс написания кода, делают перемещение по нему более удобным и помогают предотвратить появление ошибок.

  5. Добавлено окно отображение отличий между локальным файлом исходного текста и версией в MQL5 Storage:

    Добавлено отображение отличий между локальным файлом исходного текста и версией в MQL5 Storage

    Добавлено окно отображение отличий

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

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

Скачать торговый терминал MetaTrader 5 можно по ссылке: https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5setup.exe?utm_campaign=www.metatrader5.com