MetaTrader 5 build 3800 : Ordres Book or Cancel, assistant IA de codage et support ONNX amélioré

Dans la nouvelle version, nous avons ajouté le support des ordres Book or Cancel. Ces ordres ne peuvent être passés que dans la Profondeur du Marché, mais ils ne peuvent pas être exécutés immédiatement. Ils sont utilisés pour mettre en œuvre un système d'échange passif

8 juin 2023

Terminal

  1. Prise en charge de la nouvelle politique de remplissage — Passive / Book or Cancel (BOC).


    Politique d'exécution des nouveaux ordres — Passive / Book or Cancel


    La politique BOC indique qu'un ordre ne peut être placé que dans la Profondeur du Marché (carnet d'ordres). Si l’ordre peut être exécuté immédiatement après avoir été passé, cet ordre est annulé. Cette politique garantit que le prix de l'ordre passé sera inférieur au prix actuel du marché. Le BOC est utilisé pour mettre en œuvre le trading passif : il est garanti que l'ordre ne peut pas être exécuté immédiatement lorsqu'il est passé et qu'il n'affecte donc pas la liquidité actuelle. Cette politique de remplissage n'est prise en charge que pour les ordres limit et stop limit en mode d'Exécution Boursière (Exchange Execution).

    La disponibilité de la nouvelle politique de remplissage dépend du courtier.

  2. La plateforme utilise maintenant Microsoft Edge WebView2 pour afficher le contenu HTML.

    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. L'utilisation de WebView2 améliore l'apparence de certaines sections de la plateforme, augmente les performances et crée une interface plus réactive. Le nouveau composant affectera en particulier les sections Market, Signals et VPS.
    La prise en charge complète de WebView2 a été introduite dans Windows 10. Nous recommandons vivement à tous les utilisateurs de passer à la dernière version du système d'exploitation et d'installer toutes les mises à jour disponibles. La plateforme continuera à utiliser MSHTML sous Windows 7 et Wine, mais les nouvelles fonctionnalités ne seront pas disponibles. La version minimale recommandée du système d'exploitation est Windows 10 21H2 (build 19044, novembre 2021).

  3. Amélioration du système de sécurité du Market. Afin d'exécuter le produit, l'utilisateur doit maintenant être autorisé dans la plateforme avec le même compte MQL5 avec lequel le produit a été acheté. Le compte doit être spécifié dans la section Outils \ Options \ Communauté :


    Spécifiez votre compte MQL5 dans les paramètres de la plateforme


    Si aucun compte ou un compte non valide est spécifié, le produit ne démarrera pas et le message suivant sera écrit dans le journal de la plateforme :
    ’NomDuProduit' nécessite un compte MQL5 actif dans Outils->Options->Communauté
  4. Ajout de la commande Vue d'ensemble au menu contextuel de la section historique. La commande ouvre un rapport de trading pour le compte :


    Commande pour accéder au rapport de trading


  5. Correction des erreurs d'affichage dans la boîte de dialogue d'authentification à deux facteurs. Si le terminal possède plusieurs comptes portant le même numéro mais ouverts auprès de courtiers différents, le formulaire de connexion au compte peut ne pas afficher le champ du mot de passe à usage unique.
  6. Mise en œuvre d'un rendu plus rapide des indicateurs avec le style d'affichage DRAW_COLOR_CANDLES.
  7. Correction des erreurs de création de rapports de trading. Les valeurs des bénéfices et des capitaux propres sur le graphique peuvent être affichées de manière incorrecte dans certaines conditions.
  8. Ajout de l'affichage des coûts dans le rapport de trading. La valeur indique les coûts totaux encourus lors de la réalisation des transactions par rapport au prix moyen actuel du symbole (coût de l'écart au point moyen). Il s'agit du montant que le trader a perdu à cause du spread. La disponibilité de cette valeur dépend du courtier.
  9. Traductions de l’interface mises à jour.
  10. Amélioration de la stabilité sous Wine, en particulier sur les systèmes macOS. Nous recommandons d'enlever complètement les anciens terminaux et de les réinstaller :


  11. Améliorations des procédures d'installation des paquets et de téléchargement des mises à jour. Analyse améliorée de la disponibilité de AVX sur l'ordinateur de l'utilisateur lors de la sélection d'un paquet de distribution.
  12. Activation de la prise en charge de TLS 1.3 dans les protocoles web. TLS 1.0 est considéré comme obsolète et peu sûr. Il a donc été désactivé.
  13. Correction de la comptabilisation des commissions des agents dans les rapports sur l'historique des transactions. Les transactions concernées pouvaient être ignorées lors du calcul du bénéfice final.
  14. Correction de l'impossibilité de modifier le serveur dans la boîte de dialogue de connexion au compte. Le problème pouvait se produire lorsque le terminal contenait plusieurs comptes portant le même numéro et provenant de différents courtiers.
À partir de cette version, les installateurs ne fonctionneront qu'avec les versions 64 bits de la plateforme. La prise en charge des versions 32 bits sera interrompue. Les versions 32 bits installées précédemment fonctionneront jusqu'au 1er janvier 2024.

MQL5

  1. Ajout d'une nouvelle valeur STAT_COMPLEX_CRITERION dans l'énumération ENUM_STATISTICS. Utilisez la propriété pour obtenir la valeur du critère complexe calculé à la suite de l'optimisation.
  2. Méthode RegressionMetric améliorée utilisée pour calculer la métrique de régression sur la base de la matrice ou du vecteur transmis. Ajout des paramètres vector_true et matrix_true pour passer les valeurs réelles qui évaluent la qualité des données prédites.
    double vector::RegressionMetric(
       const vector& vector_true,            // valeurs vraies
       const ENUM_REGRESSION_METRIC  metric  // métrique
       );
     
    double matrix::RegressionMetric(
       const matrix& matrix_true,            // valeurs vraies
       const ENUM_REGRESSION_METRIC metric   // métrique
       );
     
    vector matrix::RegressionMetric(
       const matrix& matrix_true,            // valeurs vraies
       const ENUM_REGRESSION_METRIC metric,  // métrique
       const int                      axis   // axe
       );
  3. Ajout de la méthode LinearRegression. Elle renvoie un vecteur/matrice contenant les valeurs de régression linéaire calculées pour le vecteur/matrice transmis.
    vector::LinearRegression();
     
    matrice matrix::LinearRegression(
       ENUM_MATRIX_AXIS axis=AXIS_NONE // axe le long duquel la régression est calculée 
       
    Exemple :
    vecteur vector_a;
    //--- remplit le vecteur avec les prix
    vector_a.CopyRates(_Symbol, _Period, COPY_RATES_CLOSE,1, 100);
    //--- obtient une régression linéaire
    vecteur vector_r=vecteur_a.LinearRegression();
    Les résultats sont visualisés dans un graphique :


    Visualisation du résultat retourné par la méthode LinearRegression


  4. Ajout de la méthode HasNan, qui renvoie le nombre de valeurs NaN dans une matrice/un vecteur.
    ulong vector::HasNan();
    ulong matrix::HasNan();
    Lors de la comparaison d’une paire d'éléments ayant des valeurs NaN, les méthodes Compare et CompareByDigits considèrent ces éléments comme égaux, alors que dans le cas d'une comparaison habituelle de nombres à virgule flottante, NaN != NaN.

  5. Modification de la structure OnnxTypeInfo utilisée pour les opérations avec les modèles ONNX (Open Neural Network Exchange) :

    struct OnnxTypeInfo
      {
       ENUM_ONNX_TYPE       type;            // type du paramètre
       OnnxTensorTypeInfo   tensor;          // description du tenseur
       OnnxMapTypeInfo      map;             // description de la carte
       OnnxSequenceTypeInfo sequence;        // description de la séquence
      };

    Le type de données est spécifié dans la structure à l'aide de nouvelles sous-structures :

    • OnnxTensorTypeInfo - tenseur
    • OnnxMapTypeInfo - carte
    • OnnxSequenceTypeInfo - séquence

    struct OnnxTensorTypeInfo
      {
       ENUM_ONNX_DATATYPE   data_type;       // type de données dans le tenseur
       long                 dimensions[];    // nombre d'éléments
      };
    
    struct OnnxMapTypeInfo
      {
       ENUM_ONNX_DATA_TYPE  key_type;        // type de la clé
       OnnxTypeInfo         type_info;       // type de la valeur
      };
    
    struct OnnxSequenceTypeInfo
      {
       OnnxTypeInfo         type_info;       // type de données dans la séquence
      };
    En fonction de OnnxTypeInfo::type (ONNX_TYPE_TENSOR, ONNX_TYPE_MAP ou ONNX_TYPE_SEQUENCE), la sous-structure concernée est remplie.

  6. Amélioration de la prise en charge des modèles ONNX.
  7. Ajout des méthodes CopyIndicatorBuffer qui permettent d'obtenir les données du buffer de l'indicateur dans un vecteur.
    bool vector<T>::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,ulong start_pos,ulong count);
    bool vector<T>::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,datetime start_time,ulong count);
    bool vector<T>::CopyIndicatorBuffer(long indicator_handle,ulong buffer_index,datetime start_time,datetime stop_time);
  8. Correction des opérations avec des tableaux à 2 dimensions ou plus dans les méthodes FrameAdd et FrameNext.
  9. Correction de la méthode CRedBlackTree::Remove de la Bibliothèque Standard.
  10. Mise en œuvre de correctifs dans la bibliothèque Fuzzy Logic.

MetaEditor

  1. Intégration accrue avec l'assistant de codage automatique avancé Copilot. Son fonctionnement est basé sur les modèles OpenAI. Saisissez un commentaire ou une partie d'une fonction et envoyez le prompt. Le réseau neuronal analysera le message et proposera des options de codage pour mettre en œuvre l'idée.


    Assistant de codage Copilot


    Selon le type de fichier, la chaîne "MQL5 language", "Python language" ou "C++ language" est automatiquement insérée au début de chaque invite. Ainsi, le réseau neuronal fournira le résultat dans la langue requise.

    Copilot est actuellement gratuit et est déjà activé dans l'éditeur. Plusieurs options sont disponibles sous Outils \ Options \ Copilot :


    Paramètres de Copilot


    Paramètres de paiement :

    • Utiliser votre compte MQL5 : cette option est actuellement disponible gratuitement. Par la suite, vous pourrez payer l'abonnement directement à partir du solde de votre compte MQL5.
    • Utilisez une clé OpenAI si vous avez souscrit un abonnement et que vous disposez de la clé correspondante.

    Paramètres de l'invite :

    • Modèle — un réseau neuronal qui traitera vos demandes. text-davinci-003 et gpt-3.5-turbo sont actuellement disponibles. La prise en charge de gpt-4 sera bientôt ajoutée.
    • Nombre maximal de jetons - nombre d'unités de texte que le modèle peut renvoyer en réponse à une invite.
    • Variabilité - affecte la rigueur avec laquelle le réseau neuronal suivra l'invite. Plus la valeur est grande, plus le résultat est aléatoire. Cette option correspond au paramètre température dans les modèles OpenAI.

  2. Ajout de la possibilité de visualiser les propriétés des modèles ONNX.

    Vous pouvez visualiser le contenu du fichier *.onnx directement dans l'éditeur. Par exemple, recherchez le projet ONNX.Price.Prediction dans Boîte à Outils \ Projets Publics et sélectionnez Rejoindre dans le menu contextuel. Le projet sera téléchargé sur votre ordinateur et apparaîtra dans le Navigateur.


    Ouvrez les modèles ONNX directement dans MetaEditor


  3. Ajout de la possibilité de visualiser les modèles d'apprentissage automatique et les réseaux neuronaux à l'aide de Netron. Cette visionneuse prend en charge les modèles les plus courants, notamment ONNX, TensorFlow Lite, Caffe, Keras et ncnn entre autres.

    Pour visualiser un modèle, sélectionnez son fichier dans le Navigateur et cliquez sur "Ouvrir dans Netron". Si cet utilitaire n'est pas installé, la page GitHub s'ouvrira, à partir de laquelle vous pourrez télécharger le programme d'installation correspondant à votre système d'exploitation. Par exemple, utilisez Netron-Setup-X.X.X.exe pour Windows. Si le programme est installé, le modèle s'ouvrira immédiatement pour être visualisé à partir du Navigateur.


    Visualiser des modèles d'apprentissage automatique avec Netron


    Formats pris en charge :

    • armnn, caffemodel, circle, ckpt, cmf, dlc, dnn, h5, har, hd5, hdf5, hn, keras, kmodel,
    • lite, mar, meta, mge, mlmodel, mlnet, mlpackage, mnn, model, nb, ngf, nn, nnp,
    • om, onnx, ort, paddle, param, pb, pbtxt, pdiparams, pdmodel, pdopt, pdparams, prototxt, pt, pth, ptl,
    • rknn, t7, tfl, tflite, tmfile, tm, tnnproto, torchscript, uff, xmodel

  4. Traductions de l’interface mises à jour.

Tester

  1. Correction du calcul de la métrique "Perte moyenne par position" (Average losing trade) dans le rapport de test. Le calcul pouvait auparavant inclure par erreur des opérations d'entrée si des commissions étaient facturées pour ces opérations.
  2. Amélioration des options des commission personnalisées dans le testeur de stratégie. Pour définir un symbole, indiquez son nom plutôt que le chemin d'accès complet.
  3. Mise à jour des icônes dans le testeur de stratégie. De nouvelles métaphores les rendront plus faciles à comprendre.

Correction des erreurs rapportées dans les journaux de crash.

Terminal Web

  1. Amélioration de la section relative à l'historique des trades :

    • Ajout de l'affichage des opérations de solde dans l'historique des transactions, telles que les dépôts et les retraits, les commissions et les ajustements.
    • Ajout de l'affichage des totaux dans l'historique des transactions : solde, profit, commission, dépôts, retraits et nombre d'ordres entre autres.
    • Ajout de la possibilité de trier les opérations et de filtrer l'historique par profondeur dans la version mobile.


    Mise à jour de l'historique de trading


  2. Amélioration des spécifications des contrats des symboles. Les informations suivantes ont été ajoutées : limite de volume, taille et valeur du tick, marge initiale et marge couverte.
  3. Amélioration des schémas de couleurs :

    • Les ordres en attente sont affichés en gris sur le graphique. La couleur de la position dépend de la direction : rouge pour les Ventes et bleu pour les Achats. Les nouvelles couleurs facilitent la navigation, en particulier lorsque de nombreuses opérations sont affichées sur le graphique.
    • Lors de la visualisation ou de la modification d'une position, seule cette position et ses niveaux sont mis en évidence. Toutes les autres positions et tous les autres ordres deviennent gris et leurs niveaux sont masqués dans l'échelle des prix. Il est ainsi maintenant plus facile de gérer des opérations distinctes.
    • La couleur du Stop Loss est passée du rouge à l'orange pour éviter toute confusion avec les positions de vente.
    • Amélioration des icônes sur la carte indiquant l'heure de fermeture de la position. Une icône verte est utilisée pour les positions fermées par un Take Profit et une icône rouge est utilisée pour celles fermées par un Stop Loss.

  4. Ajout de traductions de l'interface en arabe, bulgare, vietnamien, grec, indonésien, malais, néerlandais, persan, polonais, thaï, ukrainien et hindi. Le terminal web est désormais disponible en 24 langues.
  5. Correction des traductions de l'interface utilisateur en turc.
  6. Correction de la modification et de la suppression des ordres en attente dans la version mobile du Terminal Web.
  7. Correction de l'info-bulle "marché fermé" sur le graphique.
  8. Correction de l'affichage des bénéfices dans le bouton de fermeture de la position dans la boîte de dialogue de trading. L'erreur pouvait se produire lors d’une fermeture partielle.
  9. Correction de l'affichage des notifications de trading sur le graphique.
  10. Correction de la modification du volume à l'aide de flèches dans la Profondeur du Marché.
  11. Correction d'une erreur qui pouvait entraîner la réinitialisation des paramètres des indicateurs en cours d'exécution dans certaines conditions.
  12. Correction des vérifications du nom d'utilisateur lors de l'ouverture de nouveaux comptes. Auparavant, une apostrophe dans le nom était considérée comme une erreur.
  13. Correction du traitement des recotations. La boîte de dialogue avec les prix demandés peut ne pas s'afficher dans certaines conditions.
  14. Correction de l'affichage de l'indicateur Ichimoku Kinko Hyo. Les lignes Chikou-Span, Up Kumo et Down Kumo s'affichent maintenant avec le bon décalage.
  15. Correction des vérifications de la marge initiale lors de l'ouverture de nouveaux ordres. L'erreur pouvait se produire dans le système de comptabilité des positions de couverture.
  16. Correction du défilement dans la fenêtre de spécification du contrat.

MQL5.community

  1. Le site web du MQL5 Cloud Network a été entièrement remanié : https://cloud.mql5.com.

    Apprenez à utiliser la puissance de traitement de milliers d'ordinateurs dans le monde pour optimiser vos stratégies de trading. Avec le MQL5 Cloud Network, même les calculs les plus lourds peuvent être effectués en quelques minutes. Visitez le site web et découvrez comment participer au réseau et comment gagner de l'argent en fournissant vos ressources informatiques.


    Visitez le site web mis à jour du MQL5 Cloud Network


  2. Amélioration de la section des captures d'écran dans les produits du Market. Les auteurs peuvent télécharger des images d'une taille maximale de 1920*1800 pixels pour démontrer le fonctionnement des applications. La galerie des captures d'écran a également été mise à jour. La vitrine affiche des vignettes d'images, et un clic sur celles-ci ouvre les images en taille réelle.


    Amélioration de la section des captures d'écran dans le Market


  3. Améliorations de la section Freelance. Les utilisateurs recevront désormais plus de conseils lors de leurs premières commandes :

    • Exemples de spécifications d'exigences et rappel d'en ajouter une
    • Instructions pour la création d'une commande
    • Conseils d'utilisation des modèles

    Ces conseils peuvent vous aider à créer la commande et à obtenir le résultat souhaité.


    Améliorations apportées à la section Freelance