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

История обновлений десктопной, мобильной и веб-платформ

31 марта 2016
MetaTrader 5 Android build 1262
  1. В торговую платформу добавлена вторая система учета позиций — хеджинг. Она позволяет открывать множество позиций по одному инструменту, в том числе разнонаправленных. Теперь в одной платформе можно торговать и на бирже с неттингом, и на Форексе с одной из двух систем учета на выбор.

    Новая система учета — как в MetaTrader 4. При этом трейдеры могут использовать все преимущества пятой версии платформы — исполнение ордеров несколькими сделками (в том числе — частичное), стоп-лимитные ордера и многое другое.

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

  2. В новую версию также внесены многочисленные улучшения и исправления.
12 февраля 2016
MetaTrader 5 Android build 1224
  • В планшетную версию добавлено окно детальной информации о торговых операциях. Нажмите на ордер или сделку, чтобы посмотреть время открытия и закрытия с точностью до секунды, комментарий и размер брокерской комиссии.
  • Улучшена работа с новостями. Выбирайте категории новостей и читайте только то, что вам интересно. Добавляйте понравившиеся новости в избранное, чтобы вернуться к ним в любое время.
  • Добавлены разделители периодов для просмотра границ старших таймфреймов на графике.
  • Добавлена возможность отображения линии Ask на графике.
  • Добавлен перевод интерфейса на вьетнамский и корейский языки.
  • Увеличено максимальное количество объектов на графике.
  • Многочисленные исправления и улучшения.
3 февраля 2016
MetaTrader 5 iOS build 1225
  • Стала доступна портретная ориентация экрана в iPad. Теперь вам будет удобнее просматривать длинные списки торговых операций, читать почту и финансовые новости.
  • Нативная поддержка iPad Pro.
  • Добавлен перевод приложения на корейский язык.
17 декабря 2015
MetaTrader 5 build 1240: Ускорение работы и встроенные видеоролики

Виртуальный хостинг

  1. В диалог выделения виртуального сервера добавлена ссылка на обучающий видеоролик "Как арендовать виртуальную платформу". Посмотрите 2-минутное видео и узнайте, как просто запустить в работу торгового робота или копирование сигналов в режиме 24/7.


    Этот и многие другие видеоролики доступны на официальном канале MetaQuotes Software Corp. на YouTube.
  2. Исправлена ошибка миграции на хостинг при наличии вызова кастомного индикатора или EX5-библиотеки в кастомном индикаторе, который вызывается из эксперта.

Торговый терминал

  1. Ускорено обновление списка открытых ордеров и позиций при совершении торговых операций с высокой частотой (50 операций в секунду и более).
  2. Оптимизирована и значительно ускорена начальная синхронизация терминала с торговым сервером при большом (десятки тысяч) количестве торговых инструментов. Теперь после подключения вы можете начать работать быстрее.
  3. Оптимизировано и значительно уменьшено потребление памяти терминалом.
  4. Добавлено сохранение и восстановление настроек стакана цен при закрытии/открытии терминала.
  5. Исправлены артефакты, возникавшие в Windows 10 при перетаскивании окон терминала.
  6. Terminal: Исправлена работа контекстной справки для ряда команд и диалогов. Для вызова справки по конкретному элементу наведите на него курсор и нажмите F1.
  7. Продолжены работы по адаптации интерфейса к работе на экранах высокого разрешения (4К).

MQL5

  1. Для функций получения информации об ордерах и сделках OrderGetString, HistoryOrderGetString и HistoryDealGetString добавлены новые свойства:

    • ORDER_EXTERNAL_ID - идентификатор ордера во внешней торговой системе (на бирже).
    • DEAL_EXTERNAL_ID - идентификатор сделки во внешней торговой системе.

  2. Исправлена работа функции ZeroMemory при работе со структурами и классами. В некоторых случаях очистка памяти не производилась.
  3. Добавлены коды ошибки при работе функции SendFTP. Функция посылает файл по адресу, указанному в окне настроек на закладке "FTP".

    • ERR_FTP_NOSERVER - не задан ftp-сервер в настройках
    • ERR_FTP_NOLOGIN - не задан ftp-логин в настройках
    • ERR_FTP_FILE_ERROR - файл не существует
    • ERR_FTP_CONNECT_FAILED - не удалось подключиться к ftp-серверу
    • ERR_FTP_CHANGEDIR - на ftp-сервере не найдена директория для выгрузки файла
    • ERR_FTP_CLOSED - подключение к ftp-серверу закрыто

  4. Исправлена проверка доступности приведения объектов по наследованию от потомка к предкам.
  5. Исправлен ряд ошибок в шаблонах классов.
  6. Исправлена ошибка при запросе тиков функцией CopyTicks. При указании параметра COPY_TICKS_TRADE (копировать только торговые тики) для последовательно идущих одинаковых торговых тиков (с одним объемом и одной ценой last) отдавался только первый из них.
  7. Исправлена ошибка в определении размера переменной пользовательского типа.
  8. Исправлена ошибка использования ZLib в функции CryptDecode, приводившая к бесконечному циклу распаковки.

Tester

  1. Исправлена ошибка синхронизации ценовой истории по торговому инструменту, отличному от основного инструмента тестирования.
  2. Исправлено дублирование торговой транзакции TRADE_TRANSACTION_DEAL_ADD (добавление сделки в историю) в обработчике событий OnTradeTransaction.
  3. Изменено поведение форвард-тестирования при генетической оптимизации. Теперь в форвард-проходах участвуют все уникальные результаты, полученные после генетической оптимизации. Ранее использовалась только 1/4 результатов.

MetaEditor

  1. MetaEditor: В Мастер MQL5 добавлена ссылка на обучающий видеоролик "Как собрать торгового робота в Мастере MQL5". Посмотрите 3-минутное видео и создайте торгового робота, не написав ни одной строчки кода.


    Этот и многие другие видеоролики доступны на официальном канале MetaQuotes Software Corp. на YouTube.
  2. Исправлена работа команд упорядочивания открытых окон, если одно из окон полностью развернуто. Через меню "Окно" открытые файлы можно расположить мозаикой, вертикально, горизонтально и каскадом.
  3. Продолжены работы по адаптации интерфейса к работе на экранах высокого разрешения (4К).
Обновлена документация.
11 ноября 2015
MetaTrader 5 iPhone build 1171
Исправления и улучшения.
3 ноября 2015
MetaTrader 5 Android build 1172
  1. Масштабировать графики валютных пар стало еще удобнее: увеличилось количество шагов и повысилась плавность отображения.

    MetaTrader 5 Android build 1172: удобное масштабирование графиков и накопленный процент в свойствах облигаций

  2. Все изменения в наборе символов и их порядке в Market Watch, а также в настройках чартов (масштаб, цветовая схема, список объектов и список индикаторов), теперь запоминаются после закрытия приложения любым способом.
  3. В свойствах облигации теперь показываются номинал выпуска и накопленный купонный доход.
30 октября 2015
MetaTrader 5 build 1210: Доработка стакана цен и общие исправления

Торговый терминал

  1. Добавлена возможность выставления лимитных ордеров хуже рынка в стакане цен. Это позволяет получить гарантированное исполнение ордера по указанной цене на биржевых рынках.

    Если перетащить лимитный ордер через границу заявок на покупку и продажу, он изменится на стоп-ордер (Buy Limit заменяется на Buy Stop, а Sell Limit заменяется на Sell Stop). Теперь чтобы лимитный ордер не заменялся на стоп-ордер, удерживайте клавишу Crtl при перетаскивании.




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




  3. Исправлена ошибка, в некоторых случаях приводившая к конфликтам всплывающих подсказок с другими приложениями.

MQL5

  1. Исправлена работа функций копирования исторических данных Copy* с динамическими массивами с флагом AS_SERIES. Флаг выставляется функцией ArraySetAsSeries и указывает, что индексация элементов массива будет производиться как в таймсериях.
  2. Изменено свойство CHART_SHOW_ONE_CLICK, для работы с которым используются ChartSetInteger и ChartGetInteger. Ранее оно позволяло показать/скрыть панель быстрой торговли на графике. Теперь это свойство дополнительно показывает и скрывает кнопки вызова панели быстрой торговли и стакана цен на графике (аналогично опции "Показывать кнопки быстрой торговли" в настройках графика).
  3. Исправлен ряд ошибок в работе шаблонов.
Обновлена документация.
23 октября 2015
MetaTrader 5 build 1200: тиковая история и оплата сервисов напрямую

Торговый терминал

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


    Для автоматического получения более глубокой тиковой истории используйте функцию CopyTicks(), ее работа изменена таким образом, что запрашивает и загружает отсутствующую историю при ее наличии на торговом сервере.

  2. На графике рядом с панелью "Торговля одним кликом" добавлена иконка для быстрого включения/выключения стакана цен.  Вы можете также пользоваться новым хоткеем Alt+B, который  работает не только на самом графике, но и в окне Market Watch - в этом случае открывается стакан цен по тому символу, который выделен в Обзоре рынка.



  3. Добавлена запись в журнал о характеристиках компьютера и операционной системы на старте клиентского терминала. Пример:
    2015.10.14 14:48:18.486	Data Folder: C:\Program Files\MetaTrader 5
    2015.10.14 14:48:18.486	Windows 7 Professional (x64 based PC), IE 11.00, UAC, 8 x Intel Core i7  920 @ 2.67GHz, RAM: 8116 / 12277 Mb, HDD: 534262 / 753865 Mb, GMT+03:00
    2015.10.14 14:48:18.486	MetaTrader 5 build 1190 started (MetaQuotes Software Corp.)
  4. Улучшена работа с символами в "Обзоре рынка" (Market Watch):

    • Добавлен показ количества символов в Market Watch и общего доступного числа символов на торговом сервере
    • Добавлена строка добавления нового символа с интеллектуальным списком вариантов на выбор
    • В строке добавления поиск производится не только по имени символа, но также по его описанию и международному имени.


  5. Добавлена поддержка календаря экономических событий на нескольких языках.
  6. Добавлены недостающие пиктограммы стран в экономическом календаре.
  7. Добавлены горячие клавиши для вызова окна управления символами в Обзоре рынка - Ctrl+U.
  8. Исправлено упорядочивание открытых окон графиков командами в меню "Window".
  9. Исправлена ошибка, когда терминал в некоторых случаях не мог найти файл сертификата при использовании расширенной аутентификации.
  10. Исправлена ошибка, приводившая в некоторых случаях к зацикливанию синхронизации ценовой истории.
  11. Исправлена ошибка, приводившая к занулению уровней StopLoss/TakeProfit у ранее открытой позиции при увеличении ее объема, если инструмент торгуется в режиме Request Execution.
  12. В стакане цен исправлена проверка возможности выставления ордеров на продажу при наличии длинной позиции по инструментам с режимом торговли "Long only".
  13. Исправлена работа функции Trailing Stop. В некоторых редких случаях защитный Stop Loss мог неправильно подтягиваться для открытой позиции.
  14. Продолжены работы по адаптации интерфейса к работе на экранах высокого разрешения (4К).
  15. Исправлена ошибка, приводившая к выгрузке исторических данных как неиспользуемых, несмотря на регулярные обращения к данным из MQL5 программ.
  16. Исправлено отображения ряда элементов пользовательского интерфейса при работе в Windows 10.
  17. Обновлены переводы пользовательского интерфейса.

Маркет

  1. Переработана и оптимизирована работа с базой продуктов MQL5 Market.
  2. Добавлен запрет на покупку без MQL5.community аккаунта при использовании терминала в среде виртуальной машины. Теперь для покупки необходимо указать аккаунт MQL5.community в настройках терминала: Сервис - Настройки - Сообщество.
  3. Добавлена прямая покупка продуктов с помощью платежной системы UnionPay.
  4. Добавлено расширенное журналирование при покупке продуктов в MQL5 Market.

Виртуальный хостинг и Сигналы

  1. Теперь виртуальный хостинг и подписку на торговые сигналы можно оплатить напрямую через платежные системы.
    Для оплаты хостинга не обязательно заходить на MQL5.community и пополнять аккаунт. Теперь вы можете сразу оплатить услугу в одной из платежных систем прямо в платформе.


    Выберите подходящую систему и проведите платеж:


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


    Нужная сумма будет сначала зачислена на ваш MQL5.community аккаунт, а затем с него будет произведена оплата. Таким образом, вы всегда сможете иметь прозрачную и понятную историю арендованных хостингов и подписок на сигналы, а также видеть все свои платежи за сервисы MQL5.community.
  2. Добавлено управление виртуальным хостингом (кроме миграции) при работе в 32-х битной версии клиентского терминала.
  3. Исправлена миграция настроек FTP-экспорта на виртуальный хостинг, независимо от разрешения публикации по FTP.

MQL5

  1. Включен новый оптимизирующий компилятор. В 64-битных платформах исполнение программ ускорено до 5 раз. MQL5-программы необходимо перекомпилировать в последней версии MetaEditor.
  2. Расширен формат структуры MqlTick. Теперь в ней передается время прихода тика в миллисекундах, а также флаги, позволяющие определить, какой именно параметр тика изменился.
    struct MqlTick
      {
       datetime     time;          // Время последнего обновления цен
       double       bid;           // Текущая цена Bid
       double       ask;           // Текущая цена Ask
       double       last;          // Текущая цена последней сделки (Last)
       ulong        volume;        // Объем для текущей цены Last
       long         time_msc;      // Время последнего обновления цен в миллисекундах
       uint         flags;         // Флаги тиков
      };
    У каждого тика всегда заполняются все параметры, независимо от того, изменились ли данные по сравнению с предыдущим тиком. Это позволяет всегда иметь актуальное состояние цен на любой момент времени без поиска предыдущих значений по тиковой истории. Например, с тиком могла измениться только цена бид, но в структуре помимо новой цены будут указаны и остальные параметры: предыдущая цена аск, объем и т.д. Чтобы узнать, какие именно данные изменились с текущим тиком, анализируйте его флаги:

    • TICK_FLAG_BID - тик изменил цену бид
    • TICK_FLAG_ASK  - тик изменил цену аск
    • TICK_FLAG_LAST - тик изменил цену последней сделки
    • TICK_FLAG_VOLUME - тик изменил объем
    • TICK_FLAG_BUY - тик возник в результате сделки на покупку
    • TICK_FLAG_SELL - тик возник в результате сделки на продажу

    Структура MqlTick используется в двух методах:

    • CopyTicks - метод не поддерживает старый формат структуры. Скомпилированные ранее файлы EX5, использующие старый формат тика, при вызове функции CopyTicks будут возвращать ошибку 4006 (ERR_MQL_INVALID_ARRAY).
    • SymbolInfoTick - метод поддерживает и старый, и новый формат структуры.

  3. Добавлены шаблоны классов, что позволяет создавать параметризованные классы как в C++. Это позволяет добиться еще большего абстрагирования и использовать один и тот же код для работы с объектами разных классов единообразно. Пример использования:
    //+------------------------------------------------------------------+
    //|                                                    TemplTest.mq5 |
    //|                        Copyright 2015, MetaQuotes Software Corp. |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2015, MetaQuotes Software Corp."
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    //+------------------------------------------------------------------+
    //| Объявляем шаблонный класс                                        |
    //+------------------------------------------------------------------+
    template<typename T>
    class TArray
      {
    protected:
       T                 m_data[];
    
    public:
    
       bool              Append(T item)
         {
          int new_size=ArraySize(m_data)+1;
          int reserve =(new_size/2+15)&~15;
          //---
          if(ArrayResize(m_data,new_size,reserve)!=new_size)
             return(false);
          //---
          m_data[new_size-1]=item;
          return(true);
         }
       T                 operator[](int index)
         {
          static T invalid_index;
          //---
          if(index<0 || index>=ArraySize(m_data))
             return(invalid_index);
          //---
          return(m_data[index]);
         }   
      };
    //+------------------------------------------------------------------+
    //| Шаблонный класс массива указателей, в деструкторе он удаляет     |
    //| объекты, указатели на которые хранились в нём.                   |
    //|                                                                  |
    //| Обратите внимание на наследование от шаблонного класса TArray    |
    //+------------------------------------------------------------------+
    template<typename T>
    class TArrayPtr : public TArray<T *>
      {
    public:
       void             ~TArrayPtr()
         {
          for(int n=0,count=ArraySize(m_data);n<count;n++)
             if(CheckPointer(m_data[n])==POINTER_DYNAMIC)
                delete m_data[n];
         }
      };
    //+------------------------------------------------------------------+
    //| Объявим класс, указатели на его объекты будем хранить в массиве  |
    //+------------------------------------------------------------------+
    class CFoo
      {
       int               m_x;
    public:
                         CFoo(int x):m_x(x) { }
       int               X(void) const { return(m_x); }
      };
    //+------------------------------------------------------------------+
    //|                                                                  |
    //+------------------------------------------------------------------+
    TArray<int>     ExtIntArray;   // инстанцируем шаблон TArray (специализируем шаблон TArray типом int)
    TArray<double>  ExtDblArray;   // инстанцируем шаблон TArray (специализируем шаблон TArray типом double)
    TArrayPtr<CFoo> ExtPtrArray;   // инстанцируем шаблон TArrayPtr (специализируем шаблон TArrayPtr типом CFoo)
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
    //--- наполняем массивы данными
       for(int i=0;i<10;i++)
         {
          int integer=i+10;
          ExtIntArray.Append(integer);
          
          double dbl=i+20.0;
          ExtDblArray.Append(dbl);
          
          CFoo *ptr=new CFoo(i+30);
          ExtPtrArray.Append(ptr);
         }
    //--- выведем содержимое массивов
       string str="Int:";
       for(int i=0;i<10;i++)
          str+=" "+(string)ExtIntArray[i];      
       Print(str);   
       str="Dbl:";
       for(int i=0;i<10;i++)
          str+=" "+DoubleToString(ExtDblArray[i],1);
       Print(str);   
       str="Ptr:";
       for(int i=0;i<10;i++)
          str+=" "+(string)ExtPtrArray[i].X();      
       Print(str);
    //--- созданные через new объекты CFoo удалять не нужно, они удалятся в деструкторе объекта TArrayPtr<CFoo>  
      }
    Результат выполнения:
    TemplTest (EURUSD,H1)    Int: 10 11 12 13 14 15 16 17 18 19
    TemplTest (EURUSD,H1)    Dbl: 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0
    TemplTest (EURUSD,H1)    Ptr: 30 31 32 33 34 35 36 37 38 39

  4. Добавлены новые операции * и & - соответственно, появилось получение переменной по ссылке и получение ссылки на переменную.
  5. Добавлена перегруженная форма функции ObjectsDeleteAll - удаление по префиксу имени в подокне графика всех объектов указанного типа.
    int  ObjectsDeleteAll(
       long           chart_id,   // идентификатор графика
       const string     prefix,   // префикс имени объекта
       int       sub_window=-1,   // индекс окна
       int      object_type=-1    // тип объекта для удаления
       );
  6. Исправлена работа функции ObjectGetValueByTime. Ранее в некоторых случаях (например, для горизонтальной трендовой линии) некорректно возвращалось значение цены по времени на чарте.
  7. Исправлена работа Copy* функций при отсутствии исторических данных на сервере. Ранее при отсутствии данных на сервере вызов этих функций приводил к задержке на 30-50 секунд, прежде чем вернуть управление.
  8. Внесен ряд исправлений в стандартную библиотеку MQL5.
  9. Документация по Стандартной библиотеке переведена на немецкий, французский, китайский, турецкий, испанский и португальский языки.
  10. Добавлена документация MQL5 на японском языке.

Tester

  1. Теперь выбирать программы для запуска в тестере стратегий стало гораздо удобнее. Список показывается в виде дерева в соответствии с каталогами, в которых находятся советники и индикаторы.


  2. Отображение некоторых индикаторов при визуальном тестировании приведено в соответствие с клиентским терминалом.
  3. Исправлена ошибка выставления плеча и таймфрейма графика при отладке MQL5-программ через тестер стратегий.
  4. Исправлена отладка индикаторов при тестировании на исторических данных.

Исправления по крешлогам.

Обновлена документация.
17 сентября 2015
MetaTrader 5 iPhone build 1167
  1. Работать с аналитическими объектами стало удобнее. Теперь они строятся только на текущем графике, для отображения на других символах используйте настройки. Для оптимального использования пространства выключите показ объектов на ненужных таймфреймах.
  2. Просматривайте границы старших таймфреймов на графике, включив разделители периодов.
  3. Улучшена совместимость с iOS 9.

28 августа 2015
MetaTrader 5 iOS build 1165
  1. Улучшена работа с новостями. Выбирайте категории новостей и читайте только то, что вам интересно. Добавляйте понравившиеся новости в избранное, чтобы вернуться к ним в любое время. Используйте поиск по заголовкам новостей.
  2. Теперь в iPhone можно совершать сделки одним нажатием с графика — поверните его горизонтально и откройте панель быстрой торговли.

    MetaTrader 5 iOS build 1165

  3. Добавлена возможность закрытия позиций по Collateral инструментам, что позволяет сконвертировать соответствующие активы в валюту депозита.
  4. Многочисленные исправления и улучшения.
Обновите свое приложение, чтобы получить новые возможности в своем MetaTrader 5 iOS.
26 августа 2015
MetaTrader 5 Android build 1164
  1. Добавлено 24 новых графических объекта для проведения технического анализа: линии, каналы, инструменты Ганна и Фибоначчи, волны Эллиота, геометрические фигуры.

    Новый MetaTrader 5 Android: 24 аналитических объекта и двухфакторная авторизация OTP

  2. Добавлена поддержка двухфакторной авторизации (OTP) для подключения к торговому счету
  3. Различные исправления и улучшения
24 июня 2015
MetaTrader 5 Android build 1130
  1. Добавлена внутренняя почта для связи со службой технической поддержки брокера.
  2. Добавлена возможность отправки журналов в службу технической поддержки разработчика приложения.
  3. Различные исправления и улучшения.

Полный текст новости читайте здесь.


3 июня 2015
MetaTrader 5 build 622: Купить роботов в Маркете стало проще и быстрее!

Теперь любое приложение в Маркете можно купить в один шаг без регистрации прямо в платформах MetaTrader 4/5. Для этого нужно лишь нажать кнопку "Купить" и выбрать подходящую платежную систему.


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


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

Теперь вы точно знаете самый простой и быстрый способ получить торгового робота. Более 5 000 различных приложений для MetaTrader уже ждут вас в Маркете - выбирайте и покупайте!


3 июня 2015
MetaTrader 5 iPhone build 1127
  1. Добавлена поддержка специального вида неторгуемых инструментов, которые можно использовать в качестве активов для обеспечения открытых позиций по другим инструментам. Такие активы отображаются в виде открытых позиций. Они увеличивают размер свободной маржи, что позволяет увеличить объемы торговых операций на счете.
  2. Добавлен перевод интерфейса на хинди.
  3. Различные исправления и улучшения.
22 мая 2015
MetaTrader 5 build 1150: Простые покупки в Маркете, отладка на истории и лента сделок

Маркет

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

    Покупка за один шаг
    Для совершения покупки не обязательно заходить на MQL5.community и пополнять аккаунт. Теперь вы можете сразу оплатить продукт в одной из платежных систем прямо в платформе. Чтобы вы всегда имели прозрачную и понятную историю покупок в Маркете, а не искали их по разным платежным системам, нужная сумма будет сначала зачислена на ваш MQL5.community аккаунт, а затем с него будет оплачен продукт.

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




    Покупка без регистрации
    Теперь совершить покупку в Маркете можно без аккаунта MQL5.community. Просто нажмите "Купить" и оплатите продукт через одну из платежных систем.



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



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

MetaEditor

  1. Добавлена возможность отладки экспертов и индикаторов на исторических данных. Ранее отладка осуществлялась только на графиках, обновляющихся в режиме реального времени.

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

    Задайте нужные параметры для отладки в настройках MetaEditor: символ, таймфрейм, интервал, режимы исполнения и генерации тиков, а также начальный депозит и плечо. Именно с этими параметрами будет запущено визуальное тестирование.



    Расставьте точки останова в коде программы, а затем запустите отладку на исторических данных.



    После этого будет запущено визуальное тестирование и начнется процесс отладки.




Виртуальный хостинг

  1. В работу сервиса "Виртуальный Хостинг" внесено множество улучшений и исправлений.

    Значительная часть изменений коснулась работы в Wine на компьютерах с ОС Linux и Mac OS. Теперь виртуальный сервер успешно выделяется, и с ним можно работать в обычном режиме: производить миграцию, следить за потреблением ресурсов и просматривать логи.


    Изменения также коснулись работы с журналом. Если запрашивается слишком большое количество записей, то загружается только часть первых записей за указанный период. Это предотвращает снижение производительности при слишком объемных логах. Теперь, чтобы загрузить более поздние записи журнала, не нужно изменять даты запроса, а достаточно в окне просмотра выделить последнюю строку и нажать клавишу PgDn.




Торговый терминал

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

    Такие активы отображаются в виде открытых позиций, а стоимость определяется по формуле: Contract size * Lots * Market Price * Liquidity Rate, где:

    • Contract size - размер контракта
    • Lots - объем в лотах
    • Market Price - текущая рыночная цена инструмента
    • Liquidity Rate - коэффициент ликвидности - доля от стоимости актива, которую брокер разрешает использовать в качестве залога


    Активы (Assets) прибавляются к собственным средствам (Equity) и увеличивают размер свободной маржи (Free Margin), что позволяет увеличить объемы торговых операций на счете.

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


    В приведенном примере трейдер имеет 1 унцию золота, которая по текущей рыночной стоимости оценивается в 1 210.56 USD. Это значение прибавлено к собственным средствам и к свободной марже. Таким образом, трейдер может продолжать торговлю даже при нулевом балансе.

  2. Новый стакан цен с тиковым графиком и отображением ленты сделок Time&Sales на графике.

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

    • Красные круги - сделки на продажу
    • Синие круги - сделки на покупку
    • Зеленые круги - направление сделки не определено. Используются, когда биржа не транслирует направление сделок. В этом случае направление определяется по цене сделки относительно цен аск и бид. Покупка - если сделка совершена по цене аск или выше, продажа - если по цене бид или ниже. Направление считается неопределенным, если цена сделки находится между бид и аск.

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



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

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



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

    Для удобства список символов автоматически сортируется:

    • сначала инструменты без даты истечения
    • затем с датой истечения, начиная с ближайшей даты
    • затем истекшие, начиная с последнего истекшего
    • далее в алфавитном порядке

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



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

    При этом также происходит замена символов в соответствующих открытых графиках, но только если на них не запущены эксперты.

  4. Исправлено обновление состояний кнопок торговли в стакане цен в зависимости от наличия/отсутствия позиции и разрешения на открытие только длинных позиции. При отсутствии позиций кнопка Close становится неактивной. При запрете открытия коротких позиций неактивной становится кнопка Sell.

  5. Продолжены работы по адаптации интерфейса к работе на экранах высокого разрешения (4К).
  6. Исправлены ошибки при проверке объема закрываемой позиции в режиме Request Execution, когда объем сделки меньше минимально допустимого.
  7. Исправлена ошибка, в результате которой в некоторых случаях можно было запускать несколько экземпляров терминала из одного каталога.
  8. Добавлена поддержка и автоматическая фильтрация календаря экономических событий на разных языках. Фильтрация осуществляется по языку интерфейса терминала.
  9. В просмотрщик журнала добавлена возможность поиска по выведенным записям журнала.



    Поиск слова/фразы осуществляется только по выведенным записям журнала.
  10. Добавлен перевод клиентского терминала на тайский язык.
  11. Обновлен перевод клиентского терминала на хинди.

MQL5

  1. Добавлена новая функция GetMicrosecondCount - возвращает количество микросекунд, прошедших с момента начала работы MQL5-программы:
    ulong  GetMicrosecondCount();
    Данная функция может быть использована для дополнительной профилировки исполнения программы и выявления "узких мест".

  2. В перечисление ENUM_OPENCL_PROPERTY_INTEGER добавлено свойство графика CL_BUFFER_SIZE, которое возвращает реальный размер буфера OpenCL в байтах. Свойство можно получить при помощи функции CLGetInfoInteger.
  3. Модифицировано уведомление об ошибках в функции WebRequest. В случае ошибки использования функции массив result будет содержать описание ошибки.
  4. Исправлен ряд ошибок при компиляции макросов.
  5. Функции сортировки и поиска в массиве ArraySort, ArrayBsearch, ArrayMinimum и ArrayMaximum теперь работают и с многомерными массивами. Сортировка и поиск происходят только по первому (нулевому) индексу массива. Ранее эти функции работали только с одномерными массивами.

Tester

  1. Внесен ряд исправлений и улучшений в работу визуального тестирования. Теперь регулировка скорости тестирования через панель инструментов происходит более плавно.

Исправления по крешлогам.

Обновлена документация.

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

1 мая 2015
MetaTrader 5 iPhone build 1105
  1. Добавлена поддержка 64-битных процессоров.
  2. Оптимизирован внутренний чат: улучшена синхронизация сообщений и обновлен дизайн.
  3. Добавлена возможность создания анонимного демо-счета для быстрого начала работы с программой. Открытие счета не требует указания регистрационных данных и выполняется одним нажатием.
  4. Улучшена работа с новостями: автоматическая фильтрация по языку, улучшенное представление содержимого новостей.
  5. Увеличена скорость отправки торгового запроса.
  6. Добавлена возможность отображения линии Ask на графике.
  7. Добавлена отдельная категория сообщений для получения уведомлений по виртуальному хостингу.
  8. Добавлены переводы пользовательского интерфейса на тайский, вьетнамский, малайский и украинский языки.
  9. Многочисленные исправления и улучшения.

Оцените все эти изменения сами — обновите MetaTrader 5 iOS прямо сейчас.

20 марта 2015
Обновление платформы MetaTrader 5 build 1100: Ускорение тестирования и оптимизации экспертов

Tester

  1. В менеджере агентов добавлен показ состояния подключения к MQL5 Cloud Network. Установив агентов, пользователи смогут легко удостовериться, что они могут получать задания из сети облачных вычислений.


    Добавлен показ состояния подключения к MQL5 Cloud Network


  2. Произведен ряд улучшений и исправлений в работе тестера стратегий. Значительно уменьшены потери времени на промежуточные подготовительные операции и сетевые задержки. Ускорено тестирование и оптимизация во всех режимах: при работе с локальными агентами тестирования, с фермой агентов в локальной сети и при использовании MQL5 Cloud Network.

Торговый терминал

  1. Добавлен показ числа непрочитанных писем на вкладке "Почта" в окне "Инструменты".


    Добавлен показ непрочитанных писем


  2. В окне "Навигатор" для активного торгового счета добавлен показ списка запущенных экспертов. Для каждого советника указывается график, на котором он запущен. Иконкой показывается, разрешена ли советнику авто-торговля.


    Добавлен показ списка запущенных экспертов


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

Market

  1. Исправлены ошибки обновления баланса MQL5-аккаунта после покупки или аренды продукта.

Virtual Hosting

  1. Исправлены ошибки миграции пользовательских индикаторов в окружение виртуального хостинга.
  2. Исправлена ошибка обновления статуса виртуального хостинга в окне "Навигатор".

MQL5

  1. Исправлены ошибки, в некоторых случаях приводившие к невозможности оптимизации экспертов в MQL5 Cloud Network.
  2. Исправлен вызов OnDeinit при удалении эксперта с помощью функции ExpertRemove во время тестирования. Ранее при описанных условиях событие OnDeinit не вызывалось.
  3. Исправлены ошибки при работе с ресурсами в EX5 библиотеках.
  4. Исправлены ошибки при анализе макросов.

Исправления по крешлогам.

Обновлена документация.

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

16 февраля 2015
Обновление платформы MetaTrader 5 build 1085

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

MetaTrader 5 Client Terminal build 1085

  1. Terminal: Стал доступен сервис Virtual Hosting. Теперь прямо из клиентского терминала можно взять в аренду виртуальный сервер для своего торгового счета. Обеспечивать постоянное подключение к торговому серверу и бесперебойное питания компьютера для работы советников и копирования сигналов стало еще проще.

    Хостинг виртуальных серверов осуществляется компаниями-партнерами MetaQuotes Software Corp.

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



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


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

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

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

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

    • Графики и обзор рынка - скройте из обзора рынка все ненужные для работы торговые инструменты, чтобы уменьшить трафик. Закройте все ненужные графики. В настройках терминала задайте нужное значение "Макс. баров в окне" - после этого требуется перезагрузка терминала.
    • Индикаторы и советники - набросьте на графики все необходимые советники и индикаторы. Купленные в Маркете продукты, запущенные на графике, также переносятся при миграции. При этом они работают в полноценном режиме, но лицензии для активации не тратятся. Все внешние параметры экспертов и индикаторов должны быть заданы правильно.
    • Почта, FTP и Сигналы - если советник должен отправлять почту, выкладывать данные по FTP или копировать сделки по подписке, то необходимо прописать все нужные настройки. Обязательно укажите правильные логин и пароль вашего аккаунта в MQL5.community в закладке Сообщество. Это необходимо для копирования сигналов.
    • Разрешение на торговлю и копирование сигналов - на виртуальном терминале всегда стоит разрешение на автоматическую торговлю. Для работы с сигналами следует задать параметры копирования в разделе Сигналы.
    • Запросы WebRequest - если программа, предназначенная для работы в виртуальном терминале, использует функцию WebRequest для отправки HTTP-запросов, то необходимо в разделе Советники поставить разрешение и перечислить все доверенные URL.


    Миграция
    Миграцией называется процесс переноса текущего активного окружения с клиентского терминала на виртуальный.

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

    Для проведения синхронизации вызовите контекстное меню счета и выберите тип миграции.



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

    При выполнении миграции вся информация записывается в лог клиентского терминала.

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


    Работа с виртуальным терминалом
    Контроль состояния арендованного виртуального сервера легко осуществляется также из клиентского терминала. В контекстном меню необходимо вызвать команду "Подробности".

    Информация представлена на четырех вкладках:

    • Details - данные о виртуальном сервере и активном окружении терминала на нем.
    • CPU Usage - график загрузки центрального процессора в %.
    • Memory Usage - график использования оперативной памяти в MB.
    • Hard Disk Usage - график использования жесткого диска в MB.
    Более подробная информация о сервисе представлена в статье "Подготовка торгового счета к миграции на виртуальный хостинг", а также в "Правилах пользования сервисом Виртуальный хостинг".

  2. Market: Теперь в MetaTrader Маркет стала возможна аренда продуктов на срок 1, 3, 6 или 12 месяцев. Это дает неоспоримые преимущества и разработчикам, и покупателям. Авторы смогут значительно повысить доверие пользователей к своим продуктам, дав им возможность полноценно проверить работу за небольшую стоимость. Для покупателей аренда это еще одна возможность удостовериться в правильности выбора программы. В отличие от демо-версий, арендованные продукты не обладают никакими ограничениям в работе кроме срока действия.

    Любой разработчик в Маркете может выбрать, будет ли его продукт предоставляться в аренду и какова будет стоимость этой аренды.



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

    Если для продукта разрешена аренда, на его странице показываются возможные ее варианты: сроки и стоимость. Нажмите "Арендовать" и выберите срок аренды.

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

  3. Terminal: Теперь при сохранении скриншота графика через терминал функцией "Сохранить как...", а также через MQL5 функцией Screenshot() на изображение не накладывается копирайт "MetaTrader 5, @ 2001-2015 MetaQuotes-Software Corp." Это облегчит распространение скриншотов.

  4. Terminal: Исправлены ошибки в расчете и управлении настройками встроенного технического индикатора Gator Oscillator.
  5. Terminal: Улучшено сканирование точек подключения к торговому серверу.
  6. Terminal: Исправлены ошибки при работе LiveUpdate, проявлявшиеся в некоторых случаях.
  7. MQL5: В перечисление ENUM_SIGNAL_BASE_STRING добавлено свойство сигнала SIGNAL_BASE_CURRENCY - валюта депозита поставщика сигнала. Свойство можно получить при помощи функции SignalBaseGetString.
  8. MQL5: Исправлены ошибки компиляции при определении прав доступа к членам родительского класса при наследовании.
  9. MQL5: Исправлена ошибка компиляции при перегрузки методов класса по константности параметров.
  10. Tester: Оптимизирована работа агентов сети облачных вычислений MQL5 Cloud Network. Теперь агенты не затрачивают время на так называемый "разогрев" - подключение к серверам облачной сети, распределяющим задания. Теперь агенты постоянно находятся в состоянии готовности получить и выполнить задание. Это позволяет ускорить время оптимизации через MQL5 Cloud Network.
  11. Tester: Улучшено представление локальных, удаленных и облачных агентов в тестере стратегий.
  12. Исправления по крешлогам.
  13. Обновлена документация.

MetaTrader 5 Android build 1052

В Google Play стала доступна новая версия мобильного терминала MetaTrader 5 для Android. В ней исправлены некоторые ошибки и улучшена стабильность работы. В ближайших версиях планируется добавление аналитических объектов и системы обмена сообщениями.

Загрузить приложение можно по ссылке: https://download.mql5.com/cdn/mobile/mt5/android?hl=ru&utm_source=www.metatrader5.com


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

16 января 2015
MetaTrader 5 Trading Terminal build 1045: Новый WebRequest

Торговый терминал

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




  2. Агенты тестирования переведены на работу только в 64-разрядных системах. Данное решение обусловлено необходимостью следовать развитию IT-индустрии. Отказ от старых технологий в пользу новых позволит увеличить производительность вычислений и даст возможность дальнейшему развитию сети облачных вычислений MQL5 Cloud Network.


    Изменения в компонентах платформы:

    • В 32-битных версиях терминалов станет недоступно использование удаленных агентов и агентов сети MQL5 Cloud Network. Вместо списка этих агентов будет отображаться сообщение "Доступно только в 64-х битной версии".
    • Менеджер агентов MetaTester 5 Agents Manager будет доступен только в 64-битной версии. Соответственно установку агентов можно будет производить только на 64-битных системах.


  3. Исправлена фильтрация новостей по языку при ручном указании списка языков в настройках терминала.
  4. Оптимизирована работа с большим количеством открытых ордеров.
  5. Ускорена отправка торговых запросов.
  6. Произведена дополнительная адаптация интерфейса для экранов с высоким разрешением - Full HD и выше.

Язык MQL5

  1. Добавлена новая форма функции WebRequest:
    int WebRequest (string method, string url,string headers,int timeout, const char &data[], int data_size,char &result[], string &result_headers)

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

  2. Добавлены новые свойства торгового счета. Свойства доступны с помощью функции AccountInfoDouble.

    • ACCOUNT_MARGIN_INITIAL - текущая начальная маржа счета.
    • ACCOUNT_MARGIN_MAINTENANCE - текущая поддерживающая маржа счета.
    • ACCOUNT_ASSETS - текущие активы на счете.
    • ACCOUNT_LIABILITIES - текущие обязательства на счете.
    • ACCOUNT_COMMISSION_BLOCKED - текущая заблокированная комиссия по счету.

  3. Добавлены новые свойства торгового инструмента:

    • SYMBOL_OPTION_STRIKE - цена страйк опционного контракта. Свойство получается функцией SymbolInfoDouble.
    • SYMBOL_BASIS - имя базисного актива торгового инструмента. Свойство получается функцией SymbolInfoString.
    • SYMBOL_OPTION_MODE - тип опциона, значение задается при помощи перечисления ENUM_SYMBOL_OPTION_MODE. 
    • SYMBOL_OPTION_RIGHT - право опциона, значение задается при помощи перечисления ENUM_SYMBOL_OPTION_RIGHT. Свойство получается функцией SymbolInfoInteger.

  4. Добавлена функция SymbolInfoMarginRate - получение значения коэффициента взимания начальной и поддерживающей маржи в зависимости от типа и направления торгового ордера.
  5. Исправлена работа функции ChartIndicatorName в тестере стратегий.
  6. Исправлена ошибка компиляции макросов, содержащих подстановку имени с помощью ##.
  7. Исправлена ошибка сброса признака конца файла при открытии нового файла.

Исправления по крешлогам.

Обновлена документация.

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

12 декабря 2014
MetaTrader 5 Trading Terminal build 1035: Построитель опционных стратегий и доступ к тикам

Торговый терминал:

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



    Построитель прост в обращении: трейдер выбирает опцион по дате истечения и базовом активу, а затем выбирает одну из более 30 доступных стратегий. Построитель отобразит соответствующую комбинацию опционов и рассчитает по ним параметры для оценки - так называемые "греки" (Greeks). В нижней части окна при этом можно посмотреть график прибыли/убытка, а также графики по грекам.

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

  2. Добавлен показ количества новостей, полученных за последние 24 часа.




  3. Оптимизирована и ускорена синхронизация больших объемов истории торговых ордеров и сделок.
  4. Исправлена вставка нескольких пользовательских индикаторов в одно подокно графика.
  5. Исправлен пересчет индикатора "Bill Williams Market Facilitation Index" при смене периода графика.
  6. Исправлена минимизация окна "Инструменты".
  7. Исправлено формирование отчета о состоянии торгового счета, публикуемого по FTP.
  8. Обновлен перевод интерфейса на немецкий язык.
  9. Добавлен перевод интерфейса на греческий и узбекский языки.

Язык MQL5

  1. Добавлена функция работы с тиковой историей CopyTicks. Функция позволяет получить массив тиков, накопленных терминалом за текущую рабочую сессию. Глубина получаемых тиков ограничена последними 2 000.

    Новая функция расширяет возможности написания скальперских торговых роботов. Функция OnTick не является обработчиком каждого тика, она уведомляет эксперта об изменениях на рынке. Изменения могут быть пакетными: в терминал может одновременно прийти несколько тиков, но функция OnTick будет вызвана лишь один раз для уведомления эксперта о последнем состоянии рынка. Функция CopyTicks позволяет получать и анализировать все пришедшие тики.
    int  CopyTicks(
       const string      symbol_name,           // имя символа
       MqlTick           &ticks_array[],        // массив, в который будут помещены тики
       uint              flags=COPY_TICKS_ALL,  // флаг, определяющий тип получаемых тиков
       ulong             from=0,                // дата, начиная с которой получаются тики, указывается в миллисекундах с 01.01.1970
       uint              count=0                // количество последних тиков, которые необходимо получить
       );
    Тики можно запросить по дате, указав значение from, или по количеству, указав значение count. Если ни один из параметров не указан, передаются все доступных тики, но не более 2000. Также тики можно запрашивать по типу при помощи параметра flags. Доступные значения:

    • COPY_TICKS_ALL - все тики.
    • COPY_TICKS_INFO - только информационные тики (Bid и Ask).
    • COPY_TICKS_TRADE - только торговые тики (Last и Volume).

  2. Добавлена возможность перегрузки шаблонных функций с помощью параметров-массивов.
  3. Добавлена возможность перегрузки метода по его константности.
  4. Добавлена генерация события CHARTEVENT_MOUSE_MOVE (в точке входа OnChartEvent) по нажатию правой кнопки мыши на графике.
  5. Исправлена работа оператора Switch при наличии в case-условии отрицательного значения.
  6. Повышена точность расчетов в функциях ObjectGetValueByTime() и ObjectGetTimeByValue(), позволяющих получить значение цены для указанного времени объекта и наоборот - значение времени для значения цены.

Тестер стратегий

  1. TДобавлена возможность тестирования и оптимизации MQL5-программ, купленных в магазине MetaTrader AppStore, на агентах облачной сети MQL5 Cloud Network и удаленных агентах.
  2. Исправлен расчет свопов в пунктах для позиций с объемом менее 1 лота.
  3. Исправлена проверка и нормализация уровней SL-TP при открытии позиции по торговому инструменту с режимом исполнения "Market Execution".
  4. Исправлено поведение функции ObjectGetValueByTime. В некоторых случаях поведение функции в тестере отличалось от поведения в терминале.

MetaEditor

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

Исправления по крешлогам.

Обновлена документация.

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

123456789101112131415