Новая версия платформы MetaTrader 5 build 3500: улучшения и исправления

 

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


MetaTrader 5 Client Terminal build 3500
  1. Terminal: В контекстное меню разделов "Торговля" и "История" добавлена команда для доступа к новому торговому отчету:



    Торговый отчет включает в себя:

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

  2. Terminal: Исправлен расчет начального депозита в торговом отчете.
  3. Terminal: Исправлена установка уровней "Стоп Лосс" и "Тейк Профит" при использовании панелей быстрой торговли на графике и в "Обзоре рынка". Уровни могли ошибочно наследоваться от ранее открытых позиций, даже если это не требовалось (функционал предназначен для счетов FIFO).
  4. Terminal: Обновлены переводы пользовательского интерфейса.
  5. MQL5: Исправлена ошибка компилятора, которая позволяла обращаться к полю структуры по константной строке, значением которой является имя поля.
  6. MQL5: Исправлена проверка состояния клавиш с помощью TerminalInfoInteger(TERMINAL_KEYSTATE_*).
  7. Исправления по крешлогам.

MetaTrader 5 WebTerminal build 3500

  1. Исправлено закрытие позиций при получении реквота.
  2. Исправлено переподключение к серверу после разворачивания окна браузера, которое было неактивным в течение продолжительного времени.
  3. Исправлено отображение кредитных средств на счете.
  4. Множество других улучшений и исправлений.

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

 

MetaQuotes:

Terminal: В контекстное меню разделов "Торговля" и "История" добавлена команда для доступа к новому торговому отчету:

Хорошо, если заработают фильтры.


 

Добрый день, у меня скорость обсчета в тестере стратегий в терминале выросла в 100 раз (это реально круто!). Это какая-то ошибка, или какое-то революционное изменение в алгоритмах тестера стратегий? Или это какая-то ошибка в моем коде?

Билд 3494.

 
Maksim Emeliashin #:

Добрый день, у меня скорость обсчета в тестере стратегий в терминале выросла в 100 раз (это реально круто!). Это какая-то ошибка, или какое-то революционное изменение в алгоритмах тестера стратегий? Или это какая-то ошибка в моем коде?

Билд 3494.

Тоже хотел про это написать.
Причина такого ускорения в том, что если тестировать в режиме "Все тики на основе реальных тиков", то на самом деле используются не все тики, а только примерно четыре тика на один бар! Эти тики по времени расположены возле границы баров.
Поэтому если поставить таймфрейм в тестере H1, то советнику будет даваться только 4 тика в час, а если M1 - то 240. 
В других режимах ("Все тики", ...) пока таких революционных изменений не заметил.

Так что теперь даже в режиме OHLC на H1 тестируется медленнее чем в режиме  "Все тики на основе реальных тиков" )

Уважаемые разработчики, это баг или фича?

 
Yuriy Bykov #:

Тоже хотел про это написать.
Причина такого ускорения в том, что если тестировать в режиме "Все тики на основе реальных тиков", то на самом деле используются не все тики, а только примерно четыре тика на один бар! Эти тики по времени расположены возле границы баров.
Поэтому если поставить таймфрейм в тестере H1, то советнику будет даваться только 4 тика в час, а если M1 - то 240. 
В других режимах ("Все тики", ...) пока таких революционных изменений не заметил.

Так что теперь даже в режиме OHLC на H1 тестируется медленнее чем в режиме  "Все тики на основе реальных тиков" )

Уважаемые разработчики, это баг или фича?

Заметил что скорость теста увеличивается при тестах на м5 и выше, и качество теста хоть и "100%", результаты сильно разнятся с реальной торговлей и с тестами в ранних билдах. 

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

 

Где оптимизация компилятора?!

#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279
#define _C(A) _BV(A, 1)

struct HISTORY_UNIT : public MqlTradeRequest
{
  ulong Ticket;
  
  ulong GetTicket() const { return(this.Ticket); }
};

void TestArray1( const HISTORY_UNIT &Array[] )
{
  for (int i = ArraySize(Array) - 1; i >= 0; i--)
  {
    const HISTORY_UNIT Unit = Array[i];
    
    Unit.GetTicket();
  }
}

void TestArray2( const HISTORY_UNIT &Array[] )
{
  for (int i = ArraySize(Array) - 1; i >= 0; i--)
  {
    static HISTORY_UNIT Unit = Array[i];
    
    Unit.GetTicket();
  }
}

void OnStart()
{
  HISTORY_UNIT Array[];
  ArrayResize(Array, 1e6);
  
  // Замеряем время на получение всех элементов в массиве.
  _C(TestArray1(Array)); // 23528 mcs.
  _C(TestArray2(Array)); //   577 mcs.
}

Разве это правильно? Не отсюда ли ноги тормозов растут?

 
fxsaber #:

Где оптимизация компилятора?!

#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279
#define _C(A) _BV(A, 1)

void OnStart()
{
  _C(for (int i = 0; i < 1e6; i++) string Str[2000];); // 5394121 mcs.
}
 
fxsaber #:

Где оптимизация компилятора?!

Разве это правильно? Не отсюда ли ноги тормозов растут?

А почему вы считаете const чудом, отменяющим результаты создания/удаления обьекта в цикле?

Ноги тормозов в любом конструировании обьектов внутри больших циклов. И это на совести прикладного программиста.
 

В тестер бы эту функцию отчёта.

Тестер наше всё.

 
Ренат а можно добавить фичу "compare files" и синхронная прокрутка  двух файлов в  editore ?
 
ruslan #:
Ренат а можно добавить фичу "compare files" и синхронная прокрутка  двух файлов в  editore ?

+1

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