Le vendredi 1er août 2025, une version mise à jour de la plateforme MetaTrader 5 sera publiée.
Dans cette version, nous avons considérablement étendu la prise en charge de la bibliothèque d'algèbre linéaire OpenBLAS dans MQL5, en ajoutant près de 30 nouvelles fonctions. Ces améliorations offrent davantage de fonctionnalités pour développer des Expert Advisors qui utilisent l’apprentissage automatique.
De plus, MQL5 dispose désormais de contrôles plus stricts pour garantir la qualité des programmes développés. De nouvelles vérifications et contraintes du compilateur aident à prévenir les erreurs potentielles dans le comportement de l'application.
La plateforme de bureau introduit également une commutation automatique d'interface en fonction des paramètres de votre système d'exploitation, éliminant ainsi le besoin de l'ajuster manuellement.
Terminal Client MetaTrader 5
Terminal : Ajout de la possibilité d'appliquer automatiquement le thème clair ou sombre en fonction de vos paramètres Windows. Pour l'activer, sélectionnez la nouvelle option : Affichage \ Thèmes de couleurs \ Système. À chaque lancement de la plateforme, elle détectera le thème de votre système et s'ajustera en conséquence.
Terminal : Correction des problèmes d'affichage avec les barres d'outils détachées de la fenêtre principale.
Terminal : Correction du calcul de la valeur de liquidation du portefeuille dans la section Actifs. Dans certains cas, les positions de certains instruments n’étaient pas comptabilisées.
Terminal : Correction de l'affichage des prix négatifs dans le Marketing Depth. Ceux-ci sont désormais triés correctement.
Terminal : Correction de l'import de l'historique des prix fixes pour les symboles personnalisés. Pour les instruments situés dans le dossier racine, les commandes correspondantes pouvaient auparavant être indisponibles.
ReduceToHessenberg — réduit une matrice générale n-par-n réelle ou complexe A à la forme de Hessenberg supérieure B par une transformation de similarité orthogonale : Q**T * A * Q = H. Fonction LAPACK GEHRD.
ReflectHessenbergToQ — génère une matrice orthogonale Q qui est définie comme le produit de n-1 réflecteurs élémentaires d'ordre n, comme renvoyé par ReduceToHessenberg : Q = H(1) H(2) . . . H(n-1). Fonction LAPACK ORGHR.
EigenHessenbergSchurQ — calcule les valeurs propres d'une matrice de Hessenberg H et des matrices T et Z à partir de la décomposition de Schur H = Z T Z**T, où T est une matrice quasi-triangulaire supérieure (la forme de Schur) et Z est la matrice orthogonale des vecteurs de Schur. Fonction LAPACK HSEQR.
SylvesterEquationTriangular — résout l'équation de Sylvester pour les matrices quasi-triangulaires réelles ou triangulaires complexes : op(A)*X + X*op(B) = scale*C ou op(A)*X - X*op(B) = scale*C où op(A) = A ou A**T ou A**H, et A et B sont tous deux triangulaires supérieurs. Fonction LAPACK TRSYL.
SylvesterEquationTriangularBlocked — résout l'équation de Sylvester pour les matrices quasi-triangulaires réelles ou triangulaires complexes : op(A)*X + X*op(B) = scale*C ou op(A)*X - X*op(B) = scale*C où op(A) = A ou A**T ou A**H, et A et B sont tous deux triangulaires supérieurs. Fonction LAPACK TRSYL3. Il s'agit de la version bloc (BLAS niveau 3) de TRSYL. Jusqu'à 5 fois plus rapide mais pas aussi précis.
SylvesterEquationSchur — résout l'équation de Sylvester pour les matrices quasi-triangulaires réelles ou triangulaires complexes : A*X + X*B = C où A et B sont tous deux triangulaires supérieurs. A est de dimensions m par m et B est de dimensions n par n ; le côté droit C et la solution X sont de dimensions m par n. Fonction LAPACK TRSYL.
SylvesterEquationSchurBlocked — résout l'équation de Sylvester pour les matrices quasi-triangulaires réelles ou triangulaires complexes : A*X + X*B = C où A et B sont tous deux triangulaires supérieurs. A est de dimensions m par m et B est de dimensions n par n ; le côté droit C et la solution X sont de dimensions m par n. Fonction LAPACK TRSYL3. Il s'agit de la version bloc (BLAS niveau 3) de TRSYL. Jusqu'à 5 fois plus rapide mais pas aussi précis.
MatrixNorm — renvoie la valeur de la norme 1, de la norme infinie, de la norme de Frobenius ou la plus grande valeur absolue de tout élément d'une matrice rectangulaire générale. Fonction LAPACK LANGE.
MatrixNormGeTrid — renvoie la valeur de la norme 1, de la norme infinie, de la norme de Frobenius ou la plus grande valeur absolue de tout élément d'une matrice tridiagonale générale. Fonction LAPACK LANGT.
MatrixNormHessenberg — renvoie la valeur de la norme 1, de la norme infinie, de la norme de Frobenius ou la plus grande valeur absolue de tout élément d'une matrice de Hessenberg supérieure. Fonction LAPACK LANHS.
MatrixNormSy — renvoie la valeur de la norme 1, de la norme infinie, de la norme de Frobenius ou la plus grande valeur absolue de tout élément d'une matrice hermitienne symétrique ou complexe réelle. Fonctions LAPACK LANSY, LANHE.
MatrixNormComplexSy — renvoie la valeur de la norme 1, de la norme infinie, de la norme de Frobenius ou la plus grande valeur absolue de tout élément d'une matrice symétrique complexe (non hermitienne). Fonction LAPACK LANSY.
MatrixNormSyTrid — renvoie la valeur de la norme 1, de la norme infinie, de la norme de Frobenius ou la plus grande valeur absolue de tout élément d'une matrice tridiagonale hermitienne symétrique ou complexe réelle. Fonctions LAPACK LANST, LANHT.
MatrixNormTriangular — renvoie la valeur de la norme 1, de la norme infinie, de la norme de Frobenius ou la plus grande valeur absolue de tout élément d'une matrice trapézoïdale m par n ou triangulaire. Fonction LAPACK LANTR.
IsSymmetric — vérifie si une matrice carrée est symétrique.
IsHermitian — vérifie si une matrice complexe carrée est hermitienne.
IsUpperTriangular — vérifie si une matrice carrée est triangulaire supérieure.
IsLowerTriangular — vérifie si une matrice carrée est triangulaire inférieure.
IsTrapezoidal — vérifie si une matrice rectangulaire (et non carrée) m par n est trapézoïdale supérieure ou inférieure.
IsUpperHessenberg — vérifie si une matrice carrée est une matrice de Hessenberg supérieure.
IsLowerHessenberg — vérifie si une matrice carrée est une matrice de Hessenberg inférieure.
IsTridiagonal — vérifie si une matrice carrée est tridiagonale.
IsUpperBidiagonal — vérifie si une matrice carrée est bidiagonale supérieure.
IsLowerBidiagonal — vérifie si une matrice carrée est bidiagonale inférieure.
IsDiagonal — vérifie si une matrice carrée est diagonale.
IsScalar — vérifie si une matrice carrée est une matrice scalaire.
MQL5 : Ajout de la méthode Conjugate pour les matrices et vecteurs complexes. Cette méthode change le signe de la partie imaginaire d'un nombre complexe et renvoie la matrice ou le vecteur modifié.
MQL5 : Méthode renforcée masquant les règles. Lorsqu'une classe dérivée contient une méthode portant le même nom qu'une méthode de la classe de base, la version de la classe dérivée est désormais appelée par défaut. Pour appeler explicitement la méthode de la classe de base, un qualificateur est désormais requis :
struct A
{
int y;
string func(double x)
{
return(__FUNCSIG__);
}
};
struct B : public A
{
string func(int x) // the method hides A::func
{
return(__FUNCSIG__);
}
};
voidOnStart(void)
{
B b;
b.func(M_PI); // according to new rules, it is a call to B::func
b.A::func(M_PI); // call the hidden method A::func
}
Ce changement simplifie la lisibilité du code et élimine l’ambiguïté qui n’était auparavant accompagnée que d’un avertissement du compilateur.
Auparavant, la compilation générait un avertissement :
deprecated behavior, hidden method calling will be disabled in a future MQL compiler version
Ce changement est désormais effectif.
Pour un certain nombre de builds, un avertissement apparaîtra toujours dans le journal si une méthode cachée plus appropriée est disponible en fonction des paramètres :
call resolves to 'string B::func(int)' instead of 'string A::func(double)' due to new rules of method hiding see declaration of function 'B::func' see declaration of function 'A::func' truncation of constant value from 'double(3.141592653589793)' to 'int(3)'
MQL5 : Les noms en double au sein d'une même portée sont désormais interdits. Par exemple, il était auparavant possible de déclarer un paramètre d’entrée et une fonction portant le même nom dans un seul fichier. Une telle duplication n'est plus autorisée :
inputint somename=42;
int somename(int x)
{
return(42);
}
MQL5 : Ajout d'une vérification de type stricte pour les valeurs par défaut dans les énumérations. Pour les paramètres de fonction acceptant une énumération, non seulement la valeur mais également le type exact doivent désormais correspondre :
int somename(ENUM_TIMEFRAMES TF=PERIOD_CURRENT);
int somename(ENUM_TIMEFRAMES TF=0) // error, type mismatch for the default parameter value, despite having the same value
{
return(42);
}
MQL5 : Les identifiants identiques sont désormais interdits dans différentes énumérations. Un identifiant déclaré dans une énumération ne peut plus être réutilisé dans une autre au sein de la même portée :
enum A
{
Value
};
enum B
{
Value // error, name 'Value' is already used in enumeration A
};
voidOnStart(void)
{
enum C
{
Value // OK, 'Value' is not used within the OnStart scope
};
}
Les noms correspondant peuvent toutefois être utilisés dans différentes portées.
MQL5 : Introduction d’exigences plus strictes pour les fonctions d’initialisation de modèle. Lors de la création de matrices/vecteurs à l'aide de fonctions d'initialisation, les fonctionnalités suivantes sont désormais désactivées :
Déduction automatique de type dans les templates de fonctions
Valeurs des paramètres par défaut
Tous les paramètres et arguments du modèle doivent désormais être spécifiés explicitement :
template<typename T>
void Initializer(matrix<T>& mat,int method=0);
matrix<double> A(10,10,Initializer,42); // error, Initializer must be explicitly typed
matrix<double> A(10,10,Initializer<double>); // error, missing 'method' parameter (default values no longer supported)
matrix<double> A(10,10,Initializer<double>,42); // OK
MQL5 : Amélioration de la prise en charge ONNX. Ajout d'une conversion implicite des types signés lors du passage de tableaux ulong aux fonctions, simplifiant l'intégration MQL5 avec les modèles ONNX.
MQL5 : Affichage fixe des types dans les avertissements du compilateur liés aux conversions de chaînes implicites.
MQL5 : Package d'intégration Python mis à jour. Pour installer la mise à jour, exécutez la commande :
pip install --upgrade MetaTrader5
MetaEditor : Correction de la commande « Revenir à la révision » utilisée avec MQL5 Storage. L'évaluation des conflits entre les versions qui peuvent survenir lors d'une opération de restauration est désormais effectuée avant le début de l'opération. Si le retour en arrière n’est pas possible, l’opération est annulée.
Testeur : Correction du basculement entre les graphiques lors des tests visuels des Expert Advisors multidevises.
Mise à jour des traductions de l'interface utilisateur.
Terminal Web MetaTrader 5
Correction de la vérification de l'e-mail pendant l'enregistrement d’un compte préliminaire ou de démonstration. Dans certains cas, le champ de saisie du code de confirmation n'était pas affiché.
Correction des problèmes de connexion de compte lors de l'utilisation du navigateur sur les appareils Huawei.
Correction de la connexion aux comptes lors de l'utilisation de mots de passe à usage unique. Dans certains cas, le champ de saisie de l'OTP était manquant lors de la première tentative de connexion.
La mise à jour sera disponible via le système Live Update.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Le vendredi 1er août 2025, une version mise à jour de la plateforme MetaTrader 5 sera publiée.
Dans cette version, nous avons considérablement étendu la prise en charge de la bibliothèque d'algèbre linéaire OpenBLAS dans MQL5, en ajoutant près de 30 nouvelles fonctions. Ces améliorations offrent davantage de fonctionnalités pour développer des Expert Advisors qui utilisent l’apprentissage automatique.
De plus, MQL5 dispose désormais de contrôles plus stricts pour garantir la qualité des programmes développés. De nouvelles vérifications et contraintes du compilateur aident à prévenir les erreurs potentielles dans le comportement de l'application.
La plateforme de bureau introduit également une commutation automatique d'interface en fonction des paramètres de votre système d'exploitation, éliminant ainsi le besoin de l'ajuster manuellement.
Terminal Client MetaTrader 5
Réductions de Matrice
Valeurs propres et vecteurs propres
Equations Linéaires
Calculs factorisés
Calculs de normes matricielles
Classification matricielle
Ce changement simplifie la lisibilité du code et élimine l’ambiguïté qui n’était auparavant accompagnée que d’un avertissement du compilateur.
Auparavant, la compilation générait un avertissement :
Pour un certain nombre de builds, un avertissement apparaîtra toujours dans le journal si une méthode cachée plus appropriée est disponible en fonction des paramètres :
see declaration of function 'B::func'
see declaration of function 'A::func'
truncation of constant value from 'double(3.141592653589793)' to 'int(3)'
Les noms correspondant peuvent toutefois être utilisés dans différentes portées.
Tous les paramètres et arguments du modèle doivent désormais être spécifiés explicitement :
OnnxSetOutputShape( … , ulong_array );
Terminal Web MetaTrader 5
La mise à jour sera disponible via le système Live Update.