Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Telegram !
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:
61
Note:
(37)
Publié:
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 travailler avec XML :

  • créer un modèle DOM (arbre d'objets) à partir d'un document XML (ou d'un seul élément) ;
  • lire, modifier, créer, supprimer des attributs, des éléments imbriqués et du texte ;
  • enregistrer le modèle d'objet en XML.
Interface des classes

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

Une simple classe CXmlAttribute est utilisée pour accéder aux attributs des éléments :

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

Voici un exemple de script qui effectue une analyse XML et imprime des informations à partir de l'arbre 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("Son premier attribut : "+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 que les éléments, leurs attributs et le texte dans le DOM. Tous les autres types d'informations (commentaires, descriptions, ...) sont ignorés. Par conséquent, les informations relatives à l'encodage et à la version sont perdues et le XML ne sera pas toujours sauvegardé correctement.
  • Lors de la sauvegarde, la conversion des caractères de service <"&'> en entités &lt :, &gt ;, ... est effectuée. conformément à la norme.
  • Cet analyseur est davantage destiné à l'analyse XML qu'à un travail à part entière avec de tels documents.

Emplacement du fichier :

  • Terminal_data_terminal_directory\MQL5\Libraries\xmlparser.dll
  • Catalogue de données du terminal\MQL5/Include\xmlparser.mqh
  • Catalogue 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

Bandes de Bollinger ombrées (remplies).

iMovment iMovment

L'indicateur de mouvement affiche des barres de différentes couleurs et nuances en fonction de la direction et de l'ampleur 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.