MetaTrader 5 build 2085 : Intégration avec Python et améliorations du Strategy Tester

Ajout d'une nouvelle API permettant d'effectuer des requêtes sur les données du terminal MetaTrader 5 via des applications écrites en Python

12 juin 2019

Terminal

  1. Ajout d'une nouvelle API permettant d'effectuer des requêtes sur les données du terminal MetaTrader 5 via des applications écrites en Python.

    Python est un langage de programmation moderne et de haut niveau pour développer des scripts et des applications. Il contient de nombreuses bibliothèques pour le machine learning, l'automatisation des process, ainsi que l'analyse des données et la visualisation.

    Le package MetaTrader pour Python est conçu pour obtenir rapidement et de façon efficace les données boursières via les communications inter-processeurs, directement depuis le terminal MetaTrader 5. Les données reçues de cette façon peuvent être ensuite utilisées pour les calculs statistiques et le machine learning.



    Connexion

    1. Téléchargez la dernière version de Python à https://www.python.org/downloads/windows
    2. Pendant l'installation de Python, cochez la case "Ajouter Python X.X à la variable PATH%" pour permettre le lancement des scripts Python depuis la ligne de commande.
    3. Installez le module MetaTrader 5 depuis la ligne de commande
      pip install MetaTrader5
    4. Ajoutez les packages matplotlib et pytz
      pip install matplotlib
      pip install pytz

    Fonctions

    • MT5Initialize établit la connexion avec le terminal MetaTrader 5
    • MT5Shutdown ferme la connexion établie précédemment au terminal MetaTrader 5
    • MT5TerminalInfo retourne le statut et les paramètres du terminal MetaTrader 5 connecté
    • MT5Version retourne la version du terminal MetaTrader 5
    • MT5WaitForTerminal attends que le terminal MetaTrader 5 soit connecté au serveur de trading
    • MT5CopyRatesFrom récupère les barres du terminal MetaTrader 5 à partir de la date spécifiée
    • MT5CopyRatesFromPos récupère les barres du terminal MetaTrader 5 à partir de l'index spécifié
    • MT5CopyRatesRange récupère les barres dans l'intervalle spécifié depuis le terminal MetaTrader 5
    • MT5CopyTicksFrom récupère les ticks du terminal MetaTrader 5 à partir de la date spécifiée
    • MT5CopyTicksRange récupère les ticks dans l'interalle de temps spécifié depuis le terminal MetaTrader 5


  2. Les sections Market et Signal ont été optimisées. Les présentations de produits et des signaux sont maintenant jusqu'à sept fois plus rapides et offrent ainsi une meilleure expérience de navigation des services.




  3. Ajout du support pour des services "Market", "Signals" et "Recherche" dans Wine. Les utilisateurs Linux et Mac OS ont maintenant accès à la plus grande boutique d'applications de trading incluant le service de trading par copie.




  4. Le programme intégré d'apprentissage a été traduit dans plus de 30 langues, incluant l'espagnol, le chinois, le portugais et l'allemand, entre autres. Pour afficher les conseils interactifs dans la langue de votre choix, passez à la langue d'interface souhaitée à l'aide du menu Affichage.




  5. De nouvelles options permettent la vérification des numéros de téléphone et des emails, qui sont spécifiés par les traders lors de l'ouverture de comptes de démo et de comptes préliminaires.

    Le besoin de vérification des données est déterminé par le courtier. Si l'option est activée, les codes de confirmation sont envoyés automatiquement au trader pendant la demande de compte et les champs spécifiques pour le code apparaissent dans la boîte de dialogue :




    Les codes de confirmation ne sont valides que pendant quelques minutes. Si le code n'est pas saisi dans le champ dans ce laps de temps, le trader devra recommencer la procédure.
    Avant d'envoyer les codes, le système vérifie si le numéro de téléphone/l'email ont été confirmés. Si le trader a déjà passé la vérification de son ordinateur, un compte sera ouvert sans confirmation supplémentaire. Il n'y aura donc pas de charge supplémentaire pour les traders lors d'une demande de compte.
  6. Les options de paiement de la MQL5.community via PayPal ont été étendues. Les achats peuvent maintenant être effectués en un clic avec ce système.

    Comment ça marche
    Une fois que vous vous êtes connecté à l'aide de votre compte PayPal lors de l'achat, il vous sera demandé d'autoriser d'autres paiements à notre société :





    En confirmant cette option, vous pourrez effectuer d'autres achats en un clic en appuyant sur le bouton du compte enregistré précédemment :




    Si vous cliquez sur "Annuler et retourner à MetaQuotes Software Corp.", vous effectuerez les paiements normalement, en entrant les détails du compte PayPal manuellement, pour chaque achat.
    Le site web MQL5.com et la plateforme MetaTrader 5 ne stockent pas vos détails de paiement. Lorsque vous déposez des fonds, effectuez un achat dans le service Market ou abonnez-vous à Signal, la vérification des données est effectuée du côté du système de paiement.
    Vous pouvez toujours supprimer le lien vers votre compte PayPal.

  7. Améliorations et optimisation du Strategy Tester.

    Nous avons introduit un grand nombre d’améliorations cachées et d’erreurs corrigées afin d’optimiser le fonctionnement du Strategy Tester. La mise à jour permet de tester beaucoup plus rapidement certains types de tâches et d'obtenir une stabilité de fonctionnement supérieure. Les principales améliorations comprennent :

    Opérations avec des cadres
    Les opérations avec des cadres sur les agents locaux, du réseau et sur le cloud ont été optimisés. Ces opérations sont maintenant traitées plus rapidement et ne sont jamais ignorées.

    Distribution des tâches aux agents
    Le testeur peut maintenant redistribuer les tâches aux agents pendant le processus d'optimisation. Si un nouvel agent est devenu disponible (ou qu'un des agents utilisés auparavant a été relâché), le testeur crée automatiquement un nouvel paquet de tâches, en utilisant celles distribuées auparavant parmi les autres agents. Les tâches peuvent maintenant être redistribuées si des agents trop lents sont détectés. Les tâches de ces agents sont envoyées sur d'autres agents pour terminer l'optimisation plus rapidement.

    La distribution des tâches dans le mode de calcul mathématique est beaucoup plus rapide.

    Statistiques d'optimisation dans le Journal
    La journalisation de l'optimisation a été étendue : elle inclut des statistiques détaillées relatives à l'utilisation du MQL5 Cloud Network et à l'activation et la désactivation des agents sur le cloud, entre autres.

    Opération en mode de journalisation d'optimisation complète
    Pour une consommation optimale des ressources, tous les messages des agents ne sont pas enregistrés dans le journal du testeur. Pour voir tous les journaux, vous pouvez activer l'option "Journaux d'optimisation complets" avec le menu contextuel de journalisation du testeur. Précédemment, ce mode ralentissait de façon significative le processus d'optimisation. Le temps de calcul n'est maintenant plus affecté.

    MQL5 Cloud Network
    Opération optimisée des agents de tests du cloud. Les tâches de calcul sont maintenant distribuées plus efficacement.

  8. Le calendrier intégré comprend les publications de plus de 900 indicateurs liés aux 18 plus grandes économies mondiales, incluant les Etats-Unis, l'Union Européenne, le Japon et le Royaume-Uni entre autres. Les données correspondantes sont collectées depuis les sources publiques et en temps réel. En vérifiant régulièrement le service, les traders restent informés sur les dernières informations mondiales et peuvent prendre des décisions de trading en connaissance de cause.

    Le calendrier économique est disponible sur les terminaux de bureau et sur les sites web, ainsi que sur les appareils mobiles. L'application peut être ouverte avec le menu contextuel du Calendrier dans le terminal :




    Sélectionnez votre plateforme et téléchargez l'app Tradays :


    Outre les fonctions de calendrier disponibles sur la plateforme de bureau, la version mobile fournit des rappels des événements et permet d'accéder à un historique complet des indicateurs sous forme de graphiques et de tableaux.

  9. Ajout de la génération automatique de l'historique des barres des symboles personnalisés lors de l'import de l'historique des ticks. Si les données d'un tick d'un symbole personnalisé changent, les barres correspondantes sont maintenant automatiquement recalculées :

    • Les données unifiées sont donc préservées dans la plateforme.
    • Après l'import des données des ticks (pourvu qu'il y ait suffisamment de données), il n'est pas besoin d'importer les barres puisqu'elles sont automatiquement calculées par le terminal.

    Les modifications concernent l'import des ticks effectués via l'interface du terminal, ainsi que la mise à jour des ticks exécutée à partir d'applications MQL5 à l'aide de la fonction CustomTicks*. Tout changement dans les données des ticks ménent au recalcul de la barre 1-minute correspondante du symbole personnalisé.

  10. Correction de la mise à jour des données dans la Fenêtre des Données lors de l'utilisation du curseur en mode Croix sur un graphique détaché.
  11. Correction de la sauvegarde de l'historique des ticks. Dans les versions précédentes, plusieurs ticks dans la même milliseconde pouvaient être sauvés dans le mauvais ordre.
  12. Correction de la génération des graphiques sur un historique trop court (moins d'un jour) disponible sur le serveur.

MQL5

  1. Ajout de l'option de débogage du MQL5 service. Ces applications peuvent maintenant être testées de la même façon que les Expert Advisors et les indicateurs.
  2. De nouveaux modes de calcul du profit et de la marge ont été ajoutés dans l'énumération ENUM_SYMBOL_CALC_MODE :

    • SYMBOL_CALC_MODE_EXCH_BONDS — calcul pour les obligations boursières.
    • SYMBOL_CALC_MODE_EXCH_STOCKS_MOEX — calcul pour les actions tradées sur la Bourse de Moscou.
    • SYMBOL_CALC_MODE_EXCH_BONDS_MOEX — calcul pour les obligations tradées sur la Bourse de Moscou.

  3. La nouvelle fonction TesterDeposit permet l'émulation des opérations de dépôt pendant le test. La fonction peut être utile lors du test de stratégies de money management.
    bool  TesterDeposit(
       double money      // le montant du dépôt
       );
  4. Pendant l'exécution de la méthode OnDeinit, l'application MQL5 ne reçoit aucun évènement du terminal. Auparavant, les applications ne parvenaient parfois pas à terminer la désinitialisation (par exemple, pour supprimer tous les objets créés) en raison de la réception d'autres événements.
  5. Correction d'erreurs occasionnelles pouvant survenir après une modification de l'historique des ticks des symboles personnalisés pour le jour en cours.
  6. Correction du ralentissement occasionnel des applications lors de l'utilisation d'un grand nombre (plusieurs dizaines de milliers) d'objets graphiques.
  7. Correction du gel des terminaux en cas d'appels fréquents à l'historique des transactions depuis les programmes MQL5.
  8. Correction du fonctionnement de la fonction iBarShift. Avec l'indicateur "exact=false" et une requête en dehors des données, la fonction renvoyait le plus ancien numéro de barre au lieu du plus récent.

Tester

  1. Correction de la détermination du nombre de coeurs sur les ordinateurs avec des processeurs ayant plusieurs noeuds NUMA.
  2. Ajout de la possibilité d'exécuter les tests et l'optimisation avec un dépôt initial à zéro, car les opérations de dépôt peuvent être émulées lors des tests à l'aide de la nouvelle fonction TesterDeposit.

MetaEditor

  1. La commande code styler peut maintenant être ajoutée à la barre d'outils pour un accès rapide.
  2. Correction du passage à la définition de paramètre et à la visualisation des données associées lors de l'utilisation de caractères non Unicode dans les noms de fonction et de variable.

La documentation a été mise à jour.

La mise à jour est disponible via le système LiveUpdate.