Nouvelle plateforme MetaTrader 5 build 3210 : Algorithme de calcul révisé du ratio de Sharpe, nouvelles méthodes matricielles et contrôle des valeurs minimales/maximales des indicateurs

 

La mise à jour de la plateforme MetaTrader 5 sera publiée le vendredi 11 février 2022.

La mise à jour fournit l'algorithme de calcul révisé du ratio de Sharpe basé sur une formule traditionnelle, de nouvelles méthodes matricielles, une consommation de mémoire optimisée et un fonctionnement amélioré du système réseau pour un meilleur transfert de données.

Nous avons également ajouté deux nouvelles propriétés, INDICATOR_FIXED_MINIMUM et INDICATOR_FIXED_MAXIMUM, dans l'énumération ENUM_CUSTOMIND_PROPERTY_INTEGER, qui fixent/éliminent les valeurs d'indicateur minimales et maximales à l'aide de la fonction IndicatorSetDouble.


De plus, nous avons corrigé quelques erreurs dans la bibliothèque mathématique Math\Stat\Math.mqh et corrigé le fonctionnement des fonctions CopyTicks et CopyTicksRange, qui pouvaient retourner des données obsolètes lors du franchissement de minuit.

Ces changements, ainsi que d'autres nouvelles fonctionnalités de la version mise à jour de la plateforme MetaTrader 5, sont décrits en détail ci-dessous :


  1. MQL5 : Ajout des fonctions Min, Max, ArgMin, ArgMax et Sum pour les vecteurs et les matrices. Utilisez ces fonctions pour trouver les valeurs minimales et maximales, les indices pertinents et la somme.
  2. MQL5 : Ajout du support des méthodes Flat pour la matrice. Avec ces méthodes, un élément de matrice peut être atteint via un index au lieu de deux.
    double matrix::Flat(ulong index) const;      // getter
    void matrix::Flat(ulong index,double value); // setter

    Pseudocode pour calculer l'adresse d'un élément matriciel :

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

    Par exemple, pour 'matrix mat(3,3)', l'accès aux éléments peut s'écrire comme suit :

      lecture : 'x=mat.Flat(4)', qui équivaut à 'x=mat[1][1]'
      écriture : 'mat.Flat(5, 42)', équivaut à 'mat[1][2]=42'

    Si la fonction est appelée avec un index de matrice non valide, l'erreur d'exécution critique OutOfRange sera générée.

  3. MQL5 : Formatage amélioré des nombres à virgule flottante dans les paramètres d'entrée du programme MQL5. Lors de la lecture de certains nombres réels, des nombres avec de nombreux zéros ont été remplacés dans les paramètres d'entrée, par exemple, 0,4 était représenté par 0,400000000002.
  4. MQL5 : Correction d'erreurs dans la bibliothèque mathématiqueMath\Stat\Math.mqh. La fonction MathSample de cette bibliothèque a été révisée pour correspondre au comportement traditionnel des bibliothèques mathématiques similaires lors de l'échantillonnage avec retour en arrière.
  5. MQL5 : Correction de l'erreur CopyTicks/CopyTicksRange qui pouvait entraîner le retour de données obsolètes lors du franchissement de minuit, lorsqu'aucun tick n'est fourni pour l'instrument financier.
  6. MQL5 : Ajout de nouvelles valeurs INDICATOR_FIXED_MINIMUM et INDICATOR_FIXED_MAXIMUM dans l'énumération ENUM_CUSTOMIND_PROPERTY_INTEGER.
    À l'aide de ces propriétés, vous pouvez fixer ou défixer les valeurs d'indicateur minimales et maximales à l'aide de la fonction IndicatorSetInteger. Lors de l'appel de IndicatorSetInteger(INDICATOR_FIXED_MINIMUM/INDICATOR_FIXED_MAXIMUM, true), la valeur minimale ou maximale actuelle est utilisée.





  7. Testeur : Algorithme de calcul du ratio de Sharpe révisé pour correspondre à la formule traditionnelle, dans laquelle la valeur correspond à un intervalle d'un an. L'algorithme précédent était basé sur la variabilité du PnL obtenu et ignorait les fluctuations des actions par rapport aux positions ouvertes. Désormais, le calcul inclut les mouvements des actions, tandis que le ratio de Sharpe est interprété de manière classique :
    • Ratio de Sharpe < 0              La stratégie n'est pas rentable et n'est pas adaptée. Mauvais.
    • 0 < Ratio de Sharpe  < 1,0    Le risque ne paie pas. De telles stratégies peuvent être envisagées lorsqu'il n'y a pas d'alternative. Indéfini.
    • Ratio de Sharpe ≥ 1,0          Si le ratio de Sharpe est supérieur à un. Cela peut signifier que le risque est payant et que le portefeuille/stratégie peut donner des résultats. Bon.
    • Ratio de Sharpe ≥ 3,0          Une valeur élevée indique que la probabilité d'obtenir une perte dans chaque transaction particulière est très faible. Très bien.

  8. Terminal : Optimisation de la consommation mémoire du terminal.
  9. Terminal : Fonctionnement amélioré de la plateforme avec un sous-système réseau pour améliorer les performances et réduire les retards du réseau.
  10. Terminal : Suppression de l'affichage du niveau zéro de la grille dans les indicateurs lorsque le rendu de la grille est désactivé.


La mise à jour sera disponible via le système Live Update.

Raison: