MetaTrader 5 build 1395: Ускорение торговых операций и улучшения в визуальном тестировании

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

19 августа 2016

Терминал

  1. Оптимизирована и значительно ускорена отправка торговых команд клиентским терминалом.
  2. Исправлена ошибка, приводившая к невозможности выполнения MQL5-программ в терминалах при работе в 32-х разрядной версии Windows 10, build 1607.
  3. В навигатор добавлен показ режима работы торгового счета — Hedging или Netting.
  4. В навигатор добавлена команда контекстного меню для подключения выбранным счетом к веб-терминалу.
  5. Переработан раздел меню "Справка", добавлены ссылки на обучающие видеоролики.
  6. Исправлен ряд ошибок интерфейса при работе на экранах высокого разрешения (4К).
  7. Исправлены ошибки в переводе пользовательского интерфейса на персидский язык.

MQL5

  1. Добавлены указатели 'void *', что позволит создавать абстрактные коллекции объектов. В переменную этого типа можно сохранить указатель на объект любого класса.
    Для обратного преобразования рекомендуется использовать оператор dynamic_cast<имя класса *>(указатель void *). Если приведение невозможно, результатом будет NULL.
    class CFoo { };
    class CBar { };
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       void *vptr[2];
       vptr[0]=new CFoo();
       vptr[1]=new CBar();
    //---
       for(int i=0;i<ArraySize(vptr);i++)
         {
          if(dynamic_cast<CFoo *>(vptr[i])!=NULL)
             Print("CFoo * object at index ",i);
          if(dynamic_cast<CBar *>(vptr[i])!=NULL)
             Print("CBar * object at index ",i);
         }
       CFoo *fptr=vptr[1];  // выдаст ошибку приведения указателей, vptr[1] не является объектом CFoo
      }
    //+------------------------------------------------------------------+
  2. Добавлена поддержка оператора [ ] для строки, что позволит получать символ из строки по индексу. Если указанный индекс выходит за пределы строки, результатом будет 0.
    string text="Hello";
    ushort symb=text[0];  // вернет код символа 'H'
    
  3. Добавлен второй вариант обработчика события TesterInit с сигнатурой int OnTesterInit(void), который может возвращать коды INIT_SUCCEEDED (0) или INIT_FAILED (либо любое ненулевое значение). Если OnTesterInit возвращает ненулевое значение, то оптимизация не начинается.
  4. Исправлена ошибка, в результате которой разные перегрузки функции ChartGetString отдавали разный результат.

Тестер

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




  2.  Исправлена работа функции Sleep в режиме тестирования "По ценам открытия".
  3.  Исправлена ошибка, приводившая к формированию некорректного состояния баров при работе на таймфреймах W1 и MN1.

MetaEditor

  1. Добавлен перевод пользовательского интерфейса на традиционный китайский язык.

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