Where to get MQL5 platform new updates and features information

 
Where to get MQL5 platform new updates and features information
 
ECURRENCY TEAM: Where to get MQL5 platform new updates and features information

Here on this very forum section. They will look like the following:

Forum on trading, automated trading systems and testing trading strategies

New MetaTrader 5 platform build 3210: Revised Sharpe Ratio calculation algorithm, new matrix methods and control over indicator minimum/maximum values

MetaQuotes, 2022.02.10 16:30

The MetaTrader 5 platform update will be released on Friday, February the 11th, 2022.

The update provides the revised Sharpe Ratio calculation algorithm based on a traditional formula, new matrix methods, optimized memory consumption, and improved network system operation for better data transfer.

We have also added two new properties, INDICATOR_FIXED_MINIMUM and INDICATOR_FIXED_MAXIMUM, in the ENUM_CUSTOMIND_PROPERTY_INTEGER enumeration, which fix/unfix minimum and maximum indicator values using the IndicatorSetDouble function.


In addition, we have fixed some errors in the Math\Stat\Math.mqh mathematical library and corrected the operation of the CopyTicks and CopyTicksRange functions, which could return outdated data when crossing over midnight.

These changes, along with other new features of the updated MetaTrader 5 platform version, are described in detail below:


  1. MQL5: Added Min, Max, ArgMin, ArgMax and Sum functions for vectors and matrices. Use the functions to find the minimum and the maximum values, relevant indexes and the sum.
  2. MQL5: Added support for Flat methods for the matrix. With these methods, a matrix element can be addressed through one index instead of two.
    double matrix::Flat(ulong index) const;      // getter
    void matrix::Flat(ulong index,double value); // setter

    Pseudocode for calculating the address of a matrix element:

    ulong row=index / mat.Cols();
    ulong col=index % mat.Cols();
    
    mat[row,col]

    For example, for 'matrix mat(3,3)', access to elements can be written as follows:

      reading: 'x=mat.Flat(4)', which is equivalent to 'x=mat[1][1]'
      writing: 'mat.Flat(5, 42)', equivalent to 'mat[1][2]=42'

    If the function is called with an invalid matrix index, the OutOfRange critical execution error will be thrown.

  3. MQL5: Improved formatting of floating-point numbers in MQL5-program input parameters. When reading some real numbers, numbers with many zeros were substituted into the input parameters, for example, 0.4 was represented as 0.400000000002.
  4. MQL5: Fixed errors in the Math\Stat\Math.mqh math library. The MathSample function from this library has been revised to match the traditional behavior of similar math libraries when sampling with backtracking.
  5. MQL5: Fixed CopyTicks/CopyTicksRange error which could cause the return of outdated data when crossing over the midnight, when no ticks are provided for the financial instrument.
  6. MQL5: Added new INDICATOR_FIXED_MINIMUM and INDICATOR_FIXED_MAXIMUM values into the ENUM_CUSTOMIND_PROPERTY_INTEGER enumeration.
    Using these properties, you can fix or unfix the minimum and maximum indicator values using the IndicatorSetInteger function. When calling IndicatorSetInteger(INDICATOR_FIXED_MINIMUM/INDICATOR_FIXED_MAXIMUM, true), the current minimum or maximum value is used.





  7. Tester: Revised Sharpe Ratio calculation algorithm to match the traditional formula, in which the value corresponds to a one-year interval. The previous algorithm was based on the variability of obtained PnL and it ignored equity fluctuations against open positions. Now the calculation includes equity movements, while the Sharpe ratio is interpreted in a classical way:
    • Sharpe Ratio < 0              The strategy is unprofitable and is not suitable. Bad.
    • 0 < Sharpe Ratio  < 1.0    The risk does not pay off. Such strategies can be considered when there are no alternatives. Indefinite.
    • Sharpe Ratio ≥ 1.0          If the Sharpe ration is greater than one. This can mean that the risk pays off and that the portfolio/strategy can show results. Good.
    • Sharpe Ratio ≥ 3.0          A high value indicates that the probability of obtaining a loss in each particular deal is very low. Very good.

  8. Terminal: Optimized memory consumption by the terminal.
  9. Terminal: Improved platform operation with a network subsystem to enhance performance and to reduce network delays.
  10. Terminal: Removed the display of the zero grid level in indicators when grid rendering is disabled.


The update will be available through the Live Update system.