Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Twitter !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Vues:
293
Note:
(37)
Publié:
Mise à jour:
xmlparser-doc.zip (36.87 KB)
xmlparserdll.zip (235.42 KB)
\MQL5\Include\ \MQL5\Scripts\
MQL5 Freelance Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance

La classe CXmlElement offre les fonctionnalités suivantes pour manipuler le XML :

  • créer un modèle DOM (arborescence d'objets) à partir d'un document XML (ou d'un élément isolé) ;
  • lire, modifier, créer et supprimer des attributs, des éléments imbriqués et du texte ;
  • enregistrer le modèle objet au format XML.
Interface de la classe

class CXmlElement 
{
public:
  string        Name;
  CXmlElement   *Elements[];
  CXmlAttribute *Attributes[];
  string        Text;
  ...  
  string SetXml (string xml);
  string GetXml ();
};

Pour accéder aux attributs des éléments, on utilise la classe simple CXmlAttribute:

class CXmlAttribute 
{
public:
  string Name;
  string Value;
};

Voici un exemple de script qui analyse un fichier XML et affiche les informations issues de l'arborescence DOM :

void OnStart()
  {
   CXmlElement xmldoc;
   string xml="<!--Comment--><ROOT><ITEM  Attr1=\"HELLOW\">Terminal &quot;MT5&quot;</ITEM></ROOT>";
   Print("XML="+xml);
   string res=xmldoc.SetXml(xml);
   if(res=="") 
     {
      Print(« Élément racine : »+xmldoc.Name);
      Print(«  Attributs : »+string(ArraySize(xmldoc.Attributes)));
      Print(«  Éléments imbriqués : »+string(ArraySize(xmldoc.Elements)));
      Print(«  Premier élément imbriqué : »+xmldoc.Elements[0].Name);
      Print(«    Sa première caractéristique : »+xmldoc.Elements[0].Attributes[0].Name+"="+xmldoc.Elements[0].Attributes[0].Value);
      Print(«    Son texte : « »+xmldoc.Elements[0].Text);
      Print("XML="+xmldoc.GetXml());
     }
   else
      Print(res);
  }

Voici le résultat :


Informations complémentaires :

  • La version actuelle ne charge dans le DOM que les éléments, leurs attributs et leur texte. Tous les autres types d'informations (commentaires, descriptions, etc.) sont ignorés. En conséquence, les informations relatives à l'encodage et à la version sont perdues, et le XML ne sera pas toujours enregistré correctement.
  • Lors de l'enregistrement, les caractères de service <"&'> sont convertis en &lt;, &gt;, … conformément à la norme.
  • Ce parseur est principalement destiné à l’analyse de fichiers XML plutôt qu’à un traitement complet de ces documents.

Emplacement des fichiers :

  • Répertoire_de_données_du_terminal\MQL5\Libraries\xmlparser.dll
  • Répertoire_de_données_du_terminal\MQL5\Include\xmlparser.mqh
  • Répertoire_de_données_du_terminal\MQL5\Scripts\xmlparserscript.mq5

Traduit du russe par MetaQuotes Ltd.
Code original : https://www.mql5.com/ru/code/97

iBBFill iBBFill

Les bandes de Bollinger colorées (remplies).

iMovment iMovment

L'indicateur Movment affiche des barres de couleurs et de nuances différentes en fonction de la direction et de l'amplitude du mouvement.

SignalAI - Indicator SignalAI - Indicator

Cet indicateur indique un signal d'achat ou de vente

Custom MA Cross with RSI Indicator for MT5 Custom MA Cross with RSI Indicator for MT5

L'indicateur Custom MA Cross with RSI pour MT5 est un outil de trading polyvalent conçu pour aider les traders à identifier les changements de tendance et à filtrer les entrées en utilisant le momentum. Cet indicateur combine deux moyennes mobiles (MA) avec l'indice de force relative (RSI), offrant des signaux clairs d'achat et de vente.