Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 1181
- Avaliação:
- Publicado:
- 2014.01.14 14:48
- Atualizado:
- 2016.11.22 07:33
-
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 "MT5"</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 <:, >, ... 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

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

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

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

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