Guarda come scaricare robot di trading gratuitamente
Ci trovi su Facebook!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Visualizzazioni:
25
Valutazioni:
(36)
Pubblicato:
2025.05.29 11:50
xmlparser-doc.zip (36.87 KB)
xmlparserdll.zip (235.42 KB)
\MQL5\Include\ \MQL5\Scripts\
Freelance MQL5 Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance

La classe CXmlElement fornisce le seguenti funzioni per lavorare con XML:

  • creare un modello DOM (albero degli oggetti) da un documento XML (o da un singolo elemento);
  • leggere, modificare, creare, cancellare attributi, elementi annidati e testo;
  • salvare il modello di oggetto in XML.
Interfaccia della classe

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

Per accedere agli attributi degli elementi si utilizza una semplice classe CXmlAttribute:

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

Di seguito è riportato un esempio di script che esegue il parsing di XML e stampa le informazioni dall'albero 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("Elemento radice: "+xmldoc.Name);
      Print(" Attributi:"+string(ArraySize(xmldoc.Attributes)));
      Print(" Elementi annidati: "+string(ArraySize(xmldoc.Elements)));
      Print(" Primo elemento annidato:"+xmldoc.Elements[0].Name);
      Print(" Il suo primo attributo: "+xmldoc.Elements[0].Attributes[0].Name+"="+xmldoc.Elements[0].Attributes[0].Value);
      Print(" Il suo testo: "+xmldoc.Elements[0].Text);
      Print("XML="+xmldoc.GetXml());
     }
   else
      Print(res);
  }

Ecco il risultato:


Informazioni aggiuntive:

  • La versione attuale carica nel DOM solo gli elementi, i loro attributi e il testo. Tutti gli altri tipi di informazioni (commenti, descrizioni, ...) vengono ignorati. Di conseguenza, le informazioni sulla codifica e sulla versione vengono perse e l'XML non viene sempre salvato correttamente.
  • Durante il salvataggio, viene eseguita la conversione dei caratteri di servizio <"&'> nelle entità &lt:, &gt;, .... in conformità con lo standard.
  • Questo parser è destinato più all'analisi di XML che al lavoro completo con tali documenti.

Posizione del file:

  • Terminal_data_terminal_directory\MQL5\Libraries\xmlparser.dll
  • Catalogo dei dati del terminale\MQL5/Include\xmlparser.mqh
  • Catalogo dei dati del terminale\MQL5\Scripts\xmlparserscript.mq5

Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/97

iBBFill iBBFill

Bande di Bollinger ombreggiate (riempite).

iMovment iMovment

L'indicatore di movimento visualizza barre di diversi colori e sfumature a seconda della direzione e dell'entità del movimento.

SignalAI - Indicator SignalAI - Indicator

Questo indicatore mostra un segnale di acquisto o di vendita

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

L'indicatore Custom MA Cross with RSI per MT5 è uno strumento di trading versatile progettato per aiutare i trader a identificare i cambiamenti di tendenza e a filtrare le entrate utilizzando il momentum. Questo indicatore combina due medie mobili (MA) con il Relative Strength Index (RSI), offrendo chiari segnali di acquisto e vendita.