Список изменений в билдах MetaTrader 5 Client Terminal - страница 17

 

MetaTrader 5 Client Terminal build 858: Push-уведомления о торговых транзакциях и алерты на графике

  1. Terminal: Добавлена возможность отсылки push-уведомлений о торговых транзакциях, происходящих на клиентском счете: добавление, изменение и удаление ордеров и сделок, активация отложенных ордеров и SL-TP, попадание счета под margin call и stop-out.




  2. Terminal: Добавлено отображение и управление алертами с графика. Для алертов, установленных с графика, автоматически выставляется время истечения. Время истечения зависит от таймфрейма графика:
    • Для минутных таймфреймов истечение устанавливается в часах, количество которых соответствует количеству минут таймфрейма. Например, на таймфрейме M1 истечение будет равно 1 часу, на таймфрейме M5 — 5 часам, на таймфрейме M30 — 30 часам и т.д.
    • Для часовых таймфреймов истечение устанавливается в сутках, количество которых соответствует количеству часов таймфрейма. Например, на таймфрейме H1 истечение будет равно 1 дню, на таймфрейме H2 — 2 дням, на таймфрейме H6 — 6 дням и т.д.
    • На дневном таймфрейме истечение будет равно 24 дням.
    • На недельном таймфрейме истечение будет равно 2 неделям.
    • На месячном таймфрейме истечение будет равно 2 месяцам.




      При разрешенной опции управления торговыми уровнями с чарта значение цены у алерта может быть изменено перетаскиванием мышью на новый ценовой уровень. Алерт может быть отключен или удален с помощью контекстного меню соответствующего уровня на графике.

  3. Terminal: В списке открытых ордеров и позиций добавлен показ всплывающей подсказки со stop и limit ценами для stop-limit ордеров.
  4. Terminal: Добавлена возможность сортировки списка символов в диалоге "Symbols".
  5. Terminal: Добавлена возможность масштабировать график с помощью колеса мыши при нажатой клавише Ctrl.
  6. Terminal: Увеличена точность отображения графических объектов Ганна и Фибоначчи и их уровней.
  7. Terminal: Исправлен алгоритм вертикального масштабирования для инструментов с заданным шагом цены.
  8. Terminal: Исправлены ошибки в отображении интерфейса в Wine (для работы в Linux, Mac).
  9. Terminal: Исправлены ошибки в построении меню выставления трейлинг-стопа.
  10. Terminal: Исправлена ошибка в закрытии чарта с кастомным индикатором, в некоторых случаях приводившая к "торможению" закрытия графика.
  11. Terminal: Исправлена ошибка отображения текстовых новостей в диалоге новости.
  12. Terminal: Исправлена ошибка, в некоторых случаях препятствовавшая публикации скриншотов на сайте MQL5.com.
  13. Terminal: Исправлено назначение "горячих клавиш" на встроенные индикаторы.
  14. Terminal: Обновлён перевод интерфейса на болгарский язык.
  15. Signals: Исправлена подписка на сигналы в Wine (для работы в Linux, Mac).
  16. MQL5: Теперь при изменении масштаба графика генерируется событие изменения графика CHARTEVENT_CHART_CHANGE.
  17. Добавлено свойство MQL5_MEMORY_LIMIT (доступно через функцию MQL5InfoInteger) - возвращает максимально возможный объем динамической памяти для MQL-программы в мегабайтах. Данное ограничение касается только динамических объектов MQL5-программ (массивы, объекты, строки).
  18. MQL5: Теперь многомерные массивы простых типов можно инициализировать одномерной последовательностью:
    int a[2][2]={0,1,2,3}; 
    Раньше требовалась запись вида
    int a[2][2]={{0,1},{2,3}}; 
  19. MQL5: Исправлена ошибка, в результате которой вызов функции Bars() в некоторых случаях не приводил к перестроению кэшей ценовой истории, в тех случаях когда это было необходимо.
  20. MQL5: Исправлена ошибка с передачей ссылки на массив указателей.
  21. MQL5: Исправлена ошибка работы функции FileSeek при использовании флага SEEK_CUR и чтении из файла до вызова этой функции.
  22. MQL5: Стандартная библиотека. Добавлен класс CFlameCanvas ("Include\Canvas\FlameCanvas.mqh") и пример его использования Flame Chart ("Indicators\Examples\Canvas\FlameChart.mq5") - данный пример демонстрирует возможности построения собcтвенных изображений на чарте средствами MQL5.



  23. MetaTester: Исправлена ошибка сброса значения начального депозита в окне тестирования при изменении его размера.
  24. MetaTester: Исправлена остановка тестирования при использовании пользовательских индикаторов с бесконечным циклом в точке входа OnInit.
  25. MetaTester: В визуальном тестировании исправлена ошибка фильтрации сделок во вкладке истории. Ошибка проявлялась при наличии сделок более чем по двум инструментам.
  26. MetaTester: Исправлена ошибка пересчета пользовательских индикаторов, работающих одновременно на одном и том же символе, но с разными таймфреймами.
  27. MetaEditor: Продолжаются работы по использованию общего для MetaTrader 4 и MetaTrader 5 компилятора и среды разработки MQL5:

    MQL5 на MetaTrader 4 и MetaTrader 5
    Вместо работы над совместимостью MQL4 -> MQL5, мы решили пойти наоборот. Мы перенесли максимум функций и возможностей языка MQL5, полностью сохраняя функционал MQL4. То есть все мощные функции MQL5, включая ООП и компилятор в нативный код, станут доступны в MQL4. Для этого мы разработали единый компилятор, который автоматически поддерживает оба языка MQL4 и MQL5. MetaEditor тоже становится единым для обеих платформ MetaTrader 4 и MetaTrader 5. С его помощью можно компилировать как MQL4, так и MQL5 из любой версии.

    MQL5 Storage с MetaTrader 4
    Разработчикам станет легко работать с версионным контролем исходников, участвовать в групповых разработках и синхронизировать файлы.

    Улучшение защиты кода приложений в MetaTrader 4

    В новых EX4/EX5-файлах серьезная и полностью переработанная защита по сравнению со старым EX4.

    Маркет приложений MetaTrader 4

    Переход на новый компилятор, поддерживающий ресурсы и штатную защиту под конкретный компьютер пользователя, позволит создавать и продавать полноценные приложения. За защиту EX4/EX5-файлов, проданных через Маркет, не стоит беспокоиться - там нет байткода, а лишь чистый нативный код, подписанный нашим приватным ключом. Это позволит привести в порядок все существующее многообразие продаваемых решений и защитить продавцов.

  28. MetaEditor: Исправлена подсветка точек входа в MetaAssist.
  29. MetaEditor: Исправлена ошибка поиска без учета регистра строки, состоящей из нелатинских символов.
  30. MetaEditor: Исправлена работа ввода с помощью стандартной экранной клавиатуры.
  31. MetaEditor: Исправлена ошибка обновления содержимого вкладок "Articles" и "Codebase".
  32. Исправления по крешлогам.
  33. Обновлена документация.

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

 

MetaTrader 5 build 868: Безусловная синхронизация позиций сигналов и работа над ошибками

  1. Signals: Добавлена опция безусловной синхронизации позиций между источником сигнала и счетом подписчика. Если данная опция включена, то при начальной синхронизации состояния подписчика и источника сигнала синхронизация позиций (в том числе закрытие уже имеющихся открытых позиций, не принадлежащих сигналу) производится без необходимости дополнительного подтверждения в диалоговых окнах.




    Данная опция необходима при использовании сигналов на VPS (Virtual Private Server) и также может быть использована для повышения надежности синхронизации при работе с уже выбранным сигналом.

  2. Terminal: Добавлено автоматическое выставление времени истечения алерта при его выставлении через стакан цен.
  3. Terminal: Исправлено отображение стакана цен в расширенном режиме при отображении торговых инструментов с большим спредом.
  4. Terminal: Исправлено отображение результатов поиска в терминале под Wine (Linux и Mac).
  5. MQL5: У графического объекта "Чарт" убран безусловный показ имени инструмента.
  6. MQL5: Исправлено поведение функции ConvertTimePriceToXY - теперь при невозможности корректного расчета будет возращаться код ошибки ERR_CHART_WRONG_PARAMETER.
  7. MQL5: Стандартная библиотека. Исправлен метод CIndicators::TimeframesFlags.
  8. MQL5: Стандартная библиотека. Элементы управления. Теперь ниспадающие списки всегда отображаются поверх других элементов управления.
  9. MetaTester: Исправлена остановка тестирования при использовании пользовательских индикаторов с бесконечным циклом в точке входа OnInit.
  10. MetaEditor: Исправлены ошибки, приводившие к утечке памяти при массовой замене подстроки в документе.
  11. MetaEditor: Исправлена ошибка в мастере генерации пользовательских индикаторов, приводившая к добавлению точки входа OnTradeTransaction.
  12. Исправления по крешлогам.
  13. Обновлена документация.

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

 

MetaTrader 5 Client Terminal build 871

  1. MQL5: Исправлена ошибка, препятствовавшая тестированию экспертов, содержащих пользовательские индикаторы в виде ресурса. Ошибка затрагивала в том числе и экспертов из MQL5 Market.
  2. MQL5: Добавлена поддержка условной компиляции #if[n]def, #else и #endif.
  3. MQL5: Добавлены макросы _DEBUG и _RELEASE, при компиляции *.mq5 макрос __MQL5__, при компиляции *.mq4 __MQL4__.
  4. Market: Оптимизирована работа с MQL5 Market при использовании нескольких экземпляров клиентского терминала.
  5. MetaTester: Исправлен показ вкладок и результатов тестирования при тестировании индикатора.
  6. MetaTester: Исправлено отображение подписей при использовании курсора в режиме "перекрестие" для замера расстояния между барами в режиме визуального тестирования.
  7. MetaTester: Исправлено падение тестера при завершении тестирования.
  8. Исправления по крешлогам.
  9. Обновлена документация.

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

 

MetaTrader 5 Client Terminal build 880: Журнал терминала с миллисекундами и макросы MQL4BUILD/MQL5BUILD

  1. Terminal: В журнале клиентского терминала, MetaEditor и MetaTester время показывается с точностью до миллисекунд.




  2. Terminal: Улучшены сканирование и поиск серверов в диалоге открытия демо-счета - увеличена скорость сканирования, добавлен дополнительный поиск точек доступа для серверов, с которыми отсутствует соединение.




  3. Terminal: Исправлено и оптимизировано обновление справки клиентского терминала, MetaEditor и MQL5.
  4. Terminal: В каталоге данных терминала автоматически создается файл "origin.txt", содержащий путь на каталог установки, которому соответствует данный каталог данных.
  5. Terminal: Исправлен показ контекстной справки в ряде диалогов, окон и элементов управления.
  6. Terminal: Исправлена ошибка, в некоторых случаях приводившая к зависанию терминала при длительной непрерывной работе (дольше 2-3 суток).
  7. Terminal: Исправлена ошибка, в некоторых случаях приводившая к потере списка сохраненных клиентских аккаунтов.
  8. Terminal: Исправлена ошибка, приводившая к сообщениям в журнале "pack bar error".
  9. Terminal: Добавлены справки терминала MetaTrader 5 и языка MQL5 на турецком языке.
  10. Market: Исправлены и оптимизированы хранение и обновление данных MQL5 Market.
  11. MQL5: Исправлена ошибка в перегрузке шаблонов функций.
  12. MQL5: Добавлены макросы __MQL4BUILD__ и __MQL5BUILD__ - версии компилятора MQL5 в клиентских терминалах MetaTrader 4 и MetaTrader 5 соответственно. Эти макросы могут быть использованы для вывода информации о версии компилятора, с помощью которого скомпилирован EX4\EX5-файл, в журнал "Эксперты" клиентского терминала:
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
       Print(__FILE__," compiled with ",__MQL5BUILD__," build");
    //---
       return(INIT_SUCCEEDED);
      }

  13. Signals: Исправлено сопоставление торговых инструментов Forex вида EURUSD <=> EURUSD.ABC при наличии нескольких инструментов с одинаковой базовой частью (EURUSD), для одного из которых запрещена торговля.

  14. Signals: Исправлено копирование сигналов при проведении балансовых и кредитных операций на счете подписчика. После проведения балансовой/кредитной операции изменяется общее количество средств клиента. Если в результате этого процент копирования сигналов уменьшился более чем на 1% (объем копируемых операций рассчитывается с учетом соотношения баланса подписчика и провайдера), то происходит принудительная синхронизация счета подписчика со счетом провайдера. Это происходит для коррекции текущих позиций подписчика в соответствии с новым процентом копирования.

    Если в результате балансовой или кредитной операции, средства подписчика увеличились, то принудительной синхронизации не происходит.

  15. Signals: Исправлено копирование позиций при запрете режима исполнения рыночного ордера Fill or Kill (FOK).
  16. MetaEditor: Исправлена работа с буфером обмена при вставке не-Unicode текста.
  17. MetaEditor: Исправлена прокрутка дерева навигатора при перетаскивании папок с помощью drag'n'drop.
  18. Исправления по крешлогам.
  19. Обновлена документация.

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

 

MetaTrader 5 Client Terminal build 900: Журналы в MetaTrader Market и новый MetaViewer

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

  1. Market: В MetaTrader AppStore появилась новая категория товаров - Журналы. Теперь в магазине наряду с покупкой торговых приложений можно легко и быстро приобрести отраслевые издания, посвященные трейдингу и финансам.




    Как и программы для MetaTrader 5, журналы можно купить через раздел Маркет на MQL5.community, а также непосредственно через терминал MetaTrader 5. Все журналы сопровождаются подробным описанием, а также галереей ознакомительных скриншотов:




    На витрине журналов всегда отображаются актуальные выпуски. Предыдущие номера вы можете найти на вкладке "Архив".

    Для покупки журнала необходимо иметь аккаунт на MQL5.com и достаточную для покупки сумму денег на нем. Данные аккаунта необходимо указать в настройках терминала на вкладке "Сообщество":




    Для покупки журнала необходимо нажать кнопку "Купить" на его странице. После этого будет показан диалог подтверждения покупки:




    Для продолжения покупки необходимо согласиться с правилами использования сервиса Маркет, а затем ввести пароль вашего аккаунта на MQL5.community. После этого с вашего аккаунта будет списана указанная сумма денег и произойдет скачивание журнала. Вместо кнопки "Купить" появится кнопка "Открыть".

    Файлы журналов скачиваются в папку Мои документы\MQL5 Market\Magazines\[Название издания]\[Название номера]. Скачивание может осуществляться в двух форматах:
    • MQB - данный формат используется для платных журналов. Этот формат является защищенным. При покупке и скачивании осуществляется шифрация файла таким образом, чтобы он мог быть открыт только на том компьютере, с которого он был скачан. Факт создания такой защищенной копии называется активацией. Каждый журнал может быть активирован как минимум 5 раз на различном оборудовании. Продавцы журналов могут увеличить количество активаций по своему усмотрению.
    • PDF - данный формат используется для бесплатных журналов. После скачивания такой файл можно переносить и просматривать на других устройствах.

    Для просмотра файлов MQB в терминал MetaTrader 5 добавлен специальный компонент - MetaViewer. Именно это приложение будет запущено при нажатии кнопки "Открыть" на странице скачанного журнала. При первом запуске, если на компьютере включена система User Account Control, пользователю будет предложено разрешить терминалу ассоциировать файлы MQB с MetaViewer. После ассоциирования файлы MQB будут автоматически открываться в MetaViewer при их запуске из проводника Windows.




    При нажатии "ОК" файлы будут ассоциованы, а выбранный журнал будет сразу открыт в MetaViewer. При нажатии "Отмена" произойдет только открытие файла журнала.



    MetaViewer представляет собой удобное средство для просмотра журналов и книг в формате MQB и PDF. Для перелистывания используются стрелки на клавиатуре: для постраничного - стрелки вправо и влево, для прокрутки - стрелки вверх и вниз. В меню и на панели управления MetaViewer представлены дополнительные команды для настройки вида журналов и навигации по ним:
    • File - команды для открытия файлов и выхода из программы.
    • View - команды настройки отображения: переключение языка интерфейса, переключение вида страниц, включение панели управления и строки состояния, а также вращение страниц.
    • Navigation - команды навигации по журналам: переключение между страницами, переход к первой, последней или выбранной странице.
    • Zoom - команды управления масштабом страниц: увеличение и уменьшение размера, адаптация по высоте, ширине и по фактическому размеру страницы.
    • Help - информация о программе и полезные ссылки.

  2. Terminal: в свойства файлов EX5 добавлена вкладка MQL. На вкладке отображается иконка, название и описание программы, указанные в ее исходном коде через соответствующие параметры #property.




    Вкладка появляется только после регистрации MetaViewer в системе. Если у текущего пользователя достаточно прав и отключена система User Account Control, регистрация MetaViewer происходит автоматически при первом запуске терминала после обновления. В ином случае, при первой попытке открыть журнал пользователю будет показан диалог, запрашивающий однократное повышение прав для MetaViewer.




  3. Terminal: Добавлен диалог быстрой регистрации на MQL5.community в случае отсутствия аккаунта. Теперь создать аккаунт на MQL5.community можно, не покидая терминал.




    В окне регистрации необходимо указать желаемый логин, а также адрес электронной почты. После нажатия кнопки "Регистрация" на указанный адрес будет выслано письмо для активации аккаунта MQL5.community.

    Аккаунт в сообществе MQL5.community позволяет трейдеру пользоваться мощными дополнительными сервисами:
    • MetaTrader 5 AppStore - прямо из терминала можно приобретать, а также скачивать бесплатно приложения для MetaTrader 5. Магазин MetaTrader 5 AppStore предлагает сотни разнообразных приложений, ассортимент которых постоянно расширяется.
    • Сигналы - пользователь может подписаться на торговые сигналы профессиональных трейдеров и зарабатывать. Торговые операции со счета провайдера сигналов будут автоматически копироваться на счет трейдера. Сервис также позволяет продавать собственные торговые сигналы. Подключение торгового счета к системе мониторинга занимает несколько кликов.
    • Работа - фриланс-сервис, позволяющий безопасно заказать разработку приложения для MetaTrader 4 и 5 профессиональным программистам. Сервис также позволяет любому заработать, оказывая услуги по разработке программ.


  4. Terminal: В диалог информации о торговом инструменте добавлена информация о коэффициентах взимания маржи для разных типов ордеров, а также отображение списка спредов, в которые могут входить ордера и позиции по данному инструменту.



    Коэффициенты маржи:

    Для каждого типа ордера указывается множитель для расчета маржинальных требований относительно основной суммы залога. Основная сумма залога рассчитывается в зависимости от указанного способа расчетов (Forex, CFD, Futures и т.д.).

    • Коэффициент по длинным позициям
    • Коэффициент по коротким позициям
    • Коэффициент по Limit-ордерам
    • Коэффициент по Stop-ордерам
    • Коэффициент по Stop-Limit ордерам

    Подробное описание расчета маржинальных требований представлено в справочном руководстве клиентского терминала.

    Спреды:

    По торговыми позициям может осуществляться льготное взимание маржи, в случае когда они находятся в спреде по отношению друг к другу. Нахождением в спреде считается наличие разнонаправленных позиций по смежным инструментам. Заниженные маржинальные требования для позиций в спреде дают трейдеру больше возможностей для торговли.


    У спреда есть стороны - A и B. Сторонами называются разнонаправленные позиции в спреде - покупка или продажа. При этом тип стороны не связан с определенным направлением позиции (покупка или продажа). Важно, чтобы позиции трейдера по всем символам стороны были либо длинными, либо короткими.

    Для каждой стороны спреда может быть указано несколько символов с собственными коэффициентами объема. Эти коэффициенты указываются в скобках, например, LKOH-3.13 (1).

    Рассмотрим пример:

    • сторона А состоит из символов GAZR-9.12 и GAZR-3.13 с весом 1 и 2 соответственно;
    • сторона В состоит из символа GAZR-6.13 с весом 1.

    Чтобы позиции трейдера находились в спреде, он должен открыть позиции объемом 1 и 2 лота по GAZR-9.12 и GAZR-3.13 соответственно в одну сторону и позицию объемом 1 лот по GAZR-6.13 в другую сторону.

    В колонке Margin указывается тип взимания маржи по данному спреду:
    • Конкретные значения означают взимание фиксированной маржи по спреду в указанном объеме. Первое значение указывает объем начальной маржи, второе - поддерживающей.
    • Максимальная - для каждой стороны спреда рассчитываются значения начальной и поддерживающей маржи. Расчет осуществляется суммированием маржинальных требований по всем символам стороны. Для спреда будут использоваться маржинальные требования той стороны, где значение больше.
    • CME Inter Spread - указываются коэффициенты (в процентах) для маржи: первый - для начальной, второй - для поддерживающий. Итоговое значение маржи будет определяться суммированием маржинальных требований по всем инструментам спреда и умножением итогового значения на указанный коэффициент.
    • CME Intra Spread - указываются два значения для увеличения маржи: первое значение - для начальной маржи, второе - для поддерживающей. При расчете вычисляется разница между суммарной маржой инструментов стороны А и суммарной маржой инструментов стороны В (берется разница по модулю, таким образом не имеет значения, какая сторона является вычитаемой). В зависимости от того, какой вид маржи вычисляется, к полученной разнице прибавляется первое (для начальной маржи) или второе (для поддерживающей маржи) значение.

    Указанная маржа взимается за единицу спреда - за указанное сочетание позиций. Если какая-то часть позиции не укладывается в спред, то с нее будет взиматься дополнительная маржа в соответствии с настройками символа. Если текущие позиции клиента имеют объем, в который указанное сочетание укладывается несколько раз, то взимаемая маржа соответствующим образом увеличивается. Например, по условиям в спреде находятся два инструмента A и B с весом 1 и 2. Если клиент имеет позиции по этим инструментам объемом 3 и 4 лота соответственно, то итоговый размер маржи будет равен удвоенному значению из настроек спреда (два спреда: 1 лот A и 2 лота B, 1 лот A и 2 лота B) плюс маржа за один оставшийся лот инструмента A.

    Подробное описание спредов представлено в справочном руководстве клиентского терминала.

  5. Terminal: Исправлено зависание стакана цен в случаях, если наилучшая цена bid оказывалась больше, чем наилучшая цена ask.
  6. Terminal: Исправлено проставление типа заливки для рыночных торговых запросов в зависимости от типа исполнения торгового инструмента и разрешенных режимов заливки.
  7. Terminal: Исправлен показ неверных значений SL и TP в диалоге открытия позиции при наличии позиции с установленными уровнями SL и TP при работе в режиме выставления уровней "в пунктах". Ранее в эти поля заполнялись неверные значения уровней SL и TP в пунктах. Начиная с нового билда, в описанной ситуации значения будут показываться в ценах, вне зависимости от режима выставления уровней.
  8. Terminal: Исправлена ошибка, в некоторых случаях приводившая к неполному отображению торговой истории за текущий день.
  9. Terminal: Снижено потребление памяти при работе MQL5 CodeBase и MQL5 Market.
  10. Terminal: Исправлена работа с контекстными меню при работе на устройствах с сенсорным экраном под управлением Microsoft Windows 8 и более поздних версий.
  11. Market: Добавлен диалог подтверждения активации продукта с отображением числа оставшихся активаций.




    Каждое приложение, приобретаемое в MetaTrader AppStore, дополнительно защищается, что позволяет использовать его только на том оборудовании, с которого оно было приобретено. Факт создания такой защищенной копии называется активацией. Каждый продукт может быть активирован как минимум 5 раз на различном оборудовании. Авторы продуктов могут увеличить количество активаций по своему усмотрению.

    Новый диалог позволяет предотвратить трату активаций по незнанию, информируя о том, что их количество ограничено.

  12. MQL5: Исправлено падение при инициализации массивов простых типов последовательностью.
  13. MQL5: Исправлены ошибки при работе с макросами условной компиляции #ifdef/#else/#endif.
  14. MQL5: Компилятор языка MQL5 перенесен в MetaEditor. Компилятор в виде отдельного .exe файла будет доступен для скачивания.
  15. Signals: В окно навигатора добавлен показ информации о сигнале, на который подписан аккаунт:




    Если аккаунт подписан на сигнал, то для него будет отображаться соответствующая иконка с названием сигнала. При наведении курсора мыши на название будет показана информация о сроке окончания подписки. В контекстном меню доступны команды просмотра сигнала, а также отписки от него. Последняя команда отображается, только если терминал в данный момент подключен этим торговым счетом.

    Показ пиктограммы подписки делает работу с сигналами в терминале более наглядной и удобной.

  16. Signals: Добавлена легенда для графиков средств, прироста, баланса и распределения. Также на график средств добавлены иконки, показывающие моменты пополнения и снятия средств со счета. При наведении курсора мыши на треугольник балансовой операции показывается всплывающая подсказка с суммой операции:




  17. MetaEditor: Исправлена потеря фокуса на окне редактирования кода, происходившая после первой компиляции.
  18. MetaEditor: Исправлена автоматическая прокрутка окна компиляции к первому предупреждению при отсутствии ошибок.
  19. MetaEditor: Исправлена подсветка в исходном коде предопределенных макросов _DEBUG и _RELEASE.
  20. MetaEditor: Исправлена работа сниппетов при отключенном автоматическом проставлении отступов строк.
  21. Исправления по крешлогам.
  22. Обновлена документация.

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

 

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

MetaTrader 5 Client Terminal build 910

  1. Terminal: Исправлены ошибки и падения при работе в Wine (для работы в Linux, Mac).
  2. Terminal: Исправлено отображение центральной линии графического объекта "Gann Grid" при изменении масштаба.
  3. MQL5: Исправлена ошибка загрузки .ex5 файлов в некоторых случаях.
  4. MQL5: Исправлена работа функций StringToCharArray и StringToTime.
  5. Исправления по крешлогам.
  6. Обновлена документация.
Обновление будет доступно через систему LiveUpdate.
 

Обновление платформы MetaTrader 5 build 930: Книги в MetaTrader Маркете

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

  1. Market: Вслед за появлением журналов, посвященных трейдингу и финансам, в MetaTrader AppStore стала доступна еще одна категория товаров - Книги. Теперь наряду с торговыми роботами и индикаторами пользователям стали доступны работы известных трейдеров и аналитиков. Ассортимент книг увеличивается ежедневно.




    Как и программы для MetaTrader 5, книги можно купить через раздел Маркет на MQL5.community, а также непосредственно через терминал MetaTrader 5. Все книги сопровождаются аннотациями, а также выдержками в виде скриншотов:




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

    Для покупки книги необходимо иметь аккаунт на MQL5.com и достаточную для покупки сумму денег на нем. Данные аккаунта необходимо указать в настройках терминала на вкладке "Сообщество":




    Для покупки книги необходимо нажать кнопку "Купить" на ее странице. После этого будет показан диалог подтверждения покупки:




    Для продолжения покупки необходимо согласиться с правилами использования сервиса Маркет, а затем ввести пароль вашего аккаунта на MQL5.community. После этого с вашего аккаунта будет списана указанная сумма денег и произойдет скачивание книги. Вместо кнопки "Купить" появится кнопка "Открыть".

    Файлы книг скачиваются в папку Мои документы\MQL5 Market\Books\. Скачивание может осуществляться в двух форматах:

    • MQB - данный формат используется для платных книг. Этот формат является защищенным. При покупке и скачивании осуществляется шифрация файла таким образом, чтобы он мог быть открыт только на том компьютере, с которого был скачан. Факт создания такой защищенной копии называется активацией. Каждая книга может быть активирована как минимум 5 раз на различном оборудовании. Продавцы книг могут увеличить количество активаций по своему усмотрению.
    • PDF - данный формат используется для бесплатных книг, а также для ознакомительных версий (превью). После скачивания такой файл можно переносить и просматривать на других устройствах.

    Для просмотра файлов книг в терминале MetaTrader 5 доступен специальный компонент - MetaViewer. MetaViewer представляет собой удобное средство для просмотра журналов и книг в формате MQB и PDF. Для перелистывания используются стрелки на клавиатуре: для постраничного - стрелки вправо и влево, для прокрутки - стрелки вверх и вниз.




  2. Terminal: Исправлено отображение уровней графического объекта "Fibonacci Fan" при изменении масштаба. Ранее разметка могла смещаться.
  3. Terminal: Исправлена ошибка, в некоторых условиях приводившая к тому, что графические объекты не отрисовывались на графике.
  4. Terminal: Исправлены ошибки и падения терминала при работе в Wine (в Linux и Mac OS), в том числе падение при вызове справочного руководства.
  5. Terminal: Обновлен перевод интерфейса на арабский язык.
  6. Market: Переработано представление продуктов в MetaTrader AppStore. Программы, журналы и книги получили новый дизайн:




  7. Market: Исправлены ошибки докачки больших файлов (в первую очередь журналов и книг) из Маркета.
  8. MQL5: Изменена работа функции StringSplit. Ранее строка ";A;" по разделителю ';' разбивалась на две подстроки: NULL и "A". Теперь она будет разбиваться на подстроки  "","A" и "".
  9. MQL5: Исправлены проверки и учет константности параметров и операндов.
  10. Signals: Добавлены дополнительные проверки на разрешенные режимы торговли по инструменту при копировании сигналов. Если подписчику приходит сигнал, но по данному торговому инструменту разрешено только закрытие позиций, это не приведет к полной остановке копирования сигналов и принудительному закрытию всех позиций, как это было ранее. Теперь, если подписчику приходит сигнал на открытие позиции, данная ситуация будет восприниматься платформой как необходимость провести синхронизацию счетов подписчика и провайдера. Сигнал на закрытие позиции будет обработан в обычном режиме.
  11. MetaTester: Добавлены переводы интерфейса на французский, японский и арабский языки. Обновлены переводы на немецкий, итальянский, польский, португальский, русский, испанский, турецкий и китайский языки.
  12. MetaEditor: Исправлены выделение и навигация по тексту при использовании иероглифов.
  13. MetaEditor: Исправлен выбор торгового символа по умолчанию при профилировании MQL5-программы. Символ по умолчанию указывается в настройках MetaEditor на вкладке "Отладка".
  14. MetaEditor: Исправлено представление символов табуляции в результатах поиска. Ранее символы табуляции игнорировались и содержимое строки показывалось без пробелов.
  15. Исправления по крешлогам.
  16. Обновлена документация.

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

 

Обновление платформы MetaTrader 5 build 965: Умный поиск, OTP и перевод денег между счетами

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

  1. Terminal: Полностью обновлен встроенный поиск. Новый поиск - интеллектуальная и высокопроизводительная система. Результаты запросов теперь удобно структурируются по категориям.

    По мере набора искомой фразы поисковая система моментально предлагает возможные варианты:



    Для поиска по одному из предыдущих запросов установите курсор в строку и нажмите клавишу "Стрелка вниз", будет показана история запросов. В строке поиска теперь отсутствует возможность выбора области поиска, система самостоятельно выбирает наиболее релевантные результаты и удобно показывает их по категориям:



    Для улучшения восприятия теперь в результатах поиска отображается не только текст, но и аватары статей, книг и программ. Используйте верхнюю панель для просмотра результатов поиска по продуктам в MetaTrader AppStore, библиотеке исходных кодов, сигналам, форуму MQL5.community и документации. Если в каком-либо из разделов результаты отсутствуют, он подсвечивается серым цветом.

  2. Terminal: Добавлена возможность OTP-аутентификации. Использование OTP (one-time password, одноразовый пароль) - это дополнительный уровень безопасности при работе с торговыми счетами. При каждом подключении к счету пользователю требуется ввести уникальный одноразовый пароль.

    В качестве генератора одноразовых паролей выступает мобильный терминал MetaTrader 5 для iPhone. Позже будет добавлена возможность использовать также мобильный терминал для Android.

    Включение OTP
    Чтобы начать использовать одноразовые пароли, необходимо связать свой торговый счет с генератором паролей, в качестве которого выступает мобильный терминал MetaTrader 5 для iPhone.
    Возможность использования OTP также должна быть включена на торговом сервере.
    Зайдите в раздел "Настройки" мобильного терминала и выберите пункт OTP. При первом открытии данного раздела для дополнительной безопасности требуется установить пароль из четырех цифр. Пароль потребуется вводить каждый раз для доступа к генератору паролей.



    В открывшемся окне выберите пункт "Привязать к счету".



    Далее укажите имя сервера, на котором открыт торговый счет, номер счета и главный пароль к нему. Опцию "Привязать" следует оставить включенной. Ее необходимо выключать, если вы собираетесь отвязать указанный счет от генератора и больше не использовать одноразовые пароли.

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



    Аналогичным образом вы можете привязать неограниченное количество торговых счетов к генератору.

    Одноразовый пароль показывается в верхней части раздела OTP. Под ним в виде синей полоски отображается индикатор времени действия данного пароля. Как только время действия истечет, пароль станет недействительным и будет сгенерирован новый.

    Дополнительные команды:

    • Изменить пароль - изменить пароль для доступа к генератору.
    • Синхронизировать время - синхронизировать время мобильного устройства с эталонным сервером. Требование к точности обусловлено тем, что одноразовый пароль привязан к текущему интервалу времени, и это время должно совпадать на стороне клиентского терминала и сервера.

    Использование OTP в десктопном терминале
    После привязки к генератору, при попытке подключения через десктопный терминал при помощи торгового счета будет дополнительно запрашиваться одноразовый пароль:




  3. Terminal: Добавлена возможность перевода денег между счетами внутри одного торгового сервера. Перевод может быть осуществлен только с того счета, к которому вы в данный момент подключены. Выберите его в окне "Навигатор" и в контекстном меню нажмите "Перевести средства".



    В появившемся диалоге выберите счет, на который необходимо перевести средства. Сумма перевода указывается в валюте депозита текущего счета. Она не может превышать текущий баланс и текущий объем свободной маржи на счете.

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

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

    • Перевод может быть осуществлен только в пределах одного торгового сервера и только при совпадении типа счетов. С реального счета можно перевести только на реальный, с демо-счета - только на демо.
    • Счета, между которыми осуществляется перевод, должны иметь одинаковую валюту депозита.
  4. Terminal: Добавлена возможность смены пароля у любого торгового счета в окне "Навигатор". Раньше изменить пароль можно было только для счета, который в настоящий момент подключен.

    Сейчас можно выбрать любой счет в окне "Навигатор" и изменить пароли к нему, нажав соответствующую команду в контекстном меню:




  5. Terminal: Добавлена возможность установки уровней SL и TP на чарте c помощью перетаcкивания (drag'n'drop) торгового уровня соответствующей позиции. Наведите курсор мыши на уровень позиции на графике. Нажмите левую кнопку мыши и, удерживая ее, переместите уровень вверх или вниз.



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

  6. Terminal: Изменено расположение команд в меню "Окно". Теперь команда "Мозаикой" отображается первой, для нее добавлено сочетание горячих клавиш Alt+R. Данная команда также добавлена на стандартную панель инструментов.




  7. Terminal: В окне "Навигатор" объединены категории "Индикаторы" и "Пользовательские Индикаторы" в одну категорию "Индикаторы".



    Все пользовательские индикаторы, примеры, а также индикаторы, приобретенные в MetaTrader AppStore, теперь показываются вместе со встроенными техническими индикаторами. Четыре категории встроенных индикаторов всегда показываются первыми.

  8. Terminal: Переработано контекстное меню навигатора.

    Пункт "Логин" был переименован в "Подключиться к торговому счету". Авторизоваться в MQL5.community стало возможным не только через настройки терминала, но и с помощью контекстных меню раздела "Счета" и его подразделов.



    В контекстном меню счета также были произведены следующие изменения:
    • Перенесен на первое место пункт "Открыть счет".
    • Добавлен функционал "Изменить пароль".
    • Добавился пункт "Выделить виртуальный сервер".

  9. Terminal: Исправлено отображение графических объектов типа "Label" и "Bitmap Label" с точкой привязки, расположенной в одном из нижних углов графика.

  10. MQL5: Добавлена функция WebRequest() для работы с HTTP-запросами, благодаря которой MQL5-программы теперь могут взаимодействовать с различными сайтами и веб-службами.

    С помощью этой новой функции любой робот может обмениваться данными со сторонними сайтами, совершать сделки исходя из свежих новостей и записей экономического календаря, реализовывать аналитику, формировать и публиковать автоматические отчеты, считывать свежие котировки и многое другое, что раньше было доступно только с помощью сомнительных сторонних DLL. При этом для трейдеров все абсолютно безопасно, так как они сами могут контролировать список доверенных веб-сайтов, к которым разрешено обращаться программам.

    Функция WebRequest получает и отправляет информацию с веб-сайтов с помощью GET и POST-запросов. Чтобы разрешить MQL5-программе осуществлять такие запросы, необходимо включить опцию "Разрешить WebRequest для следующих URL" в настройках терминала и явным образом вручную прописать URL-адреса доверенных сайтов.




    По соображениям безопасности данная опция по умолчанию отключена.

  11. MQL5: Добавлены функции доступа к базе сигналов и управление подпиской на сигналы из MQL5-программ.

    Теперь вы можете непосредственно из MQL5-программы получить список сигналов, проанализировать их качество на основе собственных критериев, выбрать лучший и автоматически на него подписаться. Фактически, появился новый класс торговых роботов, которые периодически перебирают доступные сигналы и при необходимости подписываются на лучший в данный момент сигнал.

    Для этого в язык MQL5 были добавлены новые функции управления сигналами:

    • SignalBase*() — функции доступа к базе сигналов.
    • SignalInfo*() — функции получения настроек сигнала.
    • SignalSubscribe() и SignalUnsubscribe() — функции управления подпиской.

    Таким образом, теперь можно не только автоматически копировать сделки, но также автоматически выбирать сигналы для копирования.

    По умолчанию, для обеспечения безопасности, торговому роботу запрещено менять настройки сигнала. Чтобы активировать данную функцию, необходимо в свойствах советника проставить отметку "Разрешить изменение настроек сигналов".




  12. MQL5: Добавлены новые свойства клиентского терминала, доступные через функции TerminalInfo*:
    • TERMINAL_MQID - признак того, что в настройках терминала указан MetaQuotes ID.
    • TERMINAL_COMMUNITY_ACCOUNT - признак того, что в настройках указан аккаунт MQL5.community.
    • TERMINAL_COMMUNITY_CONNECTION - признак наличия соединения с сайтом MQL5.community.
    • TERMINAL_COMMUNITY_BALANCE - значение баланса на аккаунте MQL5.community.
    • TERMINAL_NOTIFICATIONS_ENABLED - признак разрешенности посылки уведомлений через MetaQuotes ID.

  13. MQL5: Добавлены функции работы с крипто-алгоритмами: CryptEncode() и CryptDecode(). Функции позволяют шифровать и расшифровывать данные, например, при пересылке данных по сети при помощи функции WebRequest(). Они также позволяют рассчитывать контрольные суммы и производить архивацию данных.

    Сигнатуры функций:
    int CryptEncode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);
    int CryptDecode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);
    Для работы с функциями также добавлено новое перечисление ENUM_CRYPT_METHOD:
    CRYPT_BASE64,      // шифрование BASE64 (перекодировка)
    CRYPT_AES128,      // шифрование AES с ключом 128 бит
    CRYPT_AES256,      // шифрование AES с ключом 256 бит
    CRYPT_DES,         // шифрование DES (длина ключа 56 бит - 7 байт)
    CRYPT_HASH_SHA1,   // расчет HASH SHA1
    CRYPT_HASH_SHA256, // расчет HASH SHA256
    CRYPT_HASH_MD5,    // расчет HASH MD5
    CRYPT_ARCH_ZIP,    // ZIP архивирование

  14. MQL5: Добавлена возможность изменения размера диалога свойств MQL5 программ.




  15. MQL5: Добавлена возможность отладки шаблонных функций.
  16. MQL5: Добавлено определение пользовательских индикаторов, исполняемых слишком медленно. Если индикатор работает медленно, в журнал выводится запись "indicator is too slow".
  17. MQL5: Исправлено значение, возвращаемое функцией IsStopped(). Функция служит для определения принудительной остановки MQL5-программ в пользовательских индикаторах. Ранее эта функция всегда возвращала FALSE.
  18. MQL5: Исправлены проверки входных параметров MQL5-программ по типу данных. В частности, для параметра типа uchar можно было указать значение более 255.
  19. MQL5: Исправлена ошибка в функции StringConcatenate().
  20. MQL5: Исправлена функция FileSize() для файлов, открытых на запись. Раньше функция возвращала размер файла без учета последних операций записи.
  21. MQL5: Проведена ревизия файловых операций, в результате которой достигнуто ускорение в работе с файлами.
  22. Signals: Исправлено копирование значений SL и TP у торговых позиций при различном числе знаков после запятой в цене по торговому инструменту у источника сигнала и подписчика.
  23. Signals: Исправлена ошибка при копировании торговых позиций у подписчиков сигнала с некорректными настройками торговых инструментов на стороне торгового сервера.
  24. Signals: Исправлено закрытие торговых позиций, открытых торговым сигналам, при падении значения Equity торгового счета ниже значения, указанного в параметрах копирования сигнала. В некоторых случаях закрытие позиций могло привести к зависанию терминала.
  25. MetaEditor: Оптимизирована работа с большими файлами исходного текста (десятки мегабайт). Увеличена скорость работы и снижено потребление памяти.
  26. MetaEditor: Исправлена навигация по исходному коду по комбинациям клавиш "Ctrl + -" и "Ctrl + Shift + -".
  27. Исправления по крешлогам.
  28. Обновлена документация.

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

 

Обновление платформы MetaTrader 5 build 975: Показ Expert ID

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

  1. Terminal: Добавлено отображение идентификатора торговой операции (магический номер), установленного экспертом. Идентификатор показывается в виде всплывающей подсказки в списке открытых позиций и ордеров, а также в истории торговли.




  2. Terminal: Оптимизирована работа с большим количеством торговых инструментов (тысячи и десятки тысяч).
  3. Terminal: Исправлено отображение алертов на ценовом графике. В некоторых случаях ценовой уровень алерта отображался в подокне индикатора.
  4. Terminal: Обновлены переводы интерфейса на китайский, турецкий и японский языки.
  5. Terminal: Исправлено отображение списка шаблонов графиков в основном меню приложения.
  6. Terminal: Исправлено отображение списка наборов торговых инструментов в контекстном меню окна "Обзор рынка".
  7. MQL5: Исправлены ошибки работы со встроенными структурами, приводившие к нарушению работы методов IndicatorParameters и MarketBookGet.
  8. MQL5: Исправлена ошибка преобразования типа из bool в string.
  9. MQL5: Исправлены ошибки работы с виртуальными функциями.
  10. MQL5: Исправлена ошибка в работе функций FileReadStruct и FileWriteStruct внутри библиотек EX5.
  11. MQL5: Исправлена ошибка компилятора, возникавшая при наличии ключевого слова в комментарии.
  12. Tester: Исправлен расчет свопов в пунктах при тестировании.
  13. Tester: Исправлена передача файла, определенного в #property tester_file. Ошибка возникала, если описанный файл находился в общей папке клиентских терминалов.
  14. Tester: У агентов тестирования, работающих в составе сети распределенных вычислений MQL5 Cloud Network, кардинально улучшен выбор ближайшего облачного сервера, что значительно ускоряет их работу.
  15. MetaEditor: Исправлена замена текста при сворачивании списка подсказок MetaAssist.
  16. Исправления по крешлогам.
  17. Обновлена документация.

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

 

Обновление платформы MetaTrader 5 build 1010: Новые сигналы, маркет и опционы

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

MetaTrader 5 Client Terminal build 1010
  1. Signals: Полностью переработана витрина сигналов. Добавлены новые функции, улучшен дизайн и повышено удобство работы с сигналами.



    Новые функции списка сигналов:

    • В списке сигналов появились графики прироста, аналогичные отображаемым на сайте MQL5.community. Зеленая иконка в левом нижнем углу графика означает, что сигнал создан на основе реального счета.
    • Теперь подписаться на сигнал можно прямо из списка. Для этого необходимо нажать кнопку с изображением цены (или надписью Free, если сигнал бесплатный). Сразу после этого будет показан диалог подтверждения подписки.
    • Теперь сигналы можно добавить в избранные. Нажмите кнопку с изображением звезды в конце строки сигнала. После этого сигнал можно будет легко найти на вкладке "Избранное".
    • Убрано контекстное меню. Сейчас чтобы найти сигнал, на который вы подписаны, зайдите в любой сигнал. На верхней панели будет указан сигнал, на который вы подписаны, и ссылка на него.

    Обновилась страница просмотра сигналов. Появилась возможность добавить сигнал в избранные. Общее состояние счета сигнала показывается при наведении курсора мыши на показатель "Прирост".

    Расширилась статистика по сигналу:

    • Общий объем средств подписчиков.
    • Срок жизни торгового счета с момента первой торговой операции.
    • Среднее время удержания позиции.



    Также добавились новые вкладки:

    • Риски - информация о наилучших и наихудших торговых операциях и сериях операций, а также о просадках.
    • Отзывы - отзывы подписчиков сигнала.
    • Новости - через данную вкладку провайдер может информировать подписчиков о любых изменениях в работе сигнала и публиковать другую полезную информацию.

  2. Market: Переработано представление продуктов в MetaTrader AppStore. Программы, журналы и книги получили новый дизайн. Появилась возможность добавления продуктов в Избранное. Нажмите кнопку с изображением звезды при просмотре продукта. После этого вы легко сможете его найти на вкладке "Избранное".




  3. Terminal: Добавлена доска опционов и график волатильности. Продолжаются работы по внедрению инструментов торговли опционами. В следующей версии планируется включить инструменты анализа опционных стратегий.




    Доска опционов
    На доске отображается серия опционов по дате истечения на базовый актив (класс опционов), выбранный в поле "Underlying". Для опционов отображаются следующие параметры:

    • Bid CALL - цена продажи опциона колл.
    • Ask CALL - цена покупки опциона колл.
    • Theo CALL - теоретическая (справедливая) цена опциона колл, рассчитанная для указанного страйка по историческим данным.
    • Strike - цена исполнения опциона (страйк).
    • Volatility -  подразумеваемая (implied) волатильность. Она указывается в процентах и характеризует ожидания участников рынка по поводу стоимости базового актива опциона.
    • Theo PUT - теоретическая (справедливая) цена опциона пут, рассчитанная для указанного страйка по историческим данным.
    • Bid PUT - цена продажи опциона пут.
    • Ask PUT - цена покупки опциона пут.

    График волатильности
    По горизонтальной оси данного графика откладываются страйки опциона, а по вертикальной - подразумеваемая волатильность.




  4. Terminal: Добавлен показ значений пинга в списке точек доступа.




  5. Terminal: Произведена адаптация интерфейса терминала для экранов с высоким разрешением - Full HD и выше. Меню, панели инструментов, заголовки окон и статусная строка теперь имеют достаточный размер для удобного просмотра и работы на сенсорных дисплеях Windows-планшетов.

  6. Terminal: Добавлена команда управления торговыми символами в меню "Вид" и на панели инструментов. Теперь настройки символов всегда под рукой:



  7. MQL5: Добавлено преобразование параметра макроса в строку и конкатенация параметра макроса. Ниже приведен пример, в котором конкатенация макросов позволяет организовать автоматическое удаление экземпляров класса.
    //+------------------------------------------------------------------+
    //|                                                     MacroExample |
    //|                        Copyright 2014, MetaQuotes Software Corp. |
    //|                                       http://www.metaquotes.net  |
    //+------------------------------------------------------------------+
    #property script_show_inputs
    input bool InpSecond=true;
    
    #define DEFCLASS(class_name) class class_name:public CBase{public:class_name(string name):CBase(name){}};
    #define TOSTR(x) #x
    #define AUTODEL(obj) CAutoDelete auto_##obj(obj)
    #define NEWOBJ(type,ptr) do { ptr=new type(TOSTR(ptr)); \
                             Print("Create object '",TOSTR(type)," ",TOSTR(ptr),"' by macro NEWOBJ"); } \
                             while(0)
    //+------------------------------------------------------------------+
    //| Базовый класс, необходим для автоудаления объектов               |
    //+------------------------------------------------------------------+
    class CBase
      {
    protected:
       string            m_name;
    
    public:
                         CBase(string name):m_name(name) { }
       string            Name(void) const{ return(m_name); }
    
      };
    //+------------------------------------------------------------------+
    //| Класс автоудаления объектов позволяет не следить за созданными   |
    //| объектами. Он удаляет их в своем деструкторе                     |
    //+------------------------------------------------------------------+
    class CAutoDelete
      {
       CBase            *m_obj;
    
    public:
                         CAutoDelete(CBase *obj):m_obj(obj) { }
                        ~CAutoDelete()
         {
          if(CheckPointer(m_obj)==POINTER_DYNAMIC)
            {
             Print("Delete object '",m_obj.Name(),"' by CAutoDelete class");
             delete m_obj;
            }
         }
      };
    //+------------------------------------------------------------------+
    //| Объявим два новых класса CFoo и CBar                             |
    //+------------------------------------------------------------------+
    DEFCLASS(CFoo);
    DEFCLASS(CBar);
    //+------------------------------------------------------------------+
    //| Основная функция скрипта                                         |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       CFoo *foo;
    //--- создадим объект класса CFoo
       NEWOBJ(CFoo,foo);
    //--- создадим экземпляр класса автоудаления объекта CFoo foo
       AUTODEL(foo);
    //---
       if(InpSecond)
         {
          CBar *bar;
          //---
          NEWOBJ(CBar,bar);
          AUTODEL(bar);
         }
    //--- Удалять foo не нужно, он будет удален автоматически
      }
    //+------------------------------------------------------------------+
    
  8. MQL5: Добавлено свойство OBJPROP_ANCHOR для графических объектов "Bitmap" и "Bitmap Label". Свойство определяет точку привязки графического объекта на графике: левый верхний угол, слева по центру, левый нижний угол, снизу по центру и т.д.
  9. MQL5: Добавлено чтение свойства графика CHART_BRING_TO_TOP (график показан поверх всех остальных) в функции ChartGetInteger.
  10. MQL5: Исправлены ошибки компиляции и генерации тернарного оператора "?".
  11. MQL5: Исправлена ошибка передачи статического массива - члена класса
  12. MQL5: Исправлено применение шаблона к списку инициализации членов класса шаблонного конструктора.
  13. Signals: Существенно смягчены ограничения при подписке на сигналы:

    Если в торговой истории сигнала есть символы, которых нет у подписчика, то подписка разрешается (ранее запрещалась). Действия с позициями, по которым у подписчика отсутствуют символы, игнорируются. При этом в журнал выводится информирующее сообщение:
    2014.08.26 16:44:29.036    '2620818': Signal - symbol GBPNZD not found
    Если у подписчика есть позиции и/или отложенные ордера, то показывается диалог предупреждения с предложением их закрыть/удалить (как и ранее). Однако теперь это не является обязательным условием продолжения работы с сигналами.



    Синхронизация с провайдером сигналов будет осуществлена. Позиции и ордера, открытые не по сигналу, на который осуществляется подписка, будут оставлены без изменения. Пользователь может проводить любые операции с ними.

    Теперь пользователи могут осуществлять торговые операции вручную (или советником), будучи подписанными на сигнал. Сервис сигналов будет игнорировать позиции и ордера, открытые трейдером.
    Следует учитывать, что выставление ордеров вручную влияет на объем доступной маржи на торговом счета. При открытии позиций вручную общая нагрузка на счет увеличивается по сравнению со счетом провайдера сигналов.
  14. Signals: Добавлена поддержка процента копирования объемов с плавающей точкой. Снижен минимальный процент копирования объемов у сигналов с 1% до 0.001%.
  15. Tester: Исправлены зависания агента тестирования при работе с облачной сетью MQL5 Cloud Network.
  16. Tester: Исправлен расчет свопов в пунктах при минимальных объемах торговой позиции.
  17. MetaEditor: Исправлена работа горячих клавиш для команд "Navigate Forward" и "Navigate Backward".
  18. MetaViewer: Исправлена навигация по страницам на панели инструментов.
  19. MetaViewer: Исправлен поиск текста с учетом текущего языка интерфейса.
  20. Исправления по крешлогам.
  21. Обновлена документация.

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

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