Tuesday 17 October 2017

Forex News Feed Xml Files


MetaTrader 4 - Exemplos de Leitura RSS Feeds de notícias por meio de MQL4 Introdução Este artigo trata de um exemplo de leitura de marcação RSS por meio do MQL4 usando as funções do artigo HTML Walkthrough Using MQL4. Assume-se que o leitor leu o artigo ou, pelo menos, tem o entendimento geral das idéias descritas lá. O que é RSS e por que precisamos dele no MQL4 RSS é um formato XML para transferir vários dados de uma fonte para outra. RSS é ativamente usado por agências de notícias, empresas, bem como vários sites de notícias. O RSS pode ser agregado (ou lido) por uma variedade de aplicações especiais (leitores) e entregue aos usuários de forma conveniente. Neste artigo, tentaremos fazer uma peça de trabalho que possa ser transformada em um indicador de notícias ou apenas um leitor de RSS no idioma MQL4. Que tipo de informação estamos interessados ​​em RSS. É a notícia, é claro. Como mencionado acima, o RSS é um documento XML. Então, o que é XML Xml (eXtensible Markup Language) é um formato de texto para armazenar dados estruturados. A estrutura pode ser representada visualmente como uma árvore de elementos. Os elementos XML são descritos pelas tags. Abaixo está um exemplo de um documento XML simples: Implementação Como podemos ver do exemplo acima, o XML é algo semelhante ao HTML. Portanto, para não reinventar a roda, usaremos o código do artigo HTML Walkthrough Usando o MQL4. A primeira coisa que precisamos fazer é conectar as funções passo a passo do HTML ao nosso projeto (indicador). Para fazer isso, baixe o arquivo ReportHTMLtoCSV-2.mq4 e coloque-o em uma pasta de especialistasinclude. Uma vez que vamos usar o arquivo como uma biblioteca de funções, a função start () deve ser comentada nele. Eu também sugeriria renomear o arquivo (por exemplo, em HTMLTagsLib. mq4) para maior clareza. O arquivo está pronto. Agora, conecte-o ao indicador (o arquivo da peça de trabalho para o indicador está anexado abaixo): agora precisamos incluir a biblioteca padrão do wininet. dll Windows para trabalhar com os links: Usaremos a função ReadWebResource (url de string) para ler o URL. A operação das funções não é um tópico deste artigo. Portanto, não nos deteremos nisso. Estamos apenas interessados ​​nos argumentos de entrada e saída. A função recebe um link a ser lido e retorna o conteúdo do recurso como uma string. Para analisar as tags, usaremos duas funções do arquivo HTMLTagsLib. mq4 - FillTagStructure () e GetContent (). Essas funções são descritas em detalhes no artigo HTML Walkthrough Usando o MQL4. Deve notar-se que os dados de entrada para análise são passados ​​como uma matriz. Portanto, após o recebimento dos dados, ele deve ser convertido em matriz usando a função ReadWebResource (string url). A função ArrayFromString () nos ajudará nisso: três argumentos são passados ​​para a entrada de funções. O primeiro é o link para a matriz onde o resultado da operação das funções é armazenado, o segundo é uma seqüência que deve ser convertida em uma matriz e a terceira é um separador, pelo qual a seqüência de caracteres está dividida. A função retorna o número de linhas na matriz resultante. Agora nossos dados estão prontos para análise. No próximo fragmento, analisamos dados e exibimos os valores das tags de título e país no console de terminais: Usando a função FillTagStructure (), recebemos o número e a estrutura das tags, enquanto a função GetContent () nos fornece seu valor. Resultados da operação do script: Fig. 1. Resultados da operação do script NewsRss Nos resultados, podemos ver o título das notícias e o símbolo monetário do país a que as notícias estão relacionadas. Conclusões Examinamos a maneira de ler RSS por meio do MQL4 usando as funções para análise de tags HTML. As desvantagens deste método são descritas em detalhes no artigo HTML Walkthrough Usando o MQL4. Gostaria também de acrescentar que uma das desvantagens do método é um inconveniente de usar as funções no código em contraste com outras bibliotecas padrão para leitura de XML. Agora que o artigo e o script foram concluídos, vou considerar a conexão da biblioteca externa para trabalhar com XML. Quanto às vantagens, eu nomearia a velocidade de implementação como uma delas. Líquidos de dados de moeda corrente Características padrão Dados de moeda precisos e confiáveis. Recupere uma moeda única, ou várias moedas ao mesmo tempo. Recupere as últimas tarifas a qualquer hora do dia, ou o dia todo, todos os dias. Sua escolha de formatos de dados. Mais de 140 Moedas amplificador Símbolos de metal Formatos de dados comuns suportados por muitos aplicativos de software de terceiros. Não é necessário hardware ou software especial. Integração rápida para desenvolvedores de aplicativos personalizados, portais, etc. Assinale dados. ou dados de Open, High, Low, Close (OHLC) em 22 intervalos diferentes (1 segundo, 5 seg, 1 min, 1 hora, barras diárias, etc.) Pronto para executar as APIs de dados sem custo adicional ... APIs disponíveis na sua escolha de Java..NET (dotNET), PHP ou Perl. Formatos de dados Sua escolha dos seguintes formatos: Formato XML (linguagem de marcação extensível) Formato XML é uma especificação de propósito geral para dados estruturados, sendo projetado para descrição e entrega de dados, é muito adequado para dados de mercado. Nosso XML Datafeed inclui uma DTD (Definição de Tipo de Documento) que define sua estrutura. Há também muitos processadores gratuitos e OpenSource XML disponíveis. CSV (valores separados por vírgulas) O formato CSV é um formato simples que pode ser facilmente importado em vários tipos de software (como o OpenOffice e o Excel) e é simples de integrar com aplicativos personalizados. Os dados de entrega de dados são entregues através da internet por meio de solicitação de servidor web padrão (HTTP GET). Quando você solicita um feed, você recebe uma chave e URL de acesso especial (endereço da Web) onde você pode acessar os dados. Este URL pode ser personalizado para alterar várias opções (como Símbolos de moeda, Prazo, etc). Além disso, várias APIs de dados estão disponíveis para ajudar a reduzir significativamente seu tempo de desenvolvimento, despesas e acelerar seu tempo para o mercado.

No comments:

Post a Comment