Nouvelle plateforme MetaTrader 5 build 2650 : chargement des graphiques en arrière-plan et améliorations du profileur de code MQL5

L'onglet Options propose un nouveau paramètre intitulé "Précharger les données du graphique pour les positions ouvertes et les ordres"

9 octobre 2020

Terminal

  1. L'onglet Options propose un nouveau paramètre intitulé "Précharger les données du graphique pour les positions ouvertes et les ordres".

    Afin d'économiser du trafic, la plateforme de trading télécharge l'historique des prix des symboles uniquement lorsque les données pertinentes sont demandées, par exemple lorsque le graphique des prix est ouvert ou lorsque le test est lancé. Cependant, cela peut ne pas toujours être pratique pour les symboles utilisés activement. Si vous activez la nouvelle option, les graphiques des symboles pour lesquels vous avez des positions ouvertes ou des ordres en attente, seront mis à jour en arrière-plan à chaque lancement de la plateforme. Ainsi, vous n'aurez pas à attendre le téléchargement des données après l'ouverture du graphique, et les données pertinentes seront immédiatement disponibles pour analyse.




  2. Correction de la génération de barres quotidiennes après les week-ends.
  3. Correction de la mise à jour du graphique. Les graphiques peuvent parfois ne pas être mis à jour après le téléchargement supplémentaire des données de prix mises à jour.
  4. Mise à jour optimisée du cache de l'historique du compte de trading. L'optimisation permet de réduire les retards de données lors de l'utilisation des fonctions History*.
  5. Correction de l'affichage de la colonne Commentaire lors de l'affichage de l'historique des transactions par positions.
  6. Correction de l'affichage du bouton de renouvellement d'abonnement du Signal.

MQL5

  1. Plus d'améliorations dans la mise à jour totale du profileur de code. Les fonctions suivantes ont été implémentées en plus des innovations présentées dans le build 2615 :

    Ajout de nouveaux paramètres
    Nous avons précédemment annoncé l'utilisation de la méthode d'échantillonnage pour le nouveau profileur. Le profileur effectue des pauses dans l'opération du programme MQL (~1000 fois par seconde) et collecte des statistiques sur le nombre de pauses effectuées dans certains segments de code. Cela inclut également l'analyse des piles d'appels pour déterminer la part de chaque fonction dans le temps total de fonctionnement du code. Après le profilage, les utilisateurs reçoivent des statistiques sur le nombre de fois où l'opération a été interrompue et sur le nombre de fois où chacune des fonctions est apparue dans la pile d'appels :

    • Total CPU [unit,%] - combien de fois la fonction est apparue dans la pile d'appels.
    • Self CPU [unit,%] - le nombre de "pauses" qui se sont produites directement dans la fonction spécifiée. Cette variable est cruciale pour identifier les goulots d'étranglement : selon les statistiques, les pauses se produisent plus souvent là où plus de temps processeur est nécessaire.


    Ajout de la possibilité de désactiver l'intégration de fonctions pendant le profilage
    Lors de la compilation des programmes MQL, les fonctions sont intégrées, c'est-à-dire que le code de fonction est ajouté directement au site d'appel de fonction. Cela permet une accélération significative des performances. Cependant, cette procédure rend difficile le profilage des fonctions. Pour obtenir un rapport sur les fonctions "pures", vous pouvez désactiver l'inlining dans les paramètres de MetaEditor :



    Conception de rapport mise à jour
    Nous avons repensé le rapport de profilage et la présentation des informations de profilage dans la fenêtre de code source. La nouvelle conception sera plus familière aux utilisateurs de Visual Studio.



  2. Correction de l'utilisation de la fonction CopyTicksRange. La fonction pouvait parfois renvoyer des données incomplètes.
  3. Nouveau code d'erreur TRADE_RETCODE_HEDGE_PROHIBITED - l'ouverture d'une position ou la passation d'un ordre en attente n'est pas autorisée car les positions de couverture sont interdites. L'erreur est renvoyée si un utilisateur tente d'exécuter une opération de trading dans le cas où la couverture est désactivée pour le compte et que l'utilisateur a déjà un ordre ou une position opposée pour le même symbole.
  4. Suppression de la possibilité d'appeler MessageBox lors du débogage des indicateurs. MessageBox ne peut pas être appelé à partir d'indicateurs car il suspend l'exécution du thread pendant tout le temps en attendant la réponse de l'utilisateur.
  5. Ajout d'instruments de trading dans le Market Watch optimisé et significativement accéléré en utilisant la fonction SymbolSelect.
  6. Correction du comportement de la fonction ArrayInstert pour les tableaux de taille fixe. Maintenant, le comportement correspond à sa description dans la documentation : lorsque des éléments sont insérés, la taille du tableau de destination ne change pas et les éléments à droite de la position d'insertion sont décalés vers la droite (les derniers éléments 'count' sont "drop off"), tandis que les éléments sont copiés de la source vers l'espace libéré.

Testeur

  1. Correction de l'utilisation des paramètres de conditions de trading personnalisés pendant les tests ; la boîte de dialogue des paramètres a été révisée.

    • Calcul fixe des commissions personnalisées. Pour activer les commissions, il suffit maintenant de spécifier le nom du symbole plutôt que le chemin complet.
    • Onglets réorganisés pour un fonctionnement plus efficace.
    • Renommage de la boîte de dialogue et de l'option activant les paramètres personnalisés.
    • Largeur de colonne optimisée dans les tableaux de paramètres.
    • Lorsque l'option "Utiliser les paramètres personnalisés" est désactivée, tous les autres paramètres de la boîte de dialogue sont désactivés. Auparavant, les paramètres restaient modifiables et les utilisateurs pouvaient penser à tort que les paramètres seraient appliqués pendant les tests.



  2. Correction d'une erreur occasionnelle liée à la réception des ordres de l'historique de trading par ticket.

MetaEditor

  1. Ajout de schémas des couleurs pour la fenêtre d'édition de code : clair (par défaut), foncé et bleu. Vous pouvez personnaliser l'éditeur sans avoir à configurer manuellement la vue de l'éditeur.

    De plus, il est désormais possible de personnaliser la couleur de la bordure des info-bulles des fonctions.


     
  2. MetaEditor : toutes les icônes des barres d'outils ont été mises à jour pour prendre en charge les moniteurs HiDPI.
La documentation a été mise à jour.