Новая версия платформы MetaTrader 5 build 3640: веб-терминал на 11 языках

 

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

MetaTrader 5 Web Terminal build 3640

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


    Интерфейс веб-терминала доступен на 11 языках


  2. Оптимизирован механизм подключения к торговому серверу.

MetaTrader 5 Client Terminal build 3640

  1. MQL5: Добавлены флаги COPY_TICKS_VERTICAL и COPY_RATES_VERTICAL для методов CopyTicks, CopyTicksRange и CopyRates соответственно.

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

    const long   ExtOutputShape[] = {1,1};    // форма выходных данных модели
    const long   ExtInputShape [] = {1,10,4}; // форма входных данных модели
    #resource "Python/model.onnx" as uchar ExtModel[]// модель в виде ресурса
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    int OnStart(void)
      {
       matrix rates;
    //--- получаем 10 баров
       if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC,2,10))
          return(-1);
    //--- подаем на вход набор векторов OHLC
       matrix x_norm=rates.Transpose();
       vector m=x_norm.Mean(0);               
       vector s=x_norm.Std(0);
       matrix mm(10,4);
       matrix ms(10,4);

    Теперь достаточно при вызове метода указать дополнительный флаг COPY_RATES_VERTICAL (COPY_TICKS_VERTICAL для тиков), чтобы избавиться от лишней операции трансформации данных:

    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    int OnStart(void)
      {
       matrix rates;
    //--- получаем 10 баров
       if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC|COPY_RATES_VERTICAL,2,10))
          return(-1);
    //--- подаем на вход набор векторов OHLC
  2. MQL5: Добавлено значение CHART_SHOW_TRADE_HISTORY в перечисление ENUM_CHART_PROPERTY_INTEGER. Свойство управляет отображением сделок из торговой истории на графике. Для получения и установки свойства используйте функции ChartGetInteger и ChartSetInteger. Подробнее об отображении сделок на графике читайте в документации платформы.
  3. MetaEditor: Исправлено зависание интерфейса, происходившее в редких случаях при компиляции файлов.
  4. Исправления по крешлогам.

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

 

Если в настройках терминала отключить "Показывать торговую историю", но в настройках графика наоборот её включить, то история отображается.

Кто то думает, что в этом есть логика?

Обратите на это внимание и исправьте уже взаимоисключающие избыточные настройки.

Надеюсь (хотя кого я обманываю, и не надеюсь даже), что пункт "Сохранить" текущий профиль при фактически действующем и недокументированном авто-сохранении тоже выпилите.

А также вкладки "Новости" и "Компания" отнесете к сторонним сервисам, при отключении которых они не будут отображаться. Ведь сделали же с другими сервисами. То, что так можно сделать со всеми вкладками панели "Инструменты" наверное несбыточная мечта.

 

MQ-Demo. M1-тиковый объем 8000.


 
b3632. Оптимизация компилятора включена.
unknown symbol 'memmove'
EX5 loading failed


При отключенной оптимизации все работает.

 

Исправьте, пожалуйста, уведомление о закрытом рынке, чтобы оно не перекрывало данные OHLC.


 
fxsaber #:
b3632. Оптимизация компилятора включена.


При отключенной оптимизации все работает.

Спасибо! Исправления внёс, должны попасть в сегодняшний релиз.

 

Возникла ситуация с ошибочным срабатыванием функции OnTradeTransaction.

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

https://www.mql5.com/ru/forum/40417/page7#comment_45685330

 
Andrey Kaunov #:

Возникла ситуация с ошибочным срабатыванием функции OnTradeTransaction.

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

https://www.mql5.com/ru/forum/40417/page7#comment_45685330

анализируйте историю, а не ту фигню, которая идет в структуре OnTradeTransaction.

 
Ilyas #:

Спасибо! Исправления внёс, должны попасть в сегодняшний релиз.

b3640. Работает, спасибо.

 

b3640: испортили логи тестера - сторонние программы не знают, что теперь конец строки не 0D0A, а 00. В результате показывают мусор от предыдущих строк.

Пример, как это выглядит в Far'е

 

Перестал работать поиск в Терминале по Сигналам.