MetaTrader 5 build 3440: Новый отчет по торговому счету

Добавлен новый отчет по торговой истории счета. По набору параметров и представлению информации он схож с уже привычными отчетами по Сигналам

17 сентября 2022

Terminal

  1. Добавлен новый отчет по торговой истории счета. По набору параметров и представлению информации он схож с уже привычными отчетами по Сигналам. Теперь и в самой платформе вам станут доступны:
    • Помесячные показатели прироста в виде графика и таблицы
    • График изменения эквити
    • Лепестковая диаграмма, позволяющая быстро оценить состояние счета
    • Статистика сделок по инструментам
    • Множество дополнительных показателей для анализа торговли

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


  2. Исправлено заполнение доски опционов при несовпадении количества или типа инструмента у контрактов Call и Put.
  3. Исправлен некорректный выбор позиции в торговом диалоге при закрытии позиции встречной. Ошибка возникала при сортировке доступных встречных ордеров по любой колонке, кроме тикета.
  4. Ускорен вывод записей в журнал платформы.
  5. Исправлено отображение комментариев на графиках пользовательских символов.

MQL5

  1. Исправлена работа функции CArrayList::LastIndexOf. Ранее она всегда возвращала -1 вместо индекса последнего найденного элемента.
  2. Добавлен метод векторов и матриц Assign. Он позволяет заменить содержимое матрицы/вектора данными переданной матрицы/вектора или массива.
    bool vector<TDst>::Assign(const vector<TSrc> &assign);
    bool matrix<TDst>::Assign(const matrix<TSrc> &assign);
    
    Пример:
      //--- копирование матриц
      matrix b={};
      matrix a=b;
      a.Assign(b);
      
      //--- копирование массива в матрицу
      double arr[5][5]={{1,2},{3,4},{5,6}};
      Print("array arr");
      ArrayPrint(arr);
      b.Assign(arr);
      Print("matrix b \n",b);
    /*
    array arr
            [,0]    [,1]    [,2]    [,3]    [,4]
    [0,] 1.00000 2.00000 0.00000 0.00000 0.00000
    [1,] 3.00000 4.00000 0.00000 0.00000 0.00000
    [2,] 5.00000 6.00000 0.00000 0.00000 0.00000
    [3,] 0.00000 0.00000 0.00000 0.00000 0.00000
    [4,] 0.00000 0.00000 0.00000 0.00000 0.00000
    matrix b 
    [[1,2,0,0,0]
     [3,4,0,0,0]
     [5,6,0,0,0]
     [0,0,0,0,0]
     [0,0,0,0,0]]
    
    */
  3. Добавлен метод векторов и матриц CopyRates. Он позволяет легко копировать массивы ценовых данных в векторы и матрицы.
    bool matrix::CopyRates(string symbol,ENUM_TIMEFRAMES period,ulong rates_mask,ulong from,ulong count);
    bool vector::CopyRates(string symbol,ENUM_TIMEFRAMES period,ulong rates_mask,ulong from,ulong count);
    Тип копируемых данных указывается в параметре rates_mask при помощи перечисления ENUM_COPY_RATES. Доступны следующие значения:
    COPY_RATES_OPEN
    COPY_RATES_HIGH
    COPY_RATES_LOW
    COPY_RATES_CLOSE
    COPY_RATES_TIME
    COPY_RATES_VOLUME_TICK
    COPY_RATES_VOLUME_REAL
    COPY_RATES_SPREAD
    COPY_RATES_OHLC
    COPY_RATES_OHLCT
    Последние два значения предназначены для удобного выбора сразу нескольких основных параметров бара — цен Open, High, Low, Close и времени.

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

  4. Исправлено отображение объектов "Текстовая метка". При использовании свойств OBJPROP_XOFFSET и OBJPROP_YOFFSET на график мог выводиться неверный фрагмент изображения.

  5. Исправлена ошибка изменения константного параметра, переданного в функцию в виде ссылки на указатель объекта.

    Напомним, что спецификатор const объявляет переменную константой и не позволяет изменять значение этой переменной в процессе выполнения программы. Допускается только однократная инициализация переменной при ее объявлении. Пример константных переменных в функции OnCalculate:

    int OnCalculate (const int rates_total,      // размер массива price[]
                     const int prev_calculated,  // обработано баров на предыдущем вызове
                     const int begin,            // откуда начинаются значимые данные
                     const double& price[]       // массив для расчета
       );
    

    Но в примере ниже обнаружилась ошибка компилятора, который позволял неявное приведение указателей для параметров-ссылок:

    class A {};
    const A *a = new A;
    
    void foo( const A*& b )
      {
       b = a;
      }
    
    void OnStart()
      {
            A *b; 
            foo(b); // недопустимо
            Print( a,":",b );
      }
    Теперь данная недопустимая операция будет детектироваться компилятором и выдавать ошибку.

MetaEditor

  1. Исправлено отображение ссылок на комплексные числа в отладчике.
  2. Улучшена работа MQL5 Cloud Protector. Ранее в редких случаях защита файлов могла завершаться ошибкой.
  3. Исправления по крешлогам.


Новый веб-терминал MetaTrader 5

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



По сравнению со старой версии в нем появилось множество новых функций:

  • Возможность запрашивать реальные счета с заполнением детальной формы регистрации и предоставлением подтверждающих документов
  • Поддержка подписок на ценовые данные и возможность получения котировок с задержкой
  • Большее количество аналитических объектов, более удобное управление
  • Отображение входов и выходов из рынка на графике
  • Отображение на графике событий экономического календаря
  • Удобная настройка инструментов в Обзоре рынка, отображение дневного изменения цены
  • Существенно упрощен интерфейс: убрано контекстное меню графика и верхнее меню; все команды для управления графиком, наложения объектов и индикаторов размещены на панелях слева и сверху; оставшиеся команды размещены в одном меню-гамбургере
  • Ночная тема интерфейса
Попробуйте новый веб-терминал на www.mql5.com прямо сейчас. В скором времени он появится и у ваших брокеров.