MetaTrader 5 Build 4570 : Amélioration de la version Web et intégration d'OpenBLAS dans MQL5

Cette mise à jour apporte de nombreuses nouvelles fonctionnalités et améliorations à la plateforme web. Nous avons ajouté un mode croix pour accéder à des valeurs précises et mesurer des distances sur le graphique, ainsi qu'un nouveau type de graphique en lignes. La version mobile permet désormais d'activer des informations supplémentaires dans le Market Watch

27 septembre 2024

Terminal

  1. Accès restreint aux fonctions de trading et d'historique de MQL5 si le compte est abonné à un signal.

    Lorsqu'un abonnement à un signal est détecté sur le compte (que la copie soit activée ou non dans le terminal actuel), tout appel à une fonction de trading de MQL5 est interdit, y compris la réception d'ordres et de positions ouvertes, la réception de l'historique et l'exécution d'opérations de trading. Un avertissement correspondant est enregistré dans le journal :
    'XXX': signal subscription detected, trading and history access functions in MQL5 and Python disabled
    Les restrictions s'appliquent également aux fonctions de trading en Python : positions_total, positions_get, orders_total, orders_get, history_orders_total, history_orders_get, history_deals_total, history_deals_get, order_check et order_send.

    Si un abonnement au signal est annulé sur le compte ou si vous vous connectez à un autre compte sans abonnement au signal, la restriction est levée et le message suivant est retourné :
    'XXX': no signal subscription detected, trading and history access functions in MQL5 and Python enabled
    Si la restriction est active sur le compte, les fonctions MQL5 renverront les codes de réponse suivants :

    • OrderSend et OrderSendAsync renvoient RET_REQUEST_AT_DISABLED_CLIENT
    • OrdersTotal et PositionsTotal renvoient 0
    • PositionGetSymbol, PositionSelect, PositionSelectByTicket et PositionGetTicket renvoient ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
    • OrderGetTicket et OrderSelect renvoient ERR_MQLAPI_TRADE_POSITION_NOT_FOUND
    • HistorySelect renvoie ERR_MQLAPI_TRADE_DEAL_NOT_FOUND

  2. Correction, optimisation et accélération de la demande de l'historique des ticks et de l'export vers des fichiers CSV\HTML.
  3. Ajout de la prise en charge de Microsoft Edge WebView2 pour l'affichage de contenu HTML dans la plateforme de trading sur macOS. Par rapport à l'ancien MSHTML, le nouveau composant élargit considérablement les capacités d'affichage du contenu en donnant accès aux technologies modernes. Le passage à WebView2 améliore l'apparence des sections MarKet, Signaux, VPS et autres, en augmentant leur performance et en créant des interfaces plus réactives.

  4. Correction du menu contextuel dans la fenêtre d'envoi de courrier interne.
  5. Correction du filtrage dans la boîte de dialogue de sélection des instruments de trading. Il n'est plus nécessaire de saisir d'abord le nom des instruments pour masquer les instruments périmés.
  6. Correction du calcul des exigences de marge dans la fenêtre de spécification du contrat. L'erreur s'est produite pour les instruments d'échange d'actions et d'obligations.
  7. Amélioration de la fonction de clôture des positions en masse pour les comptes de type FIFO. Les types d'opérations incompatibles ne sont plus affichés pour ces comptes, y compris la fermeture de toutes les positions gagnantes/perdantes, les positions de même direction et les positions opposées.
  8. Correction d'un problème où les utilisateurs ne pouvaient pas placer des ordres en attente opposés sur des comptes où la clôture de la position suit la règle FIFO.
  9. Correction du calcul de la valeur de liquidation pour les comptes avec des positions sur des instruments Exchange Futures.
  10. Correction des calculs de bénéfices flottants pour les positions sur les instruments d'échange d'obligations et d'échange d'obligations MOEX.
  11. Désactivation de la création automatique de comptes de démonstration lorsque la plateforme est lancée sans comptes ajoutés au préalable.
  12. Amélioration de la validation du nom et de l'adresse électronique lors de l'enregistrement des comptes.
  13. Correction du calcul de la marge pour les positions couvertes. L'erreur peut se produire dans certains cas lors de l'utilisation d'une marge flottante sur le compte (calculée sur la base du volume/de la valeur des positions actuelles).
  14. Correction de la mise à jour de l'état du bouton "Suivant" dans la boîte de dialogue d'ouverture du compte de démonstration. Après avoir saisi le code de confirmation par téléphone ou par courrier électronique, le bouton peut rester inactif dans certaines conditions.
  15. Mise à jour des traductions de l'interface utilisateur.

MQL5

  1. Intégration native avec la bibliothèque de calcul matriciel OpenBLAS.

    OpenBLAS est une bibliothèque d'algèbre linéaire open-source de haute performance qui implémente BLAS (Basic Linear Algebra Subprograms) et certaines fonctions LAPACK. OpenBLAS est conçu pour améliorer les performances de calcul, en particulier dans les opérations matricielles et vectorielles, qui sont souvent utilisées dans des tâches scientifiques et d'ingénierie telles que l'apprentissage automatique, les méthodes numériques et les simulations.

    Caractéristiques principales d'OpenBLAS :

    • Prise en charge du multi-threading : OpenBLAS peut utiliser efficacement plusieurs cœurs de processeur pour des calculs parallèles, ce qui accélère considérablement les opérations sur les systèmes multiprocesseurs.
    • Optimisation des architectures de processeurs : OpenBLAS comprend des versions optimisées pour différents processeurs tels que Intel, AMD, ARM et autres. La bibliothèque détecte automatiquement les caractéristiques du processeur (jeux d'instructions pris en charge comme AVX/AVX2/AVX512) et sélectionne les implémentations de fonctions les plus appropriées.
    • Prise en charge étendue des opérations BLAS : OpenBLAS met en œuvre les fonctions BLAS de base, notamment les opérations vectorielles (par exemple, l'addition vectorielle et le produit point), les opérations matricielles (multiplication) et les opérations vecteur-matrice.
    • Compatibilité LAPACK : La bibliothèque prend en charge les fonctions LAPACK (Linear Algebra PACKage) pour les opérations d'algèbre linéaire plus complexes, telles que la résolution de systèmes d'équations linéaires, le calcul des valeurs propres des matrices, etc.
    • Haute Performance : Par rapport à d'autres bibliothèques BLAS, OpenBLAS donne souvent de meilleurs résultats grâce à des optimisations réalisées à la main pour des architectures de processeurs spécifiques.

    OpenBLAS est largement utilisé dans les applications impliquant des calculs numériques :

    • Formation de réseaux neuronaux et autres tâches d'apprentissage automatique.
    • Calcul scientifique (par exemple, modélisation de processus physiques).
    • Traitement et analyse de grandes quantités de données.

    Les méthodes suivantes sont actuellement disponibles dans MQL5 :

    Singular value decomposition (Décomposition en Valeur Singulière) (SVD) :

    • SingularValueDecompositionDC – algorithme de type divide-and-conquer, considéré comme le plus rapide parmi les autres algorithmes SVD (fonction lapack GESDD).
    • SingularValueDecompositionQR – algorithme QR, considéré comme un algorithme SVD classique (fonction lapack GESVD).
    • SingularValueDecompositionQRPivot – algorithme QR avec pivot (fonction lapack GESVDQ).
    • SingularValueDecompositionBisect – algorithme de bisection (fonction lapack GESVDX).
    • SingularValueDecompositionJacobiHigh – algorithme de Jacobi de haut niveau (fonction lapack GEJSV).
    • SingularValueDecompositionJacobiLow – algorithme de Jacobi de bas niveau (fonction lapack GESVJ). La méthode calcule les petites valeurs singulières et leurs vecteurs singuliers avec beaucoup plus de précision que les autres routines SVD dans certains cas.
    • SingularValueDecompositionBidiagDC – algorithme de division et de conquête pour les matrices bidiagonales (fonction lapack BDSVDX).
    • SingularValueDecompositionBidiagBisect - algorithme de bissection pour les matrices bidiagonales (fonction BDSVDX).

    Méthodes propres :

    • EigenSolver – calcule les valeurs propres et les vecteurs propres d'une matrice carrée régulière à l'aide de l'algorithme classique (fonction lapack GEEV).
    • EigenSymmetricDC – calcule les valeurs propres et les vecteurs propres d'une matrice symétrique ou hermitienne (conjuguée complexe) en utilisant l'algorithme de division et de conquête (fonctions lapack SYEVD, HEEVD).

    Une documentation détaillée sera fournie prochainement.

  2. Ajout de la valeur SYMBOL_SWAP_MODE_CURRENCY_PROFIT dans l'énumération ENUM_SYMBOL_SWAP_MODE. Si SymbolInfoInteger renvoie cette valeur, les swaps sur le compte sont facturés dans la devise de calcul du profit.
  3. Support étendu du Runtime ONNX. Ajout de nouveaux types d'opérations d'apprentissage automatique, permettant d'exécuter des modèles neuronaux plus avancés.
  4. Nous poursuivons la transition vers un compilateur MQL5 plus efficace, qui est déjà utilisé pour certaines fonctions. La transition permettra de nouvelles optimisations et une exécution plus rapide des programmes.
  5. Ajout de nouveaux types de données pour supporter la bibliothèque OpenBLAS :

    • complexf – nombre complexe représenté par des données flottantes
    • vectorcf – vecteur contenant des éléments de type complexf
    • matrixcf – matrice contenant des éléments de type complexf

  6. Amélioration des opérations WebRequest lors de l'utilisation de sites web qui ne respectent pas les règles de formatage des URL, contiennent des erreurs de redirection ou ont de longues listes de noms DNS alternatifs.
  7. Correction de l'affectation simultanée de types de matrices ou de vecteurs à plusieurs variables.

MetaEditor

  1. Mise à jour des modèles disponibles pour l'Assistant AI. Le GPT-4o mini, plus avancé, remplace désormais le GPT-3.5 Turbo. Le modèle 01-mini a également été ajouté.
  2. Correction d'une erreur du débogueur à cause de laquelle les valeurs des variables pouvaient ne pas être mises à jour dans la fenêtre de surveillance.
  3. Mise à jour des traductions de l'interface utilisateur.

MetaTester

  1. Correction de l'enregistrement des coefficients de marge dans les paramètres des symboles personnalisés.
  2. Correction des fuites de mémoire qui pouvaient se produire entre les passes de test dans certaines conditions.

Terminal Web

  1. Ajout du mode Croix pour la visualisation de valeurs précises et la mesure de distances sur les cartes.

    Activez le mode en cliquant sur le bouton correspondant dans le panneau de gauche. Déplacez le pointeur sur n'importe quel point du graphique pour voir la date et le prix sur les axes respectifs. Pour mesurer la distance, cliquez sur n'importe quel point de la carte et faites glisser le curseur vers un autre point tout en maintenant le bouton de la souris enfoncé.


    .


    Vous pouvez également utiliser des raccourcis : appuyez sur le bouton du milieu de la souris pour activer le réticule et utilisez Esc ou le clic droit pour le désactiver.

  2. Ajout d'un graphique linéaire simple construit sur les prix de clôture des barres :




  3. Dans la vue mobile, ajout de la possibilité d'afficher des colonnes supplémentaires dans la section Market Watch. Pour configurer, passez en mode tableau et cliquez sur "..." :




  4. Ajout de raccourcis clavier :

    • Accueil - permet d'aller au début du graphique (date la plus ancienne)
    • Fin - défilement jusqu'à la fin du graphique (date la plus récente)
    • Page précédente - fait défiler le graphique d'un écran à l'autre
    • Page précédente - fait défiler le graphique d'un écran à l'autre

  5. Amélioration de la sécurité des données pour le stockage des connexions de compte.
  6. Amélioration de la fonctionnalité de défilement, de glissement et de mise à l'échelle des graphiques.
  7. Chargement initial accéléré de la plateforme web sur la page.
  8. Chargement optimisé des barres.
  9. Correction des calculs de bénéfices flottants pour les positions sur les instruments d'échange d'obligations et d'échange d'obligations MOEX.
  10. Correction de la saisie du volume dans le panneau de trading en un clic sur les graphiques.
  11. Correction d'une erreur dans la mise à jour des volumes d'ordres dans le Market Depth. La mise à jour des valeurs a pu être retardée dans certaines conditions.
  12. Correction de la vérification du volume d'échange minimum autorisé lors du passage d'ordres.
  13. Correction du calcul de la marge pour les positions couvertes. L'erreur peut se produire dans certains cas lors de l'utilisation d'une marge flottante sur le compte (calculée sur la base du volume/de la valeur des positions actuelles).
  14. Correction d'une erreur où les boutons d'achat et de vente sur le panneau de trading en un clic pouvaient devenir inactifs jusqu'à ce que le volume soit modifié.