MetaTrader 5 build 3640: Web Terminal in 11 languages

What's new in MetaTrader 5

17 March 2023

Web Terminal

  1. Added UI translations into 10 widely spoken languages: Simplified and Traditional Chinese, French, German, Italian, Japanese, Korean, Spanish, Turkish and Russian. This list will be further expanded in future versions. To switch the language, use the relevant menu:


    Web terminal interface available in 11 languages


  2. Optimized connection mechanism to the trade server.

MQL5

  1. MQL5: Added COPY_TICKS_VERTICAL and COPY_RATES_VERTICAL flags for the CopyTicks, CopyTicksRange and CopyRates methods respectively.

    By default, ticks and series are copied to the matrix along the horizontal axis, which means the data is added to the right, at the line end. In trained ONNX model running tasks, such a matrix needs to be transposed in order to feed the input data:

    const long   ExtOutputShape[] = {1,1};    // model's output shape
    const long   ExtInputShape [] = {1,10,4}; // model's input shape
    #resource "Python/model.onnx" as uchar ExtModel[]// model as a resource
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    int OnStart(void)
      {
       matrix rates;
    //--- get 10 bars
       if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC,2,10))
          return(-1);
    //--- input a set of OHLC vectors
       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);

    By specifying the additional flag COPY_RATES_VERTICAL (COPY_TICKS_VERTICAL for ticks) when calling the method, you can eliminate the extra data transposition operation:

    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    int OnStart(void)
      {
       matrix rates;
    //--- get 10 bars
       if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC|COPY_RATES_VERTICAL,2,10))
          return(-1);
    //--- input a set of OHLC vectors
  2. New value in the ENUM_CHART_PROPERTY_INTEGER enumeration — CHART_SHOW_TRADE_HISTORY. The property controls the display of trades from the trading history on the chart. Use the ChartGetInteger and ChartSetInteger functions to obtain and set the property. For further details about the trades display on the chart, please read the platform documentation.

MetaEditor

  • Fixed interface freezing which could occur during file compilation under certain conditions.

Terminal

  • Fixed errors reported in crash logs.