MetaTrader 5 Build 1570 : vitrine du Market améliorée et template de fonctions MQL5 améliorés

Amélioration de la vitrine du MetaTrader Market, la boutique d'applications

24 mars 2017

Terminal

  1. Amélioration de la vitrine du MetaTrader Market, la boutique d'applications. Vous pouvez maintenant naviguer parmi les robots de trading et les indicateurs techniques de façon plus pratique. Nous avons amélioré le design et ajouté la sélection de produits :

    • La page principale présente maintenant les experts et les indicateurs les plus populaires, les nouveaux produits du Market, mais aussi les meilleures applications gratuites.
    • Les sections Experts, Indicateurs et Utilitaires ont maintenant des sous-sections : robots de grille et de hedging, indicateurs de tendances et multi-devises, et bien plus encore.




  2. Correction de la mise à jour du terminal client et des achats intégrés dans le Market, dans le service Signaux et pour l'Hébergement Virtuel lors de l'utilisation d'un compte Windows disponsant de droits limités.
  3. Correction du tri parfois incorrect de l'historique des positions.
  4. Optimisation et correction de l'affichage dans l'onglet Exposition.

MQL5

  1. Ajout du support des surcharges des template de fonctions utilisant des paramètres. Par exemple, nous avons un template de fonction écrivant la valeur du second paramètre dans le premier en utilisant du casting de type. MQL5 ne permet pas de caster le type string vers le type bool. Cependant, nous pouvons le faire nous-mêmes. Créons une surcharge d'un template de fonction :
    //+------------------------------------------------------------------+
    //| Template de fonction                                             |
    //+------------------------------------------------------------------+
    template<typename T1,typename T2>
    string Assign(T1 &var1,T2 var2)
      {
       var1=(T1)var2;
       return(__FUNCSIG__);
      }
    //+------------------------------------------------------------------+
    //| Surcharge spéciale pour bool+string                              |
    //+------------------------------------------------------------------+
    string Assign(bool &var1,string var2)
      {
       var1=(StringCompare(var2,"true",false) || StringToInteger(var2)!=0);
       return(__FUNCSIG__);
      }
    //+------------------------------------------------------------------+
    //| Fonction de lancement du programme                               |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       int i;
       bool b;
       Print(Assign(i,"test"));
       Print(Assign(b,"test"));
      }
    Nous pouvons voir dans le résultat de l'exécution que le template de fonction Assign() a été utilisé pour la paire int+string, tandis que la version surchargée a déjà été utilisée pour la paire bool+string pendant le deuxième appel.
    string Assign<int,string>(int&,string)
    string Assign(bool&,string)

  2. Ajout de la spécialisation explicite des templates de fonctions. Pour cela, spécifiez les paramètres de type avant la liste des paramètres d'appel :
    template<typename T>
    T Func() { return (T)0; }
      
      
    void OnInit()
      {
       Func<double>();   // spécialisation explicite du template de fonction
      }
    Le changement de type est effectué par la spécification explicite des types plutôt que via les paramètres d'appel.

  3. Optimisation de l'affichage des indicateurs personnalisés avec le type de dessin DRAW_ZIGZAG.
  4. Ajout de nouvelles valeurs dans l'éunumération des types de deal ENUM_DEAL_TYPE :

    • DEAL_DIVIDEND — opération de dividendes.
    • DEAL_DIVIDEND_FRANKED — opération de dividendes franche (la taxe est payée par une société, pas par le client).
    • DEAL_TAX — facturation d'une taxe.

  5. Correction de l'affichage des indicateurs personnalisés avec le type de dessin DRAW_FILLING. Dans le cas où les coordonnées des lignes supérieure et inférieure correspondent, une fine ligne est dessinée.
  6. Correction du calcul des coordonnées de l'objet Etiquette Bitmap lors de la définition du paramètre CHART_SHOW à 'false'. Le paramètre est défini par la fonction ChartSetInteger et permet de cacher tous les éléments du graphique des prix pour créer une interface personnalisée.
  7. Correction du ré-encodage des images 24 bits lors de leur placement dans les ressources des applications MQL5.
  8. Correction de l'affichage des structures avec la fonction ArrayPrint.
  9. Mise à jour des bibliothèques standards MQL5.

MetaEditor

  1. Ajout de la traduction de l'interface utilisateur en malais.

Signaux

  1. Correction de l'ouverture de la page d'un signal dans le terminal depuis le site Internet de la MQL5.community si aucun compte de trading n'est connecté.

Tester

  1. Correction du fonctionnement de la fonction CopyTicks dans le strategy tester.
  2. Corretion du tri des trades de Retrait lors de la génération d'un rapport.
  3. Correction de la modification des ordres en attente.

Hébergement

  1. Correction de l'affichage de l'assistant d'hébergement virtuel sur les écrans en ultra-haute résolution (4К).

Mise à jour de la documentation.