Mises à jour : MetaTrader 5

L'historique des mises à jour des plateformes de bureau, mobile et web

22 octobre 2021
MetaTrader 5 build 3091 : Améliorations

Terminal

  1. Correction de l'ouverture d'une page vide lors de l'achat de services MQL5. Désormais, les résultats de l'opération sont immédiatement affichés pour l'utilisateur.
  2. Correction de la compression excessive des images de documents que les utilisateurs téléchargent lorsqu'ils demandent des comptes réels. Cela a amélioré la qualité des contrôles KYC automatiques et a facilité l'ensemble de la procédure d'ouverture de compte.
  3. Correction du fonctionnement des graphiques qui s'ouvrent à la fin du test.

MQL5

  1. Ajout de la prise en charge de SQLite 3.36.0.

MetaEditor

  1.  Ajout de la mise en surbrillance de l'arrière-plan des parenthèses correspondantes. L'option peut être activée via les paramètres générauxde MetaEditor.Amélioration du débogueurde programme MQL5.
  2. Amélioration du débogueurde programme MQL5.
Correction des erreurs signalées dans les journaux de crash.
21 octobre 2021
MetaTrader 5 build 3090 : Améliorations et correctifs

Terminal 

  1. Correction d'une erreur qui pouvait faire disparaître les symboles de trading personnalisés dans certaines conditions.
  2. Amélioration des icônes de menu et de barre d'outils.
  3. Trois nouvelles langues ont été ajoutées à MQL5.com : français, italien et turc.

    Désormais, la plus grande communauté de traders algorithmiques MQL5.community est disponible en 11 langues. Nous avons déjà localisé l'interface du site Web, la documentation et les sujets importants du forum. Les articles et le Calendrier Economique dans les nouvelles langues seront également bientôt disponibles.

  4. Correction des erreurs signalées dans les journaux de crash.

MQL5

  1. Correction de bugs dans la fonction StringConcatenate.
  2. Correction du paramètre de la valeur _LastError lors de l'utilisation de la fonction FileSave. La variable peut contenir une valeur nulle au lieu de la description de l'erreur de fonction dans certaines conditions.
  3. Correction de l'importation de données depuis les ressources vers des tableaux de type double.

MetaTester

  1. Correction d'une erreur qui provoquait le blocage de la fenêtre du graphique pendant les tests visuels.
Documentation mise à jour.

14 octobre 2021
MetaTrader 5 build 3081 : Améliorations des services MQL5 et mises à jour de l'interface

Terminal

  1. Amélioration de la navigation dans les services de la MQL5.Community

    Les sections Market, Signals et VPS ont été déplacées de l'espace de travail principal de la plateforme vers le navigateur. Le nouveau positionnement offre un accès facile aux produits souhaités et permet une gestion efficace des achats et des abonnements. Des sections "Comment ça marche" ont été ajoutées à chaque service, pour fournir les informations d'utilisation de base.


    Navigation améliorée des services MQL5.community


  2. Toutes les icônes de menu et de barre d'outils ont été entièrement repensées. L'interface du terminal est devenue plus conviviale :

    • Suppression de petits éléments des icônes
    • Réduction du nombre de couleurs utilisées pour éviter le bruit de couleur
    • Moins de dégradés sont utilisés pour améliorer la lisibilité
    • Des métaphores plus simples sont utilisées


    Tous les menus, barres d'outils et boîtes de dialogue ont été repensés dans la plateforme


  3. Ajout de l'affichage des coûts résultant de l'exécution de la transaction. Les informations pertinentes sont affichées dans l'historique des transactions. Cette fonctionnalité est utilisée par les courtiers réglementés par la NFA.


    L'historique du compte affiche désormais les coûts de transaction>


    Si votre courtier active le calcul des coûts sur le serveur, la nouvelle colonne Coûts apparaîtra dans l'historique de trading de votre compte. La colonne indique le coût d'exécution de la transaction par rapport au prix médian actuel du symbole (coût de spread médian).

  4. Lancement de la version coréenne de MQL5.com.

    Il s'agit du huitième langage disponible sur MQL5.community, la plus grande communauté de traders algorithmiques. L'interface du site Web, les articles, le calendrier économique et les sujets importants du forum sont déjà disponibles en coréen. La documentation MQL5 sera bientôt traduite.

  5. Correction du chargement des instruments de trading personnalisés. Dans certains cas, les paramètres de symboles nouvellement créés peuvent remplacer les paramètres de symboles existants.
  6. Correction de l'affichage sur le graphique de l'historique de trading du signal. Auparavant, l'option correspondante permettait l'affichage de toutes les transactions pour tous les instruments financiers, et pas seulement pour les symboles du graphique.
  7. Ajout de l'export de la colonne Frais au rapport d'historique de trading. Auparavant, la valeur n'était affichée que dans l'historique, mais elle ne pouvait pas être enregistrée dans un fichier.
  8. Fonctionnement optimisé et accéléré des panels de trading en un clic dans le Market Watch et sur les graphiques.
  9. Correction de l'utilisation du champ Ratios de Marge pour les instruments de trading personnalisés. Les valeurs peuvent être remises à zéro sous certaines conditions.
  10. Nous continuons de mettre en œuvre le service d'abonnement grâce auquel les traders peuvent acheter des services de trading supplémentaires auprès de courtiers Correction d'erreurs dans la fenêtre d'abonnement aux cotations.
  11. Correction de l'affichage de l'objet analytique Ligne de Tendance. Auparavant, la ligne pouvait disparaître lors de la mise à l'échelle ou du redimensionnement de la fenêtre graphique.
  12. Correction de l'affichage de l'objet analytique Rectangle. L'objet pouvait disparaître si l'un des points d'ancrage se trouvait au-delà de la zone de visibilité du graphique.
  13. Corrections et améliorations de la vitesse de fonctionnement liées au fonctionnement des graphiques intégrés de la MQL5.community.
  14. Correction de l'arrondi du paramètre Valeur dans la liste des positions ouvertes. La partie fractionnaire pouvait être masquée dans les versions précédentes.
  15. Correction de la vérification du téléphone mobile lors du processus d'ouverture de compte. Les numéros de téléphone pourraient être identifiés comme incorrects pour certains opérateurs chinois.
  16. Ajout de la prise en charge des mots de passe de compte MQL5 de plus de 32 caractères.
  17. Correction de l'export de certificats lors de l'utilisation de Wine. Cette option est utilisée pour les comptes avec authentification étendue, lors de la migration de tels comptes du bureau vers le mobile.
  18. Correction des boutons ouvrant les services MQL5 dans le panneau inférieur de la fenêtre Boîte à Outils. Les boutons étaient inactifs lorsque la fenêtre était non fixée.
  19. Ajout d'une limitation sur la taille du menu "Fichier \ Nouveau graphique". Désormais, le menu ne peut pas contenir plus de 128 sous-menus avec des groupes de symboles, chacun n'ayant pas plus de 32 symboles. La limitation accélère le fonctionnement du terminal et évite le gel lors de l'ajout d'un grand nombre de symboles de trading (2 000 ou plus) au Market Watch.

MQL5

  1. Nous continuons à ajouter la prise en charge des vecteurs et des matrices. Les nouvelles fonctions élargiront considérablement les possibilités pour les développeurs de solutions basées sur les réseaux neuronaux.
  2. Ajout des valeurs DEAL_SL et DEAL_TP dans l'énumération ENUM_DEAL_PROPERTY_DOUBLE : les niveaux Stop Loss et Take Profit d'une transaction.

    Les valeurs pertinentes pour les transactions d'entrée et de renversement sont définies conformément au Stop Loss/Take Profit des ordres, qui a initié ces transactions. Les valeurs Stop Loss/Take Profit des positions appropriées au moment de la clôture de la position sont utilisées pour les transactions de sortie.

  3. Ajout de la valeur MQL_HANDLES_USED dans l'énumération ENUM_MQL_INFO_INTEGER — le nombre d'objets de classe actifs (handles) dans un programme MQL. Ceux-ci incluent à la fois des objets dynamiques (créés via new) et non dynamiques, des variables globales/locales ou des membres de classe. Plus un programme utilise de handles, plus il consomme de ressources.

  4. Ajout de nouvelles méthodes pour travailler avec la structure MqlCalendarValue qui décrit un événement de calendrier économique :

    • HasActualValue(void) — renvoie true si la valeur réelle est définie ; sinon renvoie false
    • HasForecastValue(void) — renvoie true si la valeur prévisionnelle est définie ; sinon renvoie false
    • HasPreviousValue(void) — renvoie true si la valeur précédente est définie ; sinon renvoie false
    • HasRevisedValue(void) — renvoie true si la valeur révisée est définie ; sinon renvoie false
    • GetActualValue(void) — renvoie la valeur réelle d'un événement (double) ou nan si la valeur pertinente n'est pas définie
    • GetForecastValue(void) — renvoie la valeur prévisionnelle d'un événement (double) ou nan si la valeur pertinente n'est pas définie
    • GetPreviousValue(void) — renvoie la valeur précédente d'un événement (double) ou nan si la valeur pertinente n'est pas définie
    • GetRevisedValue(void) — renvoie la valeur révisée d'un événement (double) ou nan si la valeur pertinente n'est pas définie

  5. Correction du débogage des programmes MQL5 qui utilisent des bibliothèques sous forme de fichiers EX5.
  6. Compilation accélérée de programmes contenant de grands tableaux initialisés par une séquence.
  7. Correction de l'exécution de la fonction CopyTicksRange avec des données de symboles de trading personnalisées. La fonction pourrait renvoyer des données hors de la période demandée.
  8. Correction de la vérification de la disponibilité de tous les paramètres du modèle lors de la spécialisation par paramètres. La compilation de code avec des templates de débogage peut provoquer une "erreur de génération de code" dans certaines conditions.

Signals

  1. Ajout de la possibilité de renouveler automatiquement les abonnements à un Signal.

    Votre abonnement ne se terminera pas brusquement, car le système le renouvellera automatiquement pour un mois supplémentaire via le mode de paiement que vous avez précédemment utilisé pour l'achat de l'abonnement initial.


    Activer le renouvellement automatique de votre abonnement au Signal


    Si vous avez effectué votre paiement précédent à l'aide d'une carte et que le paiement de renouvellement échoue, le système essaiera d'effectuer un paiement à partir du solde de votre compte MQL5.

    Ne vous inquiétez pas des changements de prix d'abonnement. Si le prix augmente, le renouvellement automatique sera annulé. Vous recevrez une notification pertinente par e-mail.

    Vous pouvez activer ou désactiver l'option de renouvellement automatique à tout moment via la section Mes abonnements sur MQL5.com.


    Gérez les renouvellements automatiques à partir de la section Mes abonnements sur MQL5.com


  2. Correction de l'affichage de la vitrine Signals. Maintenant, le système identifie correctement la compatibilité des signaux avec le compte courant.

Market

  1. Ajout de la recherche de produits par nom d'auteur et login dans la vitrine du Market. Auparavant, le service ne prenait en charge que la recherche par nom de produit et description.

VPS

  1. Amélioration de l'option de renouvellement automatique de l'abonnement.

    Auparavant, le paiement du renouvellement ne pouvait être effectué qu'à partir du solde du compte MQL5. L'utilisateur devait s'assurer que le montant correspondant était disponible sur son compte.

    Désormais, il n'est plus nécessaire de recharger le compte MQL5. Le système renouvellera l'abonnement en utilisant le même mode de paiement que celui que vous avez utilisé pour l'abonnement initial. Si vous avez payé le VPS avec une carte et activé l'option de renouvellement automatique, le système utilisera le même mode de paiement pour la nouvelle période d'abonnement. Si le paiement échoue, le système essaiera d'effectuer un paiement à partir du solde de votre compte MQL5.


    Utilisez des cartes et d'autres méthodes de paiement pour le renouvellement automatique


    Avec la nouvelle option, vous pouvez être sûr que vos abonnements aux Expert Advisors et aux signaux ne s'arrêteront pas en raison de la fin de la période VPS. De plus, il n'est pas nécessaire de vérifier et de recharger votre solde manuellement.
    L'option ne sera utilisée que pour les nouveaux abonnements. Les paiements pour le renouvellement des abonnements existants seront effectués à partir du solde du compte MQL5.

Tester

  1. Correction d'erreurs de test visuel. Dans certaines conditions, les graphiques peuvent ne pas afficher les indicateurs utilisés dans les Expert Advisors.

MetaEditor

  1. Correction du saut à la déclaration de fonction ou de variable en utilisant Alt+G. L'action pouvait échouer si la déclaration était en dessous de la ligne d'appel.
  2. Ajout de l'affichage du type d'objet pour les références aux objets de classe dans le débogueur.
  3. Ajout de la possibilité d'afficher l'union dans la liste des expressions surveillées.

MetaTrader 5 iPhone/iPad, MetaTrader 5 Android

  1. Ajout de l'affichage d'une clause de non-responsabilité lors du démarrage de l'application. Veuillez la lire attentivement. De plus, certains courtiers peuvent créer automatiquement un compte de démonstration lors du premier démarrage de l'application. Dans ce cas, vous verrez les termes pertinents.


    Avis de non-responsabilité ajoutés dans MetaTrader 5 pour iPhone/iPad

  2. Ajout de la possibilité de connecter un compte à surveiller dans le service Signals directement depuis l'application mobile. Cela peut être fait en sélectionnant "Surveillance du compte" dans le menu. Pour plus de commodité, le numéro de compte et le nom du courtier sont automatiquement ajoutés à la fenêtre d'inscription. Vous devez également spécifier le nom du signal et un mot de passe d'investisseur.

    Connectez votre compte au monitoring pour accéder à des statistiques de trading avancées, pour partager les résultats avec d'autres traders ou pour commencer à vendre vos signaux.

  3. Ajout de la prise en charge de Huawei AppGallery et des services HMS pour les terminaux mobiles fonctionnant sous Android OS. Les propriétaires de smartphones Huawei peuvent installer l'application à partir du magasin concerné et utiliser les notifications push.

Documentation mise à jour.



18 juin 2021
MetaTrader 5 build 2980: Notifications push pour les opérations de trading

Terminal

  1. Ajout de la possibilité de recevoir des notifications push du serveur. Vous serez informé des opérations de trading exécutées même si votre terminal est fermé.



    Dans les versions précédentes, les notifications sur un appareil mobile ne pouvaient être envoyées qu'à partir du terminal de bureau du trader. Lors de l'exécution d'une opération de trading, le terminal envoyait la notification correspondante à l'identifiant MetaQuotes spécifié dans les paramètres. Les notifications ne pouvaient être envoyées qu'à partir d'un terminal en cours d'exécution. Cette exigence a été levée. Si un Take Profit se déclenche sur le serveur alors que votre ordinateur est éteint, vous recevrez une notification concernant une position fermée du serveur.

    Pour commencer à recevoir des notifications du serveur, vous devez :
    • Avoir un compte réel car les notifications du serveur ne fonctionnent pas pour les comptes de démonstration
    • Installer MetaTrader 5 pour iOS ou Android sur votre smartphone
    • Ouvrir la section Messages dans le terminal mobile, recherchez votre ID MetaQuotes et spécifiez-le dans les paramètres du terminal de bureau
    • Activer les notifications du serveur dans les paramètres du terminal de bureau

    La disponibilité des notifications du serveur doit être fournie par votre courtier
    Trois types de notification sont pris en charge : les ordres, les transactions et les opérations sur le solde. Lorsque vous activez l'option, les types de notification disponibles seront affichés dans le journal du terminal :
    '1222': abonné aux transactions, ordres, notifications de solde du serveur de trading

  2. Mise à jour de la vitrine MetaTrader VPS. La section VPS est devenue plus pratique :
    • L'interface s'adapte à n'importe quelle largeur d'écran.
    • La vitrine prend moins de place verticalement pour s'intégrer dans l'espace de travail.
    • Les informations nécessaires n'apparaissent que lorsqu'elles sont nécessaires. Les détails du paiement n'apparaissent qu'une fois que vous avez sélectionné un plan de paiement.



  3. Dans le panneau Strategy Tester, ajout de commandes pour basculer rapidement vers les services MQL5 et vers la fenêtre Boîte à Outils. Les commandes ne sont affichées que dans la section Présentation, tandis que dans d'autres onglets, le panneau est utilisé pour gérer les tests.



  4. Ajout de la sauvegarde des états des fenêtres pour les services MQL5. Si vous laissez le Market ouvert avant de fermer le terminal, la fenêtre correspondante s'ouvrira au prochain lancement du terminal.
  5. Correction de la synchronisation périodique de l'état du compte MQL5. La copie du signal peut échouer dans certaines conditions en raison d'une erreur.
  6. Correction de l'affichage d'une sélection de produits Market recommandés.
  7. Correction du menu contextuel des signaux dans le Navigateur. Vous pouvez utiliser le menu pour visualiser le signal auquel vous êtes abonné ou pour vous désabonner d'un signal.

MQL5

  1. Correction d'une erreur de l'opérateur "-" dans l'implémentation des nombres complexes dans la bibliothèque standard (fichier MQL5\Include\Math\Alglib\complex.mqh).
  2. MQL5 : Vous pouvez désormais utiliser n'importe quelle expression dans les séquences d'initialisation, pas seulement les constantes. Cela améliore la convivialité et la compatibilité avec le code C++.
    struct POINT
      {
       int x,y;
      };
    
    int GetYFunc(y)
      {
       return(y * y);
      }
    
    void SomeFunction(int x1,int x2,int y)
      {
       POINT pt={ x1+x2, GetYFunc(y) };
       ProcessPoint(pt);
      };
  3. Correction d'une erreur qui se produisait lors de la compilation des unions avec d'énormes tableaux de données.
  4. Correction du fonctionnement de la fonction StringToCharArray. Maintenant, il convertit l'intégralité de la chaîne passée en un tableau de char au lieu de s'arrêter au premier caractère nulde fin.
  5. Ajout d'un contrôle pour la présence explicite d'un appel de constructeur pour les classes/structures si leur classe parent n'a pas de constructeur par défaut.

MetaEditor

  1. Ajout de l'affichage d'un lieu d'appel pour les fonctions en ligne dans le rapport de profilage.

    Dans l'exemple ci-dessous, l'appel à la fonction func(); est maintenant mis en évidence comme suit :




    La fonction func elle-même n'est pas mise en évidence puisque son code complet est placé dans OnStart.

  2. Ajout de la possibilité de créer des projetsvides. Il s'agit d'une fonctionnalité utile pour les projets de développement non standard avec des structures de fichiers spécifiques pour lesquelles les modèles par défaut ne conviennent pas.




    Un fichier de paramètres vide "mqproj" sera créé dans ce cas. Les fichiers de code source doivent être créés manuellement.

  3. Implémentation d'un lancement plus rapide de MetaEditor.
  4. Correction de l'affichage des données dans la liste des expressions observées lors du débogage. La liste peut afficher des valeurs de variables incorrectes dans certaines conditions.
  5. Correction de l'ajout automatique de l'extension ".py" aux fichiers de script Python créés à l'aide de l'assistant MQL.
Documentation mise à jour.


21 mai 2021
MetaTrader 5 build 2940: Positionnement des vitrines des Services MQL5 dans l'espace de travail et conception mise à jour

Terminal

  1. Les services de trading, y compris le Market, les Signals et le Virtual Hosting sont désormais affichés de manière pratique dans la zone de travail principale de la plateforme.

    Dans les versions antérieures, les zones d'achat des services MQL5 étaient situées dans la petite fenêtre Boîte à outils sous la fenêtre principale. Le nouvel emplacement permet l'affichage de vitrines complètes avec des options d'achat pratiques. La suppression des onglets inutiles de la zone inférieure offre plus d'espace pour d'autres fonctions de la plateforme.




    L'accès aux services supplémentaires n'interfère pas avec les principales fonctions, telles que le trading et l'analyse graphique.
    • Les onglets de service sont situés à la fin de la barre, après tous les onglets du graphique.
    • Les fenêtres de service inutilisées peuvent être fermées. Pour les rouvrir, utilisez le Navigateur, la barre d'outils ou le menu "Services".

    Nous avons également complètement repensé les services. Le design est devenu plus élégant et léger. Les signaux comportent des données supplémentaires, qui n'étaient auparavant disponibles que via la vitrine du site Web de la MQL5.community : un diagramme polaire avec les principales caractéristiques, les mesures de fiabilité et d'activité et d'autres variables.



  2. Ajout de la prise en charge des adresses IPv6.
    IPv4 qui est utilisé dans tous les réseaux a été créé il y a plus de 30 ans. Il contient des adresses IP de 32 bits, qui sont représentées par quatre nombres de 8 bits séparés par des points. Cet algorithme produit plus de quatre milliards d'adresses IP uniques. Cependant, le nombre croissant d'utilisateurs et d'appareils a accéléré l'épuisement du pool d'adresses disponibles.

    Pour éviter le problème d'épuisement, certains produits offrent une prise en charge supplémentaire de la norme IPv6 moderne. Ce protocole utilise une adresse de 128 bits, représentée par x:x:x:x:x:x:x:x, où chaque x est une valeur hexadécimale de six éléments d'adresse de 16 bits. Théoriquement, ce format autorise 5x10^28 adresses uniques. En plus d'un vaste espace d'adressage, ce protocole présente d'autres avantages par rapport à l'ancienne version. Pour plus de détails, veuillez consulter les articles spécialisés.

    La plateforme MetaTrader 5 est entièrement prête pour IPv6. Si votre courtier ou fournisseur passe au nouveau protocole, la prise en charge du protocole sera activée de manière transparente dans la plateforme, sans qu'aucune action supplémentaire ne soit requise de votre part.

  3. Terminal : Nous continuons à implémenter la fonctionnalité du gestionnaire de tâches présentée dans le build 2815. Nous avons ajouté une indication explicite pour les graphiques, sur lesquels le débogage ou le profilage du programme MQL est en cours d'exécution.




  4. Implémentation d'un lancement de plateforme plus rapide sous Wine sur les ordinateurs macOS et Linux. Optimisation générale et corrections de bugs :
    • Amélioration de l'affichage des menus, des barres d'outils et des boîtes de dialogue.
    • Correction d'erreurs dans l'affichage des sections "Market", "Signaux" et "VPS". En particulier, nous avons corrigé le chargement des logos de produits sur la vitrine du "Market".
    • Mise à jour du package DMG pour une installation facile de MetaTrader 5 sur les ordinateurs macOS. Avec ce package, la plateforme peut être installée de la même manière que toute autre application : faites glisser l'icône de la plateforme vers Applications et attendez la fin de l'installation.
      Le package comprend des composants supplémentaires qui permettent un fonctionnement plus stable et plus rapide. Il est fortement conseillé à tous les utilisateurs de packages de réinstaller MetaTrader 5 en téléchargeant la dernière version sur https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/MetaTrader5.dmg
    Si vous utilisez CrossOver, veuillez réinstaller complètement MetaTrader 5 pour obtenir la dernière version de la plateforme 64 bits.
  5. Correction de l'action de raccourci clavier "Ctrl + F9". Il active l'onglet Trade dans la Boîte à Outils.

MQL5

  1. Nous continuons à limiter la circulation des technologies plus anciennes, y compris les composants 32 bits.
    • Les terminaux 32 bits ne sont plus autorisés à charger des programmes depuis le Market.
    • Les terminaux 32 bits ne peuvent pas se connecter au service d'hébergement.
    • La version 32 bits de MetaEditor ne prend pas en charge la protection supplémentaire des fichiers via MQL5 Cloud Protector.
    • Les programmes MQL5 compilés sous les anciennes versions de MetaEditor (publiées il y a 5 ans ou plus) ne peuvent pas fonctionner dans la nouvelle version du terminal.

    La prise en charge de la version de la plateforme 32 bits a été interrompue il y a un an, après la sortie de la version 2361. Nous vous recommandons fortement de passer à la version 64 bits de MetaTrader 5 afin d'accéder à toutes les fonctionnalités de la plateforme sans aucune limitation.
    En outre, nous recommandons à tous les Vendeurs, qui ont précédemment téléchargé des versions de produit 32 bits sur le marché, de les recompiler à l'aide du dernier MetaEditor 64 bits et de télécharger les nouvelles versions. La possibilité d'exécuter des programmes MQL5 32 bits dans les terminaux sera bientôt complètement désactivée.
  2. Ajout de la prise en charge des opérations avec des nombres complexes.
    Ajout d'un nouveau type intégré "complex".
    struct complex
      {
       double             real;   // Partie réelle
       double             imag;   // Partie imaginaire
      };
    Le type "complex" peut être passé par valeur comme paramètre pour les fonctions MQL5 (contrairement aux structures ordinaires, qui ne sont passées que par référence). Pour les fonctions importées à partir de DLL, le type "complex" doit être passé uniquement par référence.

    Le suffixe 'i' est utilisé pour décrire des constantes complexes :
    complex square(complex c)
      {
       return(c*c);
      }
      
    void OnStart()
      {
       Print(square(1+2i));  // Une constante est passée en paramètre
      }
    
    // "(-3,4)" will be output, which is a string representation of the complex number 
    Seules les opérations simples sont actuellement disponibles pour les nombres complexes : =, +, -, *, /, +=, -=, *=, /=, ==, !=.

    La prise en charge de fonctions mathématiques supplémentaires sera ajoutée ultérieurement, permettant le calcul de la valeur absolue, du sinus, du cosinus et autres.

  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 au cas où la couverture est désactivée pour le compte et qu'un ordre ou une position opposée existe déjà pour le même symbole.

MetaEditor

  1. Correction du débogage et de la terminaison du profilage en mode non visuel.
  2. Correction du profilage de l'indicateur sur des données réelles. Un tel profilage pourrait ne pas démarrer dans certaines conditions.

VPS

  1. Correction de la migration de l'environnement vers un VPS. Une erreur peut se produire pour les Expert Advisors contenant des indicateurs en tant que ressources.

Signaux

  1. Le mode de trading fixe vérifie les signaux copiés. Le trading de symboles peut être limité du côté du courtier, c'est-à-dire que le courtier peut définir des conditions 'long uniquement', 'court uniquement' ou 'clôture uniquement'. Dans les versions antérieures, la synchronisation exigeait des conditions de trading complètes et la copie n'était donc pas autorisée dans tous les autres cas. Après la mise à jour, les conditions partiellement limitées seront considérées comme "trading". Cette capacité sera particulièrement utile pour les clients des courtiers en actions qui souhaitent copier des signaux.

Testeur

  1. Correction des vérifications des sessions de trading pendant les tests. L'exécution de l'opération de trading pouvait échouer pendant le test dans certaines conditions, auquel cas l'erreur "marché fermé" était renvoyée même si l'opération avait été lancée au cours d'une session de trading.
Documentation mise à jour.
2 avril 2021
MetaTrader 5 build 2875 : Améliorations et correctifs

Terminal

  1. Correction d'un bug qui entraînait la copie des programmes standard MQL5 mis à jour dans le répertoire de données racine du terminal au lieu du sous-répertoire MQL5. En raison de cette erreur, des dossiers supplémentaires "Experts", "Images", "Include" et autres pourraient être créés dans le répertoire de données.

    Après la mise à jour de la plateforme, ces dossiers seront vérifiés et automatiquement supprimés.

  1. Correction d'une erreur qui empêchait les utilisateurs de se connecter au chat intégré MQL5.community.
  1. Correction de l'optimisation des Expert Advisors via le MQL5 Cloud Network. L'optimisation peut ne pas démarrer dans certaines conditions.

MetaEditor

  1. Correction d'erreurs et de plantages lors du débogage et du profilage du programme MQL5.

Documentation mise à jour.
26 mars 2021
MetaTrader 5 build 2860: Améliorations pour Wine et poiur l'intégration de SQL

Terminal

  1. Ajout de la possibilité d'activer/désactiver des services MQL5.community supplémentaires. Par exemple, si vous n'êtes pas intéressé par les articles de programmation MQL5 ou par la copie de trading du service Signaux, vous pouvez désactiver la section correspondante pour optimiser les ressources et l'espace de travail du terminal.


    Tous les services sont activés par défaut.

  2. Nous avons considérablement optimisé le fonctionnement du terminal sous Wine sur macOS et Linux:
    • Désormais, les fenêtres de service non ancrées (Navigateur, Boîte à outils) ne peuvent pas être déplacées au-delà des frontières du terminal. Auparavant, cela pouvait entraîner des difficultés à faire glisser les fenêtres vers le terminal.
    • Correction du redimensionnement du contenu de la fenêtre de service lors du redimensionnement de la fenêtre.
    • Correction de l'affichage des mesures de performance dans le Gestionnaire des tâches.
    • Amélioration de l'affichage des icônes sur la barre d'outils.
    • Correction du compteur de messages non lus dans les chats.
    • Correction de l'affichage des commandes système du graphique : Masquer, Développer et Fermer.
    • Correction de l'affichage du journal.
    • Correction de l'affichage des info-bulles des graphiques.
    • Correction des commandes d'impression du graphique.
    • Correction de l'affichage du menu supérieur lors de l'utilisation de skins Linux.
    • Correction de la recherche dans GitHub, MSDN et Stack Overflow dans MetaEditor.

    Nous recommandons à tous les utilisateurs de mettre à jour Wine vers la dernière version stable. Cela augmentera les performances et la fiabilité de la plateforme.
  3. Ajout de la prise en charge des ordres "Market To Limit" lors du trading sur BORSA Istanbul. Un tel ordre est initialement exécuté comme un ordre au marché. Si la liquidité ne suffit pas, le volume restant est ajouté au carnet d'ordres en tant qu'ordre limité avec le dernier prix de transaction.
  4. Correction de l'affichage du graphique de volatilité. Maintenant, le graphique est construit conformément à la date d'expiration sélectionnée sur le tableau des options.
  5. Correction de l'ajout d'instruments de trading au Market Depth via la barre de recherche rapide. Si le nom du symbole comporte un espace, ce symbole ne sera pas ajouté à la liste.


MQL5

  1. Possibilités étendues de travail avec les bases de données SQL. Les requêtes prennent désormais en charge diverses fonctions statistiques et mathématiques.

    Fonctions statistiques
    • mode
    • médiane (50e percentile)
    • percentile_25
    • percentile_75
    • percentile_90
    • percentile_95
    • percentile_99
    • stddev ou stddev_samp - exemple d'écart type
    • stddev_pop - écart type de la population
    • variance ou var_samp - variance de l'échantillon
    • var_pop - variance de la population

    Fonctions mathématiques

    Exemple
    select
      count(*) as book_count,
      cast(avg(parent) as integer) as mean,
      cast(median(parent) as integer) as median,
      mode(parent) as mode,
      percentile_90(parent) as p90,
      percentile_95(parent) as p95,
      percentile_99(parent) as p99
    from moz_bookmarks;
  2. Ajout de nouvelles macros :
    • __COUNTER__ - augmente de un à chaque appel. Des compteurs séparés sont fournis lorsqu'ils sont utilisés dans des modèles et des macros.
    • __RANDOM__ - génère un nombre aléatoire de type ulong ; analogue à la fonction MathRand.

  3. Correction du fonctionnement des requêtes graphiques synchrones dans les cas où le symbole graphique n'existe pas. Désormais, les fonctions renvoient une erreur pertinente au lieu d'attendre indéfiniment un résultat. Une situation avec un symbole inexistant peut être causée par la commutation entre les comptes de trading avec différents ensembles d'instruments de trading.
  4. Fonctions CopyTicks* optimisées et accélérées.

MetaEditor

  1. Changement de l'ordre du profilage et du débogage en utilisant les données historiques.

    Le profilage s'exécute désormais toujours en mode non visuel. Le débogage par défaut s'exécute également en mode non visuel. L'option appropriée peut être activée manuellement dans les paramètres de MetaEditor :




  2. Ajout de la possibilité de profiler les services. Le processus est similaire à d'autres programmes MQL5.
  3. Correction de l'affichage des noms de fonctions dans le rapport du profileur. Dans certaines conditions, les noms peuvent être spécifiés comme <unknown>.

La documentation a été mise à jour.

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

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.

15 janvier 2021
MetaTrader 5 build 2755 : Popup des Prix et améliorations du Débogueur

Terminal

  1. Fenêtre Contextuelle des Prix révisée permettant d'afficher les prix des symboles financiers sur n'importe quelle taille d'écran.

    La fenêtre prend désormais en charge la présentation multi-colonnes, permettant une utilisation efficace de l'espace de l'écran. Pour changer de mode d'affichage, utilisez la boîte de dialogue des propriétés de la fenêtre.


    Les autres améliorations de cette fenêtre sont les suivantes :
    • Ajout du menu de sélection de colonne. Le menu présente les mêmes propriétés de symbole que celles disponibles dans le Market Watch.
    • Fonctionnement optimisé avec un grand nombre d'instruments financiers. Les performances de la fenêtre sont désormais égales aussi pour 10 que pour 1000 instruments.
    • Ajout de l'affichage simplifié de informations sur l'instrument dans une info-bulle.
    • Correction de l'application des paramètres de couleur pour afficher les prix en hausse et en baisse.

  2. Ajout de l'affichage des transactions sur le graphique des ticks du Market Depth synthétique.

    Le Market Depth synthétique est utilisée pour les symboles, pour lesquels les prix de niveau 2 ne sont pas fournis. Dans ce cas, les niveaux sont construits automatiquement, à des distances égales à un pas de changement de prix, à partir des meilleurs prix Bid et Ask. Désormais, si les dernières données de prix et de volume de transaction sont fournies pour un symbole, les données pertinentes sont affichées sur le graphique en ticks. Les informations sont affichées sous forme de cercles :
    • Les cercles rouges indiquent les transactions de vente.
    • Les cercles bleus indiquent les transactions d'achat.
    • Des cercles verts apparaissent lorsque la direction de la transaction n'est pas définie.

    Plus le cercle est grand, plus le volume de la transaction est important.




  3. Correction du calcul des Grecs dans le tableau d'options. Une erreur pouvait survenir si l'actif sous-jacent de l'option avait un prix de dernière transaction nul.
  4. Nous continuons à mettre en œuvre le nouveau service "Abonnements", qui permet la fourniture de services de trading supplémentaires. Récemment, nous avons corrigé l'affichage des abonnements dépendants. Ces abonnements sont utilisés pour les services groupés.
  5. Amélioration du fonctionnement de la plateforme sous Wine.

MQL5

  1. Ajout de la génération d'événements ChartEvent lors du relâchement des boutons droit et central de la souris. Cet événement peut être utilisé lors de la création de panneaux graphiques. Pour activer les événements, désactivez le menu contextuel du graphique via la propriété CHART_CONTEXT_MENU.
  2. Correction d'un bug provoquant une erreur significative dans le temps d'attente de la fonction Sleep.

MetaEditor

  1. Nous avons lancé la mise à jour globale du débogueur. La fenêtre des expressions observées a été considérablement améliorée. Désormais, il permet de visualiser le contenu des tableaux et des objets sous forme de listes déroulantes, ainsi que des valeurs de pointeur.




    Pour visualiser un tableau ou un objet, double-cliquez dessus dans la fenêtre d'observation.

  2. Correction du gel lors de l'ouverture de certains projets.
La documentation a été mise à jour.

26 novembre 2020
MetaTrader 5 build 2715: Améliorations générales

Terminal

  1. Correction du gel de la plateforme lors de l'utilisation du tableau des options. Le gel peut être causé par une taille de tick zéro spécifiée dans les paramètres de l'instrument de trading.
  2. Correction d'erreurs d'affichage de l'interface utilisateur sur les écrans HiDPI.

MQL5

  1. Correction de la conversion de chaîne en date/heure par la fonction StringToTime. Une erreur pouvait se produire lors de la spécification de l'heure sous la forme "aaaammjj [hhmiss]".
  2. Correction du fonctionnement de l'opérateur de copie implicite pour les objets contenant des tableaux dynamiques. Désormais, l'opération réduit la taille de l'objet de destination à la taille de l'objet copié.
    struct MyStruct
    {
      string Array[];
    };
    
    void OnStart()
    {
      MyStruct a1,a2;
      ArrayResize(a1.Array,3);
      ArrayResize(a2.Array,1);
      a1=a2;
    }
    Auparavant, la taille du tableau "a1" était égale à 3 après l'appel de la fonction. Maintenant, la taille sera 1.

MetaTester

  1. Mise à jour de l'algorithme de calcul des notes pour les agents de test du MQL5 Cloud Network. La notation est désormais déterminée avec plus de précision et est modifiée moins fréquemment.

La documentation a été mise à jour.
12 novembre 2020
MetaTrader 5 Platform Build 2690: Améliorations de MetaEditor

Terminal

  1. Correction de l'affichage du Market Depth synthétique. Auparavant, cette fonctionnalité pouvait être indisponible pour certains symboles.

    La profondeur du marché synthétique est utilisée pour les symboles, pour lesquels les prix de niveau 2 ne sont pas fournis. Dans ce cas, les niveaux sont construits automatiquement, à des distances égales à un pas de changement de prix, à partir des meilleurs prix Bid et Ask. C'est un outil pratique pour passer, modifier et supprimer des ordres, rapidement et avec un maximum de clarté.



MQL5

  1. Accès optimisé et grandement accéléré aux derniers prix des programmes MQL5, en utilisant la fonction SymbolInfoTick.
  2. Correction de la réinitialisation des paramètres de l'indicateur Ichimoku Kinko Hyo à partir d'une boîte de dialogue.



  3. Correction du gel des fonctions Copy* lorsque l'historique n'est pas disponible pour un instrument de trading.
  4. Plus d'améliorations dans la mise à jour totale du profileur de code. Les améliorations suivantes ont été mises en œuvre, en plus des innovations présentées dans le build 2650:
    • Amélioration de la présentation des données
    • Des noms de colonnes plus courts sont désormais utilisés dans le rapport
    • Possibilité d'enregistrer des rapports de profilage dans un fichier
    • Ajout de l'affichage d'une info-bulle avec un numéro de ligne pour les fonctions du rapport.



MetaEditor

  1. Ajout de la possibilité de désactiver le suivi du presse-papiers et d'effacer l'historique du presse-papiers.

    La fonction de suivi du presse-papiers améliore la convivialité du code source en fournissant un accès rapide aux données récemment utilisées. Appuyez sur Alt+V à n'importe quelle position du code source, sélectionnez l'une des lignes copiées précédemment dans le menu, et la ligne sera insérée à la position sélectionnée.

    Utilisez la commande de la barre d'outils correspondant ou les paramètres de l'éditeur pour activer/désactiver le suivi.




  2. Correction du calcul de certaines expressions observées lors du débogage du programme.
  3. Le trading est désormais interdit pour les Expert Advisors fonctionnant dans le Strategy Tester en mode de réception de frames.

MetaTester

  1. Correction de l 'importation des résultats d'optimisation dans le Strategy Tester. Une erreur peut entraîner une importation incorrecte des valeurs de la période.

La documentation a été mise à jour.
9 octobre 2020
Nouvelle plateforme MetaTrader 5 build 2650 : chargement des graphiques en arrière-plan et améliorations du profileur de code MQL5

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.

17 septembre 2020
MetaTrader 5 build 2615 : Analyse fondamentale et critères complexes dans le Strategy Tester

Terminal

  1. Extension des fonctionnalités d'analyse fondamentale.
    Ajout de nouvelles propriétés d'instruments de trading, qui permettent une catégorisation plus précise des symboles :
    • Secteur - le secteur de l'économie auquel l'actif appartient, comme l'énergie, la finance, la santé et autres.
    • Industrie - le type d'industrie auquel appartient l'actif, comme les vêtements de sport, les accessoires, la construction automobile, la restauration et autres.
    • Pays - le pays de la société dont les actions sont négociées en bourse.

    Sur la base de ces propriétés, un système distinct a été implémenté dans le Market Watch, permettant des opérations efficaces avec des symboles. Sélectionnez une catégorie dans le menu et tous les instruments disponibles seront ajoutés à une liste pour une analyse approfondie :



    Les propriétés pertinentes ont été ajoutées aux spécifications du contrat :



    De plus, les données fondamentales sur les symboles de trading peuvent désormais être ouvertes directement depuis la plateforme. Des liens vers les plus grands agrégateurs ont été ajoutés au menu contextuel du Market Watch :



    La disponibilité des données étendues est contrôlée par le courtier. Cependant, nous avons assuré la disponibilité par défaut des informations avancées pour le nombre maximum d'instruments. Dès que les courtiers mettent à jour leurs serveurs vers la nouvelle version, les données appropriées sur le pays, le secteur et l'industrie apparaîtront sur vos plateformes.
  2. Amélioration des vitrines Signals et Market. Des boutons de location et d'abonnement ont été ajoutés dans le panneau de gauche :



    D'autres améliorations concernent la conception de la section. Cela inclut des couleurs de bouton plus vives, des boutons de connexion MQL5 plus grands et d'autres améliorations.

  3. Correction du calcul des profits/pertes potentiels pour les niveaux des Stop Loss et Take Profit des graphiques.



  4. Correction d'erreurs dans le calcul des instruments synthétiques. Les erreurs peuvent occasionnellement provoquer le blocage de la plateforme au démarrage.
  5. Correction de l'affichage des valeurs de l'indicateur Fractals intégré dans la fenêtre de données.
  6. Toutes les icônes des barres d'outils de la plateforme ont été mises à jour pour prendre en charge les moniteurs HiDPI.
  7. Ajustement du volume de position fixe pour les signaux de trading copiés. Le réglage pouvait parfois échouer en raison de niveaux d'arrêt mal appliqués, ce qui provoquait l'erreur "stops non valides".
  8. Reconstruction de l'historique des prix optimisée après des modifications importantes sur le serveur.
  9. Correction de l'affichage des info-bulles de trading sur les graphiques. Dans certains cas, des info-bulles étaient affichées sur les graphiques même si l'affichage des niveaux des trades était désactivé.
  10. Correction de l'option "Afficher sur les graphiques \ Mise à jour automatique" dans le menu contextuel des commandes et des positions dans la section "Boîte à outils \ Trade". Désormais, si cette option n'est pas cochée, l'affichage de l'historique des transactions sera désactivé pour tous les graphiques ouverts.

MQL5

  1. Ajout de la fonction MathClassify. Elle détermine le type d'un nombre réel et renvoie un résultat sous forme de valeur de la nouvelle énumération ENUM_FP_CLASS.
    ENUM_FP_CLASS  MathClassify(
       double  value      // nombre réel
       );
    L'énumération contient les valeurs suivantes :
    • FP_SUBNORMAL - un nombre sous-normal qui est plus proche de zéro que le plus petit nombre normal représentable DBL_MIN - 2.2250738585072014e-308.
    • FP_NORMAL - un nombre normal compris entre 2,2250738585072014e-308 et 1,7976931348623158e+308.
    • FP_ZERO - un zéro positif ou négatif.
    • FP_INFINITE - un nombre qui ne peut pas être représenté par le type approprié, l'infini positif ou négatif.
    • FP_NAN n'est pas un nombre.

    Utilisez le code suivant pour vérifier la validité du nombre réel :
    if(MathClassify(value)>FP_ZERO)
      {
       Print("value n'est pas un nombre valide");
      }
  2. Ajout de propriétés de symbole qui peuvent être obtenues à l'aide des fonctions SymbolInfoString :
    • SYMBOL_COUNTRY - le pays de la société dont les actions sont négociées en bourse.
    • SYMBOL_SECTOR_NAME - le secteur de l'économie auquel l'actif appartient, comme l'énergie, la finance, la santé et autres.
    • SYMBOL_INDUSTRY_NAME - le secteur auquel appartient l'actif, comme les vêtements de sport, les accessoires, la construction automobile, la restauration, etc.

    Les propriétés sont renvoyées sous forme d'une chaîne.

    Le secteur et l'industrie auxquels appartient l'instrument peuvent être obtenus comme valeur de dénombrement. Cela peut être fait en demandant les propriétés suivantes à l'aide de la fonction SymbolInfoInteger :

    • SYMBOL_SECTOR
    • SYMBOL_INDUSTRY

    Les énumérations ENUM_SYMBOL_SECTOR et ENUM_SYMBOL_INDUSTRY ont été ajoutées pour travailler avec ces propriétés.

  3. Un nouveau mécanisme de gestion de la mémoire a été implémenté dans les programmes MQL5. Il permet une allocation de mémoire jusqu'à 3 fois plus rapide et évite les éventuelles erreurs d'accès à la mémoire.
  4. Opérations optimisées et accélérées avec l'historique des ticks de compte via les fonctions History*.
  5. Correction d'un appel WebRequest depuis le point d'entrée OnDeinit. Dans les versions antérieures, l'appel de fonction ne pouvait pas être implémenté dans le cas d'un arrêt de l'Expert Advisor.
  6. Correction des appels de fonction WebRequest depuis les services. Auparavant, un appel de fonction pouvait échouer après le redémarrage du service.
  7. Ajout de la vérification de la prise en charge du type double sur un appareil lors de l'utilisation de OpenCL. Le type floate ne peut pas être utilisé dans les calculs financiers en raison d'un arrondi excessif. Par conséquent, la plateforme nécessite explicitement une double prise en charge des calculs. Si le type double n'est pas pris en charge, un message approprié sera écrit dans le journal de la plateforme : le périphérique '<nom>' ne prend pas en charge le type 'double'. Auparavant, un message d'erreur courant était affiché dans de tels cas.
  8. Exécution significativement accélérée de la fonction AccountInfoDouble avec les paramètres ACCOUNT_EQUITY et ACCOUNT_BALANCE.
  9. Correction de l'application de modèles à un graphique via la fonction ChartApplyTemplate.
  10. Correction de l'appel à la fonction ChartSetInteger avec le paramètre CHART_BRING_TO_TOP.
  11. Une nouvelle méthode Conjugate a été ajoutée à la bibliothèque Alglib intégrée. Cette méthode permet le calcul des nombres conjugués pour les nombres complexes. La bibliothèque se trouve dans MQL5\Include\Math\Alglib.
  12. Le code profiler a été entièrement révisé. Le nouveau profiler fonctionne avec une précision et une vitesse plus élevées.
    • L'analyse est maintenant basée sur le code qui est optimisé de la même manière que la compilation de la version finale d'un programme. Cela permet une détermination plus précise de la vitesse d'exécution du code, car exactement le même code sera utilisé pendant l'exécution du programme.
    • Le nouveau profileur utilise la méthode de profilage "Sampling". Cette méthode légère et précise collecte des statistiques de performances des applications en collectant des données de pile d'appels et en calculant les performances à intervalles réguliers.
    • Contrairement aux versions précédentes, le nouveau profileur n'apporte aucune modification au code analysé. La méthode Instrumentation précédemment utilisée a ajouté certaines constructions au code, qui ont été utilisées pour mesurer la vitesse de la fonction. Cela pourrait affecter la vitesse finale du code.

    Le développement du profileur se poursuivra. D'autres améliorations seront disponibles dans les prochaines versions de la plateforme.

Tester

  1. Opérations optimisées avec le MQL5 Cloud Network. Correction du chargement des Expert Advisors sur les agents.
  2. Ajout d'un nouveau critère d'optimisation "Critère Complexe max". Il s'agit d'une mesure intégrale et complexe de la qualité d'un test réussi. Il mesure plusieurs paramètres :
    • Nombre de Transactions
    • Drawdown
    • Facteur de Récupération
    • Payoff Attendu
    • Ratio de Sharpe

    La valeur la plus élevée d'un paramètre (par exemple le profit) n'est pas toujours la meilleure option en termes d'analyse complexe. Le critère complexe sélectionne progressivement les meilleures passes : d'abord, par le nombre de transactions, puis par le gain attendu, le facteur de récupération, et ainsi de suite. La nouvelle option permet de ne garder que les meilleures passes d'optimisation en fonction de tous les paramètres. De plus, vous pouvez sélectionner la passe optimale en fonction du paramètre souhaité, tel que le profit le plus élevé.

    Sélectionnez le nouveau critère dans les paramètres du testeur de stratégie et lancez l'optimisation.



    La valeur "Critère complexe max" sera affichée dans un onglet "Résultat" séparé dans les résultats d'optimisation. Les passes peuvent être triées par cette colonne. Le nouveau critère supporte la mise en couleur pour mettre en évidence visuellement les meilleures passes. Les valeurs inférieures à 20 sont surlignées en rouge et les valeurs supérieures à 80 sont affichées en vert foncé.



  3. Correction du calcul des commissions personnalisées dans le Strategy Tester.

MetaEditor

  1. Nous avons lancé la révision globale des fonctions de gestion de code intelligent (IntelliSense).
    • Les astuces affichent désormais la signature de la fonction complète en plus de son nom.
    • La police de caractères des indices est désormais définie conformément aux paramètres de MetaEditor.
    D'autres améliorations seront disponibles dans les prochaines versions de la plateforme.

La documentation a été mise à jour.

24 juillet 2020
MetaTrader 5 build 2560 : Améliorations du système d'apprentissage intégré

Terminal

  1. Dans la mise à jour précédente de la plateforme, nous avons présenté un système d'apprentissage entièrement révisé. D'autres améliorations ont été mises en œuvre dans la dernière version :
    • L'icône de la barre de progression est devenue plus visible
    • Le texte de certains indices a été révisé
    • Le calcul de la progression de l'apprentissage a été corrigé
    Terminez toutes les leçons pour commencer à utiliser au maximum les capacités de la plateforme.



  2. Traitement optimisé et considérablement accéléré des grands flux de ticks (avec plus de dizaines de milliers de ticks par minute).
  3. Correction d'erreurs dans le calcul des variations de prix par rapport au prix de clôture de la session précédente. Pour visualiser cette variable, activez la colonne "Daily Change" dans le menu contextuel du Market Watch.

MQL5

  1. Accès optimisé et accéléré aux propriétés des graphiques numériques via la fonction ChartGetInteger.
  2. Correction de la recherche d'indicateurs personnalisés, lorsqu'un tel indicateur est demandé à un programme MQL5 via la fonction iCustom.

MetaEditor

  1. Ajout de la compilation de programmes C/C++ dans les projets.

Tester

  1. Travail considérablement optimisé du MQL5 Cloud Network. Grâce à l'amélioration de l'efficacité de la recherche d'agents, le réseau peut répartir les tâches et renvoyer les résultats des calculs plus rapidement.
Documentation mise à jour.

10 juillet 2020
MetaTrader 5 build 2530: tri dans le Market Watch et opérations avancées avec les résultats d'optimisation

Terminal

  1. Une option de tri a été ajoutée à la fenêtre du Market Watch :
    • Cliquez sur le nom d'une colonne pour trier la liste en fonction des données requises, telles que le nom du symbole, le prix de clôture, le changement quotidien ou d'autres variables.
    • Utilisez le nouveau menu avec les options de tri les plus populaires. Le tri selon la croissance et la baisse les plus élevées en fonction de la variation quotidienne du prix du symbole peut être utile lors du trading d'instruments boursiers.



  2. Système d'apprentissage intégré repensé et amélioré.
    Tous les conseils interactifs sont regroupés en différentes catégories pour une navigation plus facile. Le nombre d'éléments terminés et restants est indiqué pour chaque catégorie.



    Chaque conseil est désormais fourni avec une liste de contrôle indiquant l'action clé que l'utilisateur doit exécuter pour terminer la formation.
    Nous avons révisé la conception du système d'apprentissage et corrigé les erreurs dans le calcul de la progression totale.

  3. Ajout du calcul automatisé de l'heure de clôture de la session précédente d'un symbole et de l'heure d'ouverture de sa session actuelle. Si les données appropriées ne sont pas fournies directement par le courtier, le terminal calculera les valeurs en fonction des première et dernière cotations d'une session. Les informations pertinentes peuvent être affichées dans la fenêtre Market Watch : activez les colonnes appropriées dans la section "Symboles" ou accédez à la section "Détails".



  4. Application optimisée et accélérée des prix aux positions ouvertes. Lorsque de nouveaux ticks arrivent dans le terminal, les prix, les bénéfices et les marges sont mis à jour plus rapidement.
  5. Calcul fixe de l'Oscillateur Stochastique intégré. Une erreur peut se produire en cas de nombre limité de barres affiché sur les graphiques.

MQL5

  1. Fonction AccountInfo* optimisées et accélérées donnant accès aux propriétés du compte de trading.
  2. Accès optimisé et accéléré aux propriétés des graphiques numériques via la fonction ChartGetInteger.

MetaEditor

  1. Les commandes de menu contextuel suivantes ont été ajoutées aux onglets d'édition de code pour des opérations efficaces avec le MQL5 Storage :
    • Comparer une copie de travail d'un fichier avec la révision actuelle
    • Rétablir les changements
    • Afficher l'historique des modifications de fichiers



  2. Modification de la surbrillance des parenthèses correspondantes. Maintenant, la mise en évidence est appliquée aux parenthèses et non à l'arrière-plan. La surbrillance est désactivée par défaut. Elle peut être activée dans les paramètres de l'éditeur.


  3. Amélioration des fonctions de recherche et de remplacement:
    • Si vous sélectionnez un texte dans le fichier et ouvrez la boîte de recherche, le texte sera automatiquement remplacé dans le champ "Rechercher". Si aucun texte n'est sélectionné, le texte du presse-papier sera collé dans le champ "Rechercher". Si le presse-papier est vide, le focus dans la zone de recherche sera mis sur le champ "Rechercher".
    • Un comportement similaire est implémenté pour la fenêtre de remplacement : le texte sélectionné est inséré dans le champ de recherche et le curseur est déplacé vers le champ "Remplacer par". Ainsi, vous pouvez immédiatement saisir le nouveau texte requis.
    • Les résultats de la recherche et du remplacement sont désormais affichés dans le journal au lieu de la boîte de dialogue distincte précédemment utilisée. Si la fenêtre Boîte à Outils est activée, l'onglet Journal y sera automatiquement sélectionné. Ainsi, vous n'avez pas besoin de travailler avec des fenêtres supplémentaires.

  4. Correction de la recherche dans la fenêtre de comparaison de fichiers lors de l'utilisation du stockage MQL5.
  5. Ajout de la possibilité de rechercher et de remplacer des fichiers connectés au fichier actuel via la directive #include.
    La nouvelle option permet des opérations plus rapides avec des projets composés de plusieurs fichiers. Par exemple, pour remplacer un texte dans tous les fichiers, vous n'aurez pas besoin de spécifier leurs répertoires manuellement, tandis que l'éditeur peut les trouver automatiquement via les directives #include.


Tester

  1. Nous avons révisé les critères d'optimisation qui incluent deux variables, dont le solde. Maintenant, les critères ne prennent en compte que la deuxième variable et ignorent le solde. Les nouveaux critères d'optimisation sont plus faciles à analyser.

    • Solde + Rentabilité Maximale -> Rentabilité Maximale
    • Solde + Gain Maximal Attendu -> Gain Maximal Prévu
    • Solde + Drawdown Minimum -> Drawdown Minimum
    • Solde + Facteur de Récupération Maximum -> Facteur de Récupération Maximum
    • Solde + Ratio de Sharpe maximum -> Ratio de Sharpe maximum




  2. Dans le sous-menu "Paramètres d'optimisation", nous avons ajouté des commandes pour afficher ou masquer rapidement toutes les colonnes d'entrée dans le tableau des résultats d'optimisation :



  3. Ajout d'une coloration pour le tableau et le graphique des résultats d'optimisation, pour une analyse visuelle plus pratique.
    Le graphique est coloré avec un dégradé vert à rouge, selon la valeur du critère d'optimisation. Les couleurs suivantes sont utilisées pour le tableau :
    • Solde : les valeurs au-dessus du dépôt initial sont colorées en bleu et celles en dessous du dépôt initial sont affichées en rouge.
    • Bénéfice : le bleu est utilisé pour les valeurs supérieures à zéro et le rouge est utilisé pour les valeurs inférieures à zéro.
    • Paiement Attendu : le bleu est utilisé pour les valeurs supérieures à zéro et le rouge est utilisé pour les valeurs inférieures à zéro.
    • Drawdown : du vert (0-5%) au rouge (au-dessus de 30%).
    • Ratio de Sharpe : du vert (supérieur à 2) au rouge (inférieur à 0).
    • Facteur de Récupération : du vert (supérieur à 2) au rouge (inférieur à 1).



  4. Tester : Ajout de filtres dans le tableau des résultats d'optimisation. Utilisez des filtres pour masquer les passes infructueuses de la liste :
    • Passes sans trades
    • Passes perdantes
    • Passes avec un drawdown supérieur à 50%
    • Passes avec un Facteur de Récupération inférieur à 1
    • Passes avec le Ratio de Sharpe inférieur à 0,5



  5. Travail optimisé du MQL5 Cloud Network. Désormais, lorsqu'une optimisation est lancée pour le même Expert Advisor, le réseau essaie d'utiliser les mêmes agents de test que ceux utilisés lors de la précédente passe d'optimisation, car l'environnement de marché requis, y compris l'historique de trading, est déjà disponible sur ces agents.
Documentation mise à jour.


26 juin 2020
MetaTrader 5 iOS build 2505: Balayages, nouvelles sections et schémas de couleurs

MetaTrader 5 iOS build 2505

Nous avons recueilli les commentaires des utilisateurs de MetaTrader 5 iOS et repensé considérablement l'application

  • Ajout de la recherche de symboles dans la section des quotes.
  • Ajout du jeu de couleurs par défaut "couleur sur blanc" pour les graphiques.
  • Ajout de l'affichage des transactions sur les graphiques.
  • Déplacement vers le haut du panneau de changement des périodes afin qu'il ne chevauche plus le graphique.
  • Ajout d'une mise à l'échelle verticale des graphiques - glissez simplement l'échelle des prix.
  • Ajout de la possibilité de déplacer des comptes vers d'autres appareils à l'aide de QR codes.
  • Ajout de l'affichage du changement de prix quotidien en pips dans la section quotes. Les données ne sont disponibles que si elles sont fournies par un courtier.
  • Ajout de la prise en charge des balayages vers les écrans Quotes, Historique et Trade.
  • Ajout de la sélection adaptative du volume de trading pour un trading rapide.
  • Ajout de la possibilité d'accéder au générateur OTP via FaceID ou empreinte digitale.
La navigation sur iPad a été repensée
  • Déplacement du panneau de trading en un clic vers le haut ;
  • Ajout du menu du bas avec des sections et des indicateurs ;
  • Déplacement des sections de courrier électronique, des nouvelles et de gestion du compte dans des onglets séparés ;
  • Amélioration de la gestion des comptes.
5 juin 2020
MetaTrader 5 build 2485: Améliorations de iCustom et optimisation globale dans MQL5

Terminal

  1. Edition d'historique des barres optimisée et considérablement accélérée pour les instruments financiers personnalisés. L'amélioration concerne également la fonction CustomRatesUpdate.
  2. Correction de l'export des paramètres de symboles personnalisés vers un fichier JSON.
  3. Correction des erreurs signalées dans les journaux de plantage.

MQL5

  1. Cette version dispose d'un algorithme de chargement d'indicateur personnalisé révisé via iCustom.

    Si le backslash '\' est indiqué avant le nom de l'indicateur personnalisé, le fichier EX5 de l'indicateur est recherché par rapport au dossier racine MQL5. Ainsi, pour un appel de iCustom(Symbol(), Period(), "\FirstIndicator"...), l'indicateur sera chargé depuis MQL5\FirstIndicator.ex5. Si le fichier est introuvable sur ce chemin, l'erreur 4802 (ERR_INDICATOR_CANNOT_CREATE) est renvoyée.

    Si le chemin ne commence pas par un backslash '\', l'indicateur est recherché et chargé en fonction de la séquence d'actions suivante :

    • Le fichier EX5 est recherché dans le même dossier, où se trouve l'EX5 du programme appelant. Par exemple, l'Expert Advisor CrossMA.EX5 est situé dans MQL5\Experts\MyExperts. Il contient l'appel suivant : iCustom(Symbol(), Period(), "SecondIndicator"...). Dans ce cas, l'indicateur est recherché dans MQL5\Experts\MyExperts\SecondIndicator.ex5.
    • Si l'indicateur n'est pas trouvé, une recherche relative au répertoire racine Indicators est effectuée : MQL5\Indicators. Ainsi, le fichier MQL5\Indicators\SecondIndicator.ex5 est recherché. Si l'indicateur n'est pas trouvé, la fonction renvoie INVALID_HANDLE et l'erreur 4802 (ERR_INDICATOR_CANNOT_CREATE) est déclenchée.

    Si le chemin de l'indicateur est défini dans un sous-répertoire tel que MyIndicators\ThirdIndicator, la recherche démarre dans le dossier du programme appelant (l'Expert Advisor se trouve dans le dossier MQL5\Experts\MyExperts) au chemin suivant : MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5. En cas d'échec, le fichier MQL5\Indicators\MyIndicators\ThirdIndicator.ex5 est recherché. Veuillez noter que le séparateur de chemin doit être spécifié par un double backslash '\\'. Par exemple : iCustom(Symbol(), Period(), "MyIndicators\\ThirdIndicator"...)

    De plus, si un appel d'indicateur personnalisé via iCustom est trouvé dans le code du programme, le compilateur ajoutera implicitement la directive "#property tester_indicator XXX" si elle n'est pas spécifiée.

  2. Fonction HistorySelect optimisée et considérablement accélérée, qui permet de demander l'historique des transactions et des ordres.
  3. Correction d'une erreur occasionnelle lors de la demande de tick via la fonction CopyTicksRange. L'erreur a provoqué le début de la plage à définir au début du jour plutôt qu'à l'heure spécifiée.
  4. Affichage optimisé et considérablement accéléré des alertes via la fonction Alert.
  5. Nouvelle propriété SYMBOL_TIME_MSC pour le dernier temps de tick du symbole en millisecondes. La propriété peut être obtenue à l'aide de la fonction SymbolInfoInteger.
29 mai 2020
MetaTrader 5 build 2470

Terminal

  • Correction d'un bug qui entraînait l'impossibilité d'ajouter des symboles financiers avec '-', '=', '_' et '+' dans leurs noms dans le Market Watch.

MQL5

  • Correction de la recherche étendue par les caractères de fin de ligne '\n' et '\r'.

Documentation mise à jour.
22 mai 2020
MetaTrader 5 Build 2450 : service "Abonnements", améliorations de l'interface utilisateur et fonctionnalités révisées dans MetaEditor

Terminal

  1. Nous avons lancé le tout nouveau service d'abonnements. Les abonnements offrent des services supplémentaires qui peuvent vous aider dans le trading. Par exemple, vous pouvez vous abonner à des données de marché de haute qualité provenant de fournisseurs bien connus, analyser les données reçues et développer de nouvelles stratégies de trading. En option, vous pouvez demander des services de gestion personnelle pour vous aider à apprendre les bases du trading ou à maîtriser vos compétences d'utilisation de la plateforme.

    Le service est en cours de développement et sera disponible pour une utilisation dans les prochaines versions.

    Comment ça marche
    Une nouvelle section Abonnements a été ajoutée dans le Navigator. Tous les services disponibles sont affichés dans cette section. La liste des services est configurée côté courtier et dépend donc du serveur auquel vous êtes connecté. Les abonnements sont divisés en catégories pour une navigation facile.



    Sélectionnez un service pour afficher sa description détaillée. Cliquez ensuite sur S'abonner. Tous vos abonnements actifs sont affichés dans une section distincte.


    Lorsque vous vous abonnez aux données du marché, les instruments de trading correspondants deviennent disponibles et peuvent être sélectionnés dans le Market Watch. Ils peuvent être utilisés comme symboles réguliers : afficher les cotations dans le Market Watch, ouvrir des graphiques et les analyser à l'aide d'objets et d'indicateurs, ainsi que lancer des Expert Advisors dans le testeur de stratégie. Les opérations de trading de ces symboles ne sont pas prises en charge.

    Comment payer les abonnements
    Vous pouvez payer les services en utilisant les fonds de votre compte de trading. Il n'est pas nécessaire de visiter d'autres sites Web, car le paiement peut être effectué directement à partir de la plateforme.

    Nous ajouterons bientôt la possibilité d'acheter des abonnements aux données du marché en vous connectant à MetaQuotes-Demo
    Nous prévoyons de mettre en place des abonnements aux données du marché de différentes bourses à travers le monde. En quelques clics, vous pourrez recevoir des cotations en temps réel du Nasdaq, CME, NYSE, BOVESPA et d'autres bourses. Vous pourrez payer les abonnements en utilisant un compte MQL5.community, de la même manière que les achats sur le Market, Signals et l'Hébergement.

  2. Ajout d'une nouvelle option "Afficher le ticker" dans les paramètres du graphique. L'option affiche/masque la ligne contenant le nom du symbole de trading, le calendrier et un commentaire personnalisé.



  3. Ajout de l'option "Afficher l'historique des transactions" dans les paramètres du terminal et dans les paramètres du graphique. La possibilité d'afficher les entrées et les sorties du marché sur les graphiques était disponible dans les versions précédentes, mais elle était gérée à partir de la section "Boîte à outils \ Historique". La nouvelle option permet un réglage plus confortable de l'affichage de l'historique. Vous pouvez le configurer pour tous les graphiques à la fois ou le définir séparément pour les graphiques souhaités.



    De plus, vous pouvez rapidement activer l'affichage de l'historique et des niveaux de trading à l'aide du menu contextuel du graphique:



  4. Ajout d'un nouveau schéma "Couleur sur blanc" dans les paramètres du graphique.



  5. De nouvelles commandes ont été ajoutées aux menus contextuels de position et d'ordre, permettant une ouverture rapide du Market Depth et du graphique du symbole concerné :



  6. Ajout de la mise en évidence du cadre graphique. Cela vous aidera à trouver le graphique de symboles souhaité lorsque plusieurs graphiques sont ouverts dans le terminal. Sélectionnez un symbole dans le Market Watch, une ligne d'ordre ou de position dans la section de trading ou d'historique, ou une alerte, et le cadre du graphique de symboles approprié clignotera trois fois.


  7. Affichage amélioré des niveaux de trading sur le graphique.
    • Les tickets ne sont plus affichés pour les positions, les ordres et les niveaux, afin de garder le graphique propre
    • Les légendes apparaissent en majuscules pour une meilleure lisibilité
    • Les volumes sont affichés sans la partie fractionnaire si elle est nulle
    • Les niveaux sont masqués si la hauteur du graphique est inférieure à 80 pixels


  8. Ajout de l'affichage de la description du symbole (si disponible) dans le coin supérieur gauche du graphique, en plus du nom du symbole.




  9. De nouvelles colonnes ont été ajoutées dans la liste des ordres et positions ouverts :
    • Variation - pourcentage de rentabilité de l'opération
    • Valeur - la valeur du marché de la position
    • Magic - l'identifiant des ordres et positions ouverts par l'expert-conseil (numéro magique)

    Les nouvelles colonnes peuvent être affichées/masquées à l'aide du menu contextuel.

    Les colonnes valeur et magic de la position ont également été ajoutées à la section historique des trades.

    En outre, le champ de profit dans les sections positions ouvertes et historique est mis en évidence en fonction du résultat de l'opération.

  10. Ajout de la prise en charge des prix négatifs. Cela permet un bon fonctionnement de la plateforme dans des situations similaires à la récente baisse des prix du pétrole en dessous de zéro. Ceci comprend :
    • Affichage des cotations dans le Market Watch
    • Affichage des graphiques et du Market Depth
    • Exécution des opérations de trading
    • Calcul des bénéfices et des sûretés

  11. Le nombre maximum de symboles pouvant être activés simultanément dans le Market Watch a été augmenté à 5000.
  12. Correction du tri dans les chats par date de dernière mise à jour.
  13. Fonctionnement optimisé et accéléré avec un grand nombre de symboles de trading (50 000 et plus).
  14. Correction d'un bug à cause duquel il était impossible de fermer une position si son volume actuel ne correspondait pas au pas de changement de volume du symbole.

MQL5

  1. Opérations optimisées et accélérées avec l'historique des ticks.
  2. Ajout de nouvelles fonctions pour travailler avec des bases de données :
    • DatabaseReset - réinitialise la requête à l'état initial, semblable à l'appel DatabasePrepare. La fonction est destinée à l'exécution multiple d'une demande avec différentes valeurs de paramètre. Par exemple, lors de l'ajout de données à la table en bloc à l'aide de la commande INSERT, un ensemble personnalisé de valeurs de champ doit être formé pour chaque entrée.
    • DatabaseBind - définit une valeur de paramètre dans une requête. La fonction est utilisée dans le cas où une requête SQL contient "?" ou "?N" valeurs paramétrables où N signifie l'indice de paramètre (à partir de un).
    • DatabaseBindArray - définit un tableau comme valeur de paramètre.

  3. Ajout de l'indicateur FSD_FILE_MUST_EXIST pour la fonction FileSelectDialog. Il indique que les fichiers sélectionnés doivent exister.
  4. Des valeurs pour décrire les options ont été ajoutées à l'énumération ENUM_SYMBOL_INFO_DOUBLE:
    • SYMBOL_PRICE_CHANGE - variation du prix actuel par rapport à la fin du jour de bourse précédent en %.
    • SYMBOL_PRICE_VOLATILITY - volatilité des prix en %.
    • SYMBOL_PRICE_THEORETICAL - prix d'option théorique.
    • SYMBOL_PRICE_DELTA - delta de l'option/du warrant. Affiche la valeur par laquelle le prix de l'option change lorsque le prix de l'actif sous-jacent change de 1.
    • SYMBOL_PRICE_THETA - theta de l'option/du warrant. Nombre de points que le prix de l'option doit perdre chaque jour en raison d'une rupture temporaire, c'est-à-dire à l'approche de la date d'expiration.
    • SYMBOL_PRICE_GAMMA - gamma de l'option/du warrant. Affiche le taux de modification du delta - la vitesse à laquelle la prime d'option change.
    • SYMBOL_PRICE_VEGA — vega de l'option/du warrant. Indique le nombre de points dont le prix de l'option change lorsque la volatilité change de 1%.
    • SYMBOL_PRICE_RHO — rho de l'option/du warrant. Reflète la sensibilité du prix de l'option théorique au changement de taux d'intérêt de 1%.
    • SYMBOL_PRICE_OMEGA — omega de l'option/du warrant. Élasticité de l'option - une variation relative en pourcentage du prix de l'option par la variation en pourcentage du prix de l'actif sous-jacent.
    • SYMBOL_PRICE_SENSITIVITY - sensibilité de l'option/du warrant. Indique par combien de points le prix de l'actif sous-jacent de l'option devrait changer de sorte que le prix de l'option change d'un point.

  5. Ajout de l'exportat des champs BLOB au format HEX dans la fonction DatabaseExport.
  6. Une nouvelle propriété CHART_SHOW_TICKER a été ajoutée à ENUM_CHART_PROPERTY_INTEGER - affichant un ticker du symbole dans le coin supérieur gauche. Si CHART_SHOW_TICKER est défini sur false, CHART_SHOW_OHLC est également défini sur false et donc OHLC est masqué.   
  7. La qualité du code généré par le compilateur a été améliorée. Cela a permis d'augmenter sa vitesse d'exécution.
  8. Correction d'erreurs liées à la compilation et à l'exécution des fonctions et classes de modèle. Celles-ci sont :
    • Erreur d'incompatibilité de priorité pour les appels de fonction de modèle surchargés
    • Erreur de génération de méthode/classe de modèle
    • Erreur provoquée par une tentative d'accès à une classe interne pour un paramètre de modèle d'une fonction de modèle
    • Erreur de génération de code de classe de modèle provoquée par l'utilisation d'une classe interne.
    • Erreur lors de l'utilisation de l'objet modèle B<int> avant B<void *>
    • Erreurs dans la création d'objets complexes de type C interne et encapsulés plusieurs fois
    • Erreur lors du transfert de l'argument du pointeur de fonction en tant que modèle de référence const
    • Erreur lors de la transmission de la structure interne à une fonction de modèle
    • Erreur d'inadéquation des priorités pour l'exécution des fonctions de modèle
    • Nombre de parenthèses incorrect dans les boucles for et do-while
    • Nombre de parenthèses incorrect dans la description de la structure de classe
    • Ralentissement lors de l'ajout d'un élément à la fois à l'aide d'ArrayResize
    • Erreur lors du choix d'une fonction surchargée correspondante

  9. Correction d'erreurs occasionnelles dans la fonction CustomTicksReplace.
  10. Correction de la sélection de la période d'affichage pour l'historique des ordres de trading. Maintenant, la plage est basée sur la date d'exécution de l'ordre au lieu de la date de création précédemment utilisée.

Python

  1. Le paramètre path a été ajouté à la méthode initialize - chemin d'accès à metatrader.exe ou metatrader64.exe. Si le chemin n'est pas spécifié, le module tente de trouver le fichier exécutable par lui-même.
  2. Les nouvelles méthodes suivantes ont été ajoutées :
    • symboles_get - retourne tous les symboles financiers du terminal MetaTrader 5.
    • symboles_total - retourne le nombre de tous les symboles financiers dans le terminal MetaTrader 5.

  3. Ajout du filtrage par groupes de symboles pour les fonctions suivantes : orders_get, positions_get, history_orders_get et history_deals_get. Utilisez les appels ayant le paramètre "group".
  4. La valeur de retour de order_send et order_check est maintenant transmise avec le champ 'request' contenant la description complète de la requête d'origine. Par exemple :
    ...
    comment=Request executed
    request_id=55
    retcode_external=0
    request=TradeRequest(action=1, magic=234000, order=0, symbol='USDJPY', volume=0.1, price=108.018, stoplimit=0.0, ...
        traderequest: action=1
        traderequest: magic=234000
        traderequest: order=0
        traderequest: symbol=USDJPY
        traderequest: volume=0.1
        traderequest: price=108.018
        traderequest: stoplimit=0.0
    ...
  5. Lorsqu'ils sont lancés sur un graphique, les scripts Python reçoivent désormais le symbole du graphique et la période (en minutes) comme arguments.
    import sys
    
    chart_symbol='unknown'
    chart_tf=1
    
    if len(sys.argv) == 3:
        chart_symbol, chart_tf = sys.argv[1:3];
    
    print("Hello world from", chart_symbol, chart_tf)
    
    >> Hello world from T.NYSE 15

MetaEditor

  1. Ajout de la commande "Ajouter un dossier existant". Il permet l'ajout par lots de tous les fichiers pris en charge du répertoire sélectionné dans le projet.


  2. Recherche étendue et options de remplacement.

    Ajout de fonctionnalités de recherche étendues avec prise en charge partielle des expressions régulières. Utilisez \r, \n, \t pour spécifier les caractères de saut de ligne et de tabulation dans les requêtes de recherche. Les boîtes de dialogue de recherche et de remplacement ont été combinées en une seule boîte de dialogue multi-onglets.


    Ajout d'un onglet séparé pour la recherche dans les communautés de programmeurs. Celles-ci incluent la MQL5.community, ainsi que GitHub, MSDN et Stack Overflow.

    Les résultats de la recherche à partir de ressources externes apparaissent dans la fenêtre de la boîte à outils MetaEditor :



    De plus, vous pouvez immédiatement télécharger les fichiers source depuis GitHub. Les fichiers sont téléchargés dans un sous-répertoire distinct du dossier Projets, nommé conformément au nom du projet GitHub.

    Les résultats de la recherche peuvent également être triés par date.

  3. Ajout de la possibilité de changer rapidement la taille de la police dans la fenêtre d'édition de code. Pour modifier la taille de la police, appuyez sur Ctrl et faites défiler la molette de la souris.
  4. Ajout de la possibilité d'importer des tables de fichiers CSV vers des tables de base de données. Les paramètres suivants peuvent être définis lors de l'import :
    • Nom de table dans la base de données
    • Détection automatique ou manuelle de l'encodage des fichiers
    • Type de séparateur de données
    • Saut du nombre de lignes spécifié au début
    • Préfixe de commentaire
    • Si le fichier a des noms de colonne
    • Comment les sauts de ligne seront déterminés
    • Si les données doivent être ajoutées à une nouvelle table ou à une table existante
    • Quels guillemets utiliser pour les chaînes de caractères


  5. Ajout de commandes rapides pour insérer l'heure et la couleur dans le code source du programme. Sélectionnez les valeurs souhaitées dans le calendrier interactif et la palette, et l'éditeur les insérera au format approprié.


  6. La prise en charge de MQL4 a été désactivée, car seul le code 64 bits est généré maintenant.
  7. Correction de l'opération Classe snippet.
  8. Correction du support pour les chemins absolus dans les projets.
Documentation mise à jour.

6 mars 2020
MetaTrader 5 build 2360 : Extension de l'intégration de SQLite
  1. MQL5 : les erreurs d'utilisation des bases de données SQLite peuvent maintenant être analysées avec les outils MQL5 standards. Les codes d'erreur suivants ont été ajoutés :

    • ERR_DATABASE_ERROR — erreur générique.
    • ERR_DATABASE_INTERNAL — erreur de logique interne de SQLite.
    • ERR_DATABASE_PERM — accés refusé.
    • ERR_DATABASE_BUSY — fichier de la base de données verrouillé.
    • ERR_DATABASE_LOCKED — table de la base de données verrouillée.
    • ERR_DATABASE_NOMEM — mémoire insuffisante pour terminer l'opération.
    • ERR_DATABASE_READONLY — tentative d'écriture dans une base de données en lecture seule.
    • ERR_DATABASE_IOERR — erreur de lecture/écriture sur le disque.
    • ERR_DATABASE_CORRUPT — image disque de la base de données corrompue.
    • ERR_DATABASE_FULL — échec de l'insertion car la base de données est pleine.
    • ERR_DATABASE_CANTOPEN — impossible d'ouvrir le fichier de base de données.
    • ERR_DATABASE_PROTOCOL — erreur de protocole de verrouillage de la base de données.
    • ERR_DATABASE_SCHEMA — usage interne uniquement.
    • ERR_DATABASE_TOOBIG — la taille de la chaîne de caractères ou du BLOB est supérieure à la limite.
    • ERR_DATABASE_CONSTRAINT — annulation en raison d'une violation de contrainte.
    • ERR_DATABASE_MISMATCH — incohérence de types de données.
    • ERR_DATABASE_MISUSE — bibliothèque utilisée de façon incorrecte.
    • ERR_DATABASE_AUTH — autorisation refusée.
    • ERR_DATABASE_RANGE — erreur de lien avec le paramètre, indice incorrect.
    • ERR_DATABASE_NOTADB — le fichier ouvert n'est pas un fichier de base de données.

  2. MQL5 : Correction de l'utilisation de la fonction DatabaseImport permettant l'import de données depuis un fichier dans une table de la base de données.
  3. MetaEditor : Correction de l'affichage des chaînes de plus de 32 Ko vers les journaux.
  4. MetaEditor : Correction d'un encodage incorrect occasionnel dans les messages envoyés depuis la console Python (stdout, stderr) dans la section Erreurs de l'éditeur.
  5. Documentation mise à jour.

précédent1234567891011121314