Новая версия платформы MetaTrader 5 build 3440: Новый отчет по торговому счету

 

В пятницу 16 сентября 2022 года будет выпущена обновленная версия платформы MetaTrader 5.

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

Новая версия платформы MetaTrader 5 build 3440: Новый отчет по торговому счету

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


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

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

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


    Новый отчет по торговле на счете


  2. Terminal: Исправлено заполнение доски опционов при несовпадении количества или типа инструмента у контрактов Call и Put.
  3. Terminal: Исправлен некорректный выбор позиции в торговом диалоге при закрытии позиции встречной. Ошибка возникала при сортировке доступных встречных ордеров по любой колонке, кроме тикета.
  4. Terminal: Ускорен вывод записей в журнал платформы.
  5. Terminal: Исправлено отображение комментариев на графиках пользовательских символов.
  6. MQL5: Исправлена работа функции CArrayList::LastIndexOf. Ранее она всегда возвращала -1 вместо индекса последнего найденного элемента.
  7. MQL5: Добавлен метод векторов и матриц 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]]
    
    */
  8. MQL5: Добавлен метод векторов и матриц 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 и времени.

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

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

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

    Напомним, что спецификатор 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 );
      }
    Теперь данная недопустимая операция будет детектироваться компилятором и выдавать ошибку.

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

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


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

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

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


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

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

Попробуйте новый веб-терминал на www.mql5.com прямо сейчас. В скором времени он появится и у ваших брокеров.

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

    • График изменения эквити

График эквити вычислялся (после ALT+E) дольше минуты. Какова причина?


Отчет не реагирует на заданный период.


 

Перед перезагрузкой Терминала удалил все символы из Обзора рынка (и подокна).


После перезагрузки появился символ. Почему?


Удалил его из Обзора рынка. В TaskManager нет символов.


Запускаю (ALT+E) новый Report.

В TaskManager появились два символа. Почему?

 

Tensor лучше начните развивать.

А еще уберите это предупреждение:

declaration of 'symbol' hides global variable   9.mqh   218     22

200 штук у меня. Вообще область видимости и перекрытия переменных есть.

 
'addAll' - no one of the overloads can be applied to the function call  ArrayListClass.mqh      125     14

На конечную строку указали... Но в каком исходном месте addAll() вызывается? Для какого варианта ошибка? Где и что править?

И вообще всё компилировалось в 2020г без ошибки.

 
deprecated behavior, hidden method calling will be disabled in a future MQL compiler version    ArrayDouble.mqh 50      7

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

class CArrayDouble : public CArrayListClass<SArrayDouble>
{
public:
   bool add(double &array[], const int reserve_size = 0)
   {
      return add(new SArrayDouble(array, reserve_size));
   }
 

И добавьте в заголовок МЕ путь к файлу. Где мне его искать? в экспертах или библиотеках?

Шаблоны похоже сломали.

https://github.com/Roffild/RoffildLibrary/blob/master/Include/Roffild/ArrayListClass.mqh

RoffildLibrary/ArrayListClass.mqh at master · Roffild/RoffildLibrary
RoffildLibrary/ArrayListClass.mqh at master · Roffild/RoffildLibrary
  • Roffild
  • github.com
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
 
fxsaber #:

График эквити вычислялся (после ALT+E) дольше минуты. Какова причина?

Отчет не реагирует на заданный период.

График эквити строится на основе точной M1 эмуляции изменения средств по чартам каждого использованного инструмента.

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

Отчет строится по всей истории, так как смысла в ограниченном периоде нет.

 
Roffild #:

Tensor лучше начните развивать.

А еще уберите это предупреждение:

200 штук у меня. Вообще область видимости и перекрытия переменных есть.

Если вы на глобальном уровне создаете переменные столь общего и простого вида, то это очень плохо.

Убирать предупреждения, конечно же, не будем.

 
fxsaber #:

Перед перезагрузкой Терминала удалил все символы из Обзора рынка (и подокна).


В TaskManager появились два символа. Почему?

Работает подкачка истории чартов для построения точного графика эквити по истории.

 
Renat Fatkhullin #:

Работает подкачка истории чартов для построения точного графика эквити по истории.

Из кеша берется. Новых позиций не открывал.

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