MetaTrader 5 Build 4730 : Prise en charge étendue d'OpenBLAS et optimisation générale des performances

La mise à jour de MQL5 introduit la prise en charge d'un plus grand nombre de fonctions de la bibliothèque OpenBLAS, ainsi que des fonctions TransposeConjugate et CompareEqual. Elles offriront de plus grandes possibilités pour travailler avec les matrices et les vecteurs. Nous avons également corrigé la compatibilité du package d'intégration Python. Il fonctionne désormais avec toutes les versions

6 décembre 2024

Terminal

  1. Terminal : Modification des calculs pour les valeurs d’une position, d'un ordre et d’une transaction. Les valeurs sont désormais affichées dans la devise de dépôt du compte plutôt que dans la devise de base du symbole de trading :

    La valeur des positions, des ordres et des transactions est maintenant affichée dans la devise de dépôt du compte.

  2. Terminal : Ajout d'un champ pour la saisie de la date de naissance lors de l'ouverture d'un compte de démonstration.

    Ajout d'un champ pour la saisie de la date de naissance lors de l'ouverture de comptes de démonstration


  3. Terminal : Correction de l'échelle des indicateurs affichés dans la sous-fenêtre du graphique. Pour certains oscillateurs, les valeurs minimales et maximales de l'échelle pouvaient auparavant être sélectionnées de manière incorrecte.
  4. Terminal : Optimisation et accélération de la décompression des données des ticks de l'historique des prix, ce qui augmentera la vitesse de chargement des graphiques.
  5. Terminal : Correction de l'édition de la couleur du texte dans la fenêtre de composition d’un email interne.
  6. Terminal : Mise à jour des traductions de l'interface utilisateur.

MQL5

  1. Ajout de nouvelles méthodes OpenBLAS :

    • EigenSolver2 – calcule les valeurs propres et les vecteurs propres généralisés pour une paire de matrices carrées ordinaires (fonction lapack GGEV).
    • EigenSolverX – calcule les valeurs propres et les vecteurs propres d'une matrice carrée régulière en mode expert, c'est-à-dire avec la possibilité d'influencer l'algorithme de calcul et d'obtenir les données de calcul correspondantes (fonction lapack GEEVX).
    • EigenSolver2X - calcule les valeurs propres et les vecteurs propres pour une paire de matrices carrées régulières en mode expert, c'est-à-dire avec la possibilité d'influencer l'algorithme de calcul et d'obtenir les données de calcul correspondantes (fonction lapack GGEVX).
    • EigenSolverShur – calcule les valeurs propres, la matrice triangulaire supérieure sous forme de Schur et la matrice des vecteurs de Schur (fonction lapack GEES).
    • EigenSolver2Shur – calcule les valeurs propres, les vecteurs propres généralisés, les formes de Schur généralisées et les vecteurs de Schur gauche et droit pour une paire de matrices carrées régulières (fonction lapack GGES).
    • EigenSolver2Blocked – calcule les valeurs propres et les vecteurs propres généralisés pour une paire de matrices carrées régulières à l'aide d'un algorithme par blocs (fonction lapack GGEV3).
    • EigenSolver2ShurBlocked – pour une paire de matrices carrées régulières, calcule les valeurs propres, les vecteurs propres généralisés, les formes de Schur généralisées et les vecteurs de Schur gauche et droit à l'aide d'un algorithme par blocs (fonction lapack GGES3).
    • EigenSymmetricRobust – calcule les valeurs propres et les vecteurs propres d'une matrice symétrique ou hermitienne (conjugué complexe) en utilisant l'algorithme MRRR (Multiple Relatively Robust Representations, MRRR) (fonctions lapack SYEVR, HEEVR).
    • EigenSymmetricBisect – calcule les valeurs propres et les vecteurs propres d'une matrice symétrique ou hermitienne (conjuguée complexe) en utilisant l'algorithme de bi-section (fonctions lapack SYEVX, HEEVX).

  2. Ajout de nouvelles méthodes pour les matrices complexes :

    • TransposeConjugate – crée une matrice transposée conjuguée.
      matrix<complex<T>> matrix<complex<T>>::TransposeConjugate(void) const;
      La méthode renvoie une nouvelle matrice conjuguée-transposée dans laquelle les éléments de la matrice originale sont transposés et convertis en leurs conjugués complexes.

      En cas d'erreur, une matrice vide est renvoyée. Utilisez la fonction GetLastError pour obtenir le code d'erreur.

    • CompareEqual – comparaison absolue de deux matrices.
      int matrix<T>::CompareEqual(const matrix<T>& mat) const
      Les valeurs de retour sont les suivantes :

      • -1 – si l'élément de la matrice A est inférieur à l'élément correspondant de la matrice B.
      • 0 – si tous les éléments des matrices A et B sont identiques.
      • 1 – si l'élément de la matrice A est supérieur à l'élément correspondant de la matrice B.

      La méthode peut également renvoyer des erreurs si les données d'entrée ne sont pas valides. Pour obtenir le code d'erreur, utilisez la fonction GetLastError.

  3. Ajout de la prise en charge de Python jusqu'à la version 3.13 pour le package d'intégration correspondant. Pour mettre à jour le package, exécutez la commande suivante :

    pip install --upgrade MetaTrader5

  4. Correction de l'omission du premier événement de l’évènement Timer. Une erreur s'est produite si une minuterie a été démarrée dans le gestionnaire OnTimer.

MetaEditor

  • Correction du calcul des valeurs des variables d'entrée en mode debug. Dans certains cas, le message "identifiant inconnu" s'affichait à la place de la valeur.

Testeur

  • Correction de la recherche des taux de change requis pour la conversion des devises lors des tests d'applications utilisant des instruments de change.

Terminal Web

  1. Ajout de la prise en charge du type d'exécution Request pour les ordres à gros volume.
  2. Ajout de la prise en charge d'une description étendue de la raison des demandes rejetées par un courtier.
  3. Formulaire d'ouverture de compte fixe. Les informations sont maintenant demandées en fonction des paramètres du courtier.
  4. Correction de la détection du pays lors de l'enregistrement des comptes de démonstration.
  5. Correction de l'alignement dans la boîte de dialogue affichant l'avertissement relatif au trading en-un-clic.