MetaTrader 5 build 2485: Améliorations de iCustom et optimisation globale dans MQL5

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

5 juin 2020

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.