Guarda come scaricare robot di trading gratuitamente
Ci trovi su Twitter!
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:
229
Valutazioni:
(37)
Pubblicato:
Aggiornato:
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 offre le seguenti funzionalità per lavorare con l'XML:

  • creare un modello DOM (albero di oggetti) da un documento XML (o da un singolo elemento);
  • leggere, modificare, creare ed eliminare attributi, elementi nidificati e testo;
  • salvare il modello a oggetti in formato 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 la semplice classe CXmlAttribute:

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

Di seguito è riportato un esempio di script che esegue il parsing dell'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 incorporati: "+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:


Ulteriori informazioni:

  • 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 relative alla codifica e alla versione vanno perse e l'XML non verrà sempre salvato correttamente.
  • Durante il salvataggio, i caratteri di servizio <"&'> vengono convertiti in &lt;, &gt;, ... in conformità con lo standard.
  • Questo parser è destinato principalmente all’analisi dell’XML, piuttosto che alla gestione completa di tali documenti.

Percorso dei file:

  • Cartella_dati_del_terminale\MQL5\Libraries\xmlparser.dll
  • Directory_dati_terminale\MQL5\Include\xmlparser.mqh
  • Directory_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 colorate (riempite).

iMovment iMovment

L'indicatore Movement 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.