11 апреля 2012
11 апреля 2012
В настоящее время с помощью свойства OBJPROP_HIDDEN, выставляемого только из MQL5-программ, графические объекты разделены на созданные вручную и автоматические. По умолчанию в списке объектов показываются только созданные вручную. Это повышает удобство работы, так как в большинстве случаев для объектов, созданных программным путем, не требуется управление из интерфейса клиентского терминала. Чтобы увидеть все объекты, нужно нажать на кнопку "List All".
В новом билде программно созданные объекты не будут удаляться по команде "Удалить последний (Backspace)".
Это предотвратит случайное удаление интерфейсных объектов. Удалить их можно будет программно или через окно "Список объектов (Ctrl+B)".
Добавлено отображение начала и конца торговли по символу в диалоге настроек символа:
Перегрузка операций позволяет описывать и применять к созданным программистом типам данных операции, по смыслу эквивалентные уже имеющимся в языке. Например, перегрузка оператора "[]" позволяет реализовать класс с поведением массива, а перегрузка арифметических операторов позволяет реализовать классы для работы с комплексными числами. В описанных случаях перегрузка операций позволяет использовать привычный синтаксис и избежать создания множества функций вида ComplexPlusComplex, IntegerPlusComplex, ComplexMinusFloat и т.д.
Кроме того, поддержка перегрузки операторов в MQL5 обеспечивает совместимость с языками программирования общего назначения (в частности с языком С++), облегчая перенос ранее написанного кода (программных библиотек) на MQL5.
Статические поля и методы является собственностью класса, поэтому для доступа к статическим полям не требуется создавать экземпляры соответствующего класса. Наличие статических полей и методов в языке увеличивает его гибкость и выразительность. Например, с помощью этих методов легко реализовать контроль за числом экземпляров (объектов) данного класса.
Также как и поддержка перегрузки операторов, поддержка статических полей и структур в MQL5 обеспечивает совместимость с языками программирования общего назначения (в частности с языком С++), облегчая перенос ранее написанного кода (программных библиотек) на MQL5.
Расширен набор характеристик в результатах тестирования - добавлены новые характеристики и диаграммы:
Ранее, если до времени удаления отложенного ордера оставалось менее 5 минут, при попытке корректной модификации ордера возвращалась некорректная ошибка TRADE_RETCODE_INVALID_EXPIRATION.
При запуске эксперта в тестере стратегий можно создать собственный массив данных на основе простых типов или простых структур. Этот набор данных можно сохранить с помощью функции FrameAdd() в специальной структуре, называемой фрейм (кадр). Каждый агент при оптимизации эксперта может посылать в терминал серию фреймов. Все полученные фреймы в порядке поступления от агентов записываются в *.MQD файл в папку каталог_терминала/MQL5/Files/Tester по имени эксперта.
В результате проведённых работ оптимизирована передача фреймов от тестера клиентскому терминалу и увеличена скорость доступа к полученным фреймам из эксперта в точках входа OnTesterPass.
Убрана подсветка текущей строки по умолчанию. Ранее при начальной установке MetaEditor подсветка текущей строки по умолчанию была включена.
В мастер создания эксперта MQL5 Wizard добавлена поддержка точек входа OnTester*
Данные точки входа являются обработчиками событий, которые автоматически генерируются тестером стратегий при тестировании (OnTester) и оптимизации (OnTesterInit, OnTesterPass, OnTesterDeinit) эксперта. Использование этих функций в эксперте предназначено для реализации пользовательской обработки результатов тестирования и оптимизации.
Для облегчения написания кода в MetaEditor предусмотрена возможность вставки сниппетов — небольших шаблонных фрагментов исходного кода, описывающих ту или иную конструкцию языка MQL5. Вставка сниппета инициализируется написанием ключевого слова. После набора ключевого слова курсор изменяется на "Возможна вставка сниппета". После этого необходимо нажать клавишу "Tab". Более подробно о работе со сниппетами можно ознакомиться в справке MetaEditor.
Ключевыми словами для точек входа OnTester, OnTesterInit, OnTesterPass и OnTesterDeinit будут служить слова OnTester, OnTesterInit, OnTesterPass и OnTesterDeinit.
Для удобства разработки программ в MetaEditor предусмотрены различные средства, от автоподстановок названий и подсказок к функциям до закладок и горячих клавиш - MetaAssist. Эти средства позволяют ускорить процесс написания кода, делают перемещение по нему более удобным и помогают предотвратить появление ошибок.
Добавлено окно отображение отличий между локальным файлом исходного текста и версией в MQL5 Storage:
Исправления по крешлогам.
Обновлена документация.
Автоматическое обновление доступно через систему LiveUpdate.
Скачать торговый терминал MetaTrader 5 можно по ссылке: https://download.mql5.com/cdn/web/metaquotes.ltd/mt5/mt5setup.exe?utm_source=www.metatrader5.com