MetaTrader 5 build 2815: Accès au Market Depth à partir de Python, amélioration du débogueur et du profileur

Mises à jour : MetaTrader 5

26 février 2021

Terminal

  1. Ajout de la possibilité d'accéder aux données du Depth of Market via l'API Python.
    Trois nouvelles fonctions permettent d'obtenir rapidement des données pour les calculs statistiques et les tâches d'apprentissage automatique, qui peuvent être implémentées à l'aide d'une pléthore de bibliothèques Python prêtes à l'emploi.
    • market_book_add - abonne le terminal MetaTrader 5 pour recevoir les événements liés aux changements dans le Depth of Market pour le symbole spécifié.
    • market_book_get - renvoie un tuple de BookInfo contenant les enregistrements Depth of Market pour le symbole spécifié.
    • market_book_release - annule l'abonnement du terminal MetaTrader 5 aux événements liés aux changements du Depth of Market pour le symbole spécifié.

  2. La longueur maximale des messages Push a été augmentée de 256 à 1024 caractères. Désormais, vous pouvez envoyer plus d'informations à partir de vos programmes MQL5 sur les appareils mobiles.
  3. Ajout d'une version préliminaire du gestionnaire de tâches, qui peut être appelée en appuyant sur la touche F2.
    Le Gestionnaire de Tâches permet de surveiller les ressources consommées par la plateforme. Vous pouvez afficher la quantité de mémoire consommée par les graphiques, les ressources de processeur utilisées par les Expert Advisors et d'autres mesures de performances. Si les performances de votre plateforme ralentissent, vous pouvez facilement détecter et résoudre le problème.



  4. Service d 'abonnements amélioré. Une indication spéciale a été ajoutée pour les symboles ayant des cotations différées :
    • Les symboles du Market Watch sont marqués d'une icône d'horloge et la valeur du délai est affichée dans l'info-bulle
    • La notification de retard de données est affichée sur les graphiques




  5. Correction de l'affichage de la liste des Abonnements lorsqu'il n'y a pas de connexion au compte de trading.
  6. Correction des liens dans les e-mails et les newsletters. Tous les liens s'ouvrent désormais dans le navigateur par défaut. Auparavant, les liens s'ouvraient uniquement dans Internet Explorer.
  7. Correction des connexions de la fonction WebRequest aux hôtes avec adresses IPv6 et protection Cloudflare.
  8. Amélioration des fonctionnalités et de la réactivité du service VPS.
  9. Fonctionnement amélioré sous Wine et MacOS/Crossover, y compris la version pour macOS Big Sur avec le processeur M1.

MQL5

  1. Correction d'une erreur dans la fonction ArrayPrint. La fonction pouvait parfois échouer à imprimer les tableaux.
  2. Opérations sur les fichiers optimisées effectuées par les fonctions File*. Désormais, les opérations de lecture et d'écriture de fichiers s'exécutent beaucoup plus rapidement.
  3. Suppression de la restriction exigeant la spécification de la taille pour les deuxième, troisième et quatrième dimensions d'un tableau dynamique, lorsque le tableau est utilisé comme paramètre de fonction. Cela augmente la réutilisation et la flexibilité du code.
    void func(int &arr[ ][ ][ ][ ])
      {
      }
  4.  Correction du fonctionnement de la fonction ArrayBsearch. La fonction peut renvoyer un index incorrect de l'élément trouvé lors d'une recherche binaire.

MetaEditor

  1. De nouvelles fonctionnalités sont devenues disponibles dans le débogueurremanié.
    • Les tableaux sont maintenant affichés dans la fenêtre d'observation conformément au tri défini par ArraySetAsSeries.
    • Ajout de la prise en charge des variables statiques locales.
    • Correction de l'affichage de la valeur de l'élément de tableau spécifié.
    • Correction de la gestion des champs de classe "statiques".
    • Autres améliorations pour un débogage plus précis et plus fiable.

  2. Ajout de l'option "Activer les optimisations dans le profilage".
    Le mode d'optimisation du code peut être désactivé afin d'inclure plus de détails dans le rapport de profilage. La vitesse du code sans optimisation peut être plusieurs fois plus lente, mais ce mode offre une couverture de code plus large. Veuillez noter qu'avec le code d'optimisation, les goulots d'étranglement peuvent être imprécis.
    Un mode de profilage plus doux peut être défini en désactivant l'option "Activer l'inlining dans le profilage".


    L'option de gestion de l'optimisation a également été ajoutée aux paramètres du projet.
    • Si l'optimisation est désactivée dans le projet, la nouvelle option est ignorée et l'optimisation sera donc toujours désactivée pour le profilage (y compris les opérations en ligne).
    • Si l'optimisation est activée dans le projet, la nouvelle option sera prise en compte lors de la compilation du profilage.

  3. Ajout de la journalisation pour les processus de débogage et de profilage. Les paramètres d'environnement sont enregistrés au démarrage de l'opération ; les statistiques des données collectées sont enregistrées à l'arrêt de l'opération.
    MQL5 profiler    starting 'ExpertMACD.ex5' on history with parameters:
    MQL5 profiler       symbol: 'EURUSD'
    MQL5 profiler       period: 'H1'
    MQL5 profiler       date from: '2021.01.01'
    MQL5 profiler       date to: '2021.02.22'
    MQL5 profiler       ticks mode: 'every tick'
    MQL5 profiler       execution delay: 0 ms
    MQL5 profiler       deposit: 10000
    MQL5 profiler       currency: 'USD'
    MQL5 profiler       leverage: 1:100
    MQL5 profiler       profit in pips: NO
    MQL5 profiler    profile data received (4640 bytes)
    MQL5 profiler    758 total measurements, 0/0 errors, 470 kb of stack memory analyzed
    MQL5 profiler    7782 total function frames found (1929 mql5 code, 342 built-in, 1403 other, 4108 system)

Testeur

  1. Correction de la spécification des heures de non-trading dans les paramètres de test avancés.

Documentation mise à jour.