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 Usando o 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. Conforme 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 é um pouco 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 de peça de trabalho para o indicador está anexado abaixo): agora precisamos incluir a biblioteca padrão Windows Wininet. dll para trabalhar com os links: Usaremos a função ReadWebResource (url string) para ler o URL. A operação das funções não é um tópico deste artigo. Portanto, não vamos nos concentrar 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 de caracteres 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 de título e tags de 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. Feed de moeda do feed de dados do Forex Há algum tempo, eu estava procurando um feed de dados Forex gratuito. Eu queria usar os Dados de Moeda para converter os preços dos produtos na moeda local do visitante8217s. Infelizmente, não consegui encontrar nenhum Free Forex Data Feeds. Então, transformei uma planilha do Google Docs que exporta os dados da taxa de câmbio do Google Finance. Isso lhe dá um Feed FX Data FeedCurrency gratuito de 90 moedas que está disponível em XML, JSON, JSON-P e RSS sobre HTTP e HTTPS. Os formatos facilitam a criação de APIshys para citar as taxas de câmbio literalmente em qualquer linguagem de programação 8211 Java, PHP, JavaScript e inúmeros outros. Feeds de dados de Forex Existem quatro Forex Data Feeds. USD Feed 8211 taxas de câmbio de USD para outras moedas. EUR Feed 8211 taxas de câmbio de EUR para outras moedas. GBP Feed 8211 taxas de câmbio de GBP para outras moedas. Top 10 EUR Feed 8211 taxas de câmbio de EUR para 9 moedas importantes. Top 10 USD Feed 8211 taxas de câmbio de USD para 9 moedas importantes. Top 10 GBP Renda 8211 taxas de câmbio de USD para 9 moedas importantes. Se possível, use o Top 10 Forex Data Feeds, pois eles são menores e carregam mais rapidamente. Contém USD para AED, ANG, ARS, AUD, BDT, BGN, BHD, BND, BOB, BRL, BWP, CAD, CHF, CLP, CNY, COP, CRC, CZK, DKK, DOP, DZD, EGP, EUR, FJD , GBP, HKD, HNL, HRK, HUF, IDR, ILS, INR, ISK, JMD, JOD, JPY, KES, KRW, KWD, KYD, KZT, LBP, LKR, LTL, LVL, MAD, MDL, MKD, MUR , MVR, MXN, MYR, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, SAR, SCR, SEK, SGD, SLL THB, TND, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, VND, XOF, YER, ZAR, ZMK. Contém EUR para AED, ANG, ARS, AUD, BDT, BGN, BHD, BND, BOB, BRL, BWP, CAD, CHF, CLP, CNY, COP, CRC, CZK, DKK, DOP, DZD, EGP, FJD, GBP HKD, HNL, HRK, HUF, IDR, ILS, INR, ISK, JMD, JOD, JPY, KES, KRW, KWD, KYD, KZT, LBP, LKR, LTL, LVL, MAD, MDL, MKD, MUR, MVR MXN, MYR, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, SAR, SCR, SEK, SGD, SLL, THB TND, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, VND, XOF, YER, ZAR, ZMK. Contém GBP para AED, ANG, ARS, AUD, BDT, BGN, BHD, BND, BOB, BRL, BWP, CAD, CHF, CLP, CNY, COP, CRC, CZK, DKK, DOP, DZD, EGP, FJD, EUR HKD, HNL, HRK, HUF, IDR, ILS, INR, ISK, JMD, JOD, JPY, KES, KRW, KWD, KYD, KZT, LBP, LKR, LTL, LVL, MAD, MDL, MKD, MUR, MVR MXN, MYR, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, SAR, SCR, SEK, SGD, SLL, THB TND, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, VND, XOF, YER, ZAR, ZMK. Top 10 EUR Feed Contém EUR para USD, JPY, GBP, CHF, AUD, CAD, SEK, HDK e NOK. Top 10 USD Feed
No comments:
Post a Comment