Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Bibliotecas

XmlParser - biblioteca para MetaTrader 5

Visualizações:
1096
Avaliação:
(36)
Publicado:
2014.01.14 14:48
Atualizado:
2016.11.22 07:33
xmlparserdll.zip (235.42 KB)
\MQL5\Include\ \MQL5\Scripts\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

A classe CXmlElement fornece as seguintes oportunidades para trabalhar com documentos XML:

  • Permite que você crie DOM-model (objetos de árvore) do documento XML (ou a partir de seu elemento único);
  • Permite que você leia, modifique, crie e exclua os elementos aninhados e texto;
  • Permite que você salve o modelo de objeto em XML.

Interface da Classe:

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

Para ter acesso ao atributos da classe é usado a classe simples CXmlAttribute:

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

Aqui está um exemplo simples de script que analisa XML e imprime uma informação de uma árvore DOM:

//+------------------------------------------------------------------+
//|                                              XmlParserScript.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//|                                                   yu-sha@ukr.net |
//+------------------------------------------------------------------+
#include <XmlParser.mqh>
//+------------------------------------------------------------------+
//| Iniciar Script                                                   |
//+------------------------------------------------------------------+
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("O elemento Raiz: "+xmldoc.Name);
      Print("  Número de Atributos: "+string(ArraySize(xmldoc.Attributes)));
      Print("  Elementos Aninhados: "+string(ArraySize(xmldoc.Elements)));
      Print("  Primeiro elemento aninhado:"+xmldoc.Elements[0].Name);
      Print("    Seu primeiro atributo: "+xmldoc.Elements[0].Attributes[0].Name+"="+xmldoc.Elements[0].Attributes[0].Value);
      Print("    Seu texto: "+xmldoc.Elements[0].Text);
      Print("XML="+xmldoc.GetXml());
     }
   else
      Print(res);
  }
//+------------------------------------------------------------------+

Aqui é o resultado da execução do script:


Informações adicionais:

  • A versão atual carrega no DOM apenas os elementos, seus atributos e texto. Todos os outros tipos de informações (comentários, descrições ...) são ignorados. Como resultado - talvez a perda das informações sobre codepage e versão, assim documento XML pode ser salvo de forma incorreta.
  • Ao salvar, ele converte os símbolos especiais, como <"&"> para as essências como &lt:, &gt;, ... de acordo com o padrão.
  • Este analisador é destinado principalmente para interpretar os documentos XML, ao invés de trabalhar totalmente com documentos XML.

Localização de arquivos:

  • terminal_data_folder\MQL5\Libraries\xmlparser.dll
  • terminal_data_folder\MQL5\Include\xmlparser.mqh
  • terminal_data_folder\MQL5\Scripts\xmlparserscript.mq5

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/97

ZeroLag MACD ZeroLag MACD

O indicador ZeroLag MACD mostra o histograma com a cor da barra anterior.

Linhas Matemáticas Murrey (Suporte e resistência) Linhas Matemáticas Murrey (Suporte e resistência)

O indicador traça Linhas Matemáticas Murrey para todo o histórico disponível, ele não usa nenhum objeto.

iBBFill iBBFill

O indicador plota as Bandas Bollinger ®, preenchidos com cores diferentes dependendo da direção da tendência.

Quick ZigZag plus DiNapoli Quick ZigZag plus DiNapoli

Indicador "Fast ZigZag", incluindo o desenho de níveis-alvo DiNapoli.