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

MetaQuotes  

В пятницу 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.

geritretar  

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

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

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

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

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

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


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

geritretar  

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


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


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

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

Andrey Kaunov  

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

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

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

Dmi3  
Andrey Kaunov #:

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

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

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

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

fxsaber  
Ilyas #:

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

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

Andrey Sharov  

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

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

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