MetaTrader 4 - Ejemplos de lectura RSS Feeds de noticias por medio de MQL4 Introducción Este artículo trata de un ejemplo de lectura de marcado RSS por medio de MQL4 utilizando las funciones del artículo HTML Tutorial Utilizando MQL4. Se supone que el lector ha leído el artículo o por lo menos tiene la comprensión general de las ideas allí descritas. Qué es RSS y por qué lo necesitamos en MQL4 RSS es un formato XML para transferir varios datos de una fuente a otra. RSS es utilizado activamente por agencias de noticias, empresas, así como varios sitios web de noticias. RSS puede ser agregado (o leído) por una variedad de aplicaciones especiales (lectores) y entregado a los usuarios en una forma conveniente. En este artículo, vamos a tratar de hacer una pieza de trabajo que luego se puede convertir en un indicador de noticias o simplemente un lector de RSS en el lenguaje MQL4. Qué tipo de información estamos interesados en RSS Es la noticia, por supuesto. Como se mencionó anteriormente, RSS es un documento XML. Por lo tanto, lo que es XML Xml (eXtensible Markup Language) es un formato de texto para almacenar datos estructurados. La estructura puede representarse visualmente como un árbol de elementos. Los elementos XML se describen mediante las etiquetas. A continuación se muestra un ejemplo de un documento XML simple: Implementación Como podemos ver en el ejemplo anterior, XML es algo similar a HTML. Por lo tanto, con el fin de no reinventar la rueda, vamos a utilizar el código del artículo HTML Tutorial Utilizando MQL4. Lo primero que debemos hacer es conectar las funciones de guía HTML a nuestro proyecto (indicador). Para ello, descargue el archivo ReportHTMLtoCSV-2.mq4 y póngalo a la carpeta experts / include. Puesto que vamos a utilizar el archivo como una biblioteca de funciones, la función start () debe ser comentada en ella. También sugeriría cambiar el nombre del archivo (por ejemplo, en HTMLTagsLib. mq4) para mayor claridad. El archivo está listo. Ahora, conéctelo al indicador (el archivo de pieza de trabajo para el indicador se adjunta a continuación): Ahora tenemos que incluir wininet. dll Biblioteca estándar de Windows para trabajar con los enlaces: Vamos a utilizar ReadWebResource (string url) función de lectura de URL. La operación de funciones no es un tema de este artículo. Por lo tanto, no vamos a detenernos en ello. Sólo nos interesan los argumentos de entrada y salida. La función recibe un enlace para ser leído y devuelve el contenido del recurso como una cadena. Para analizar las etiquetas, utilizaremos dos funciones del archivo HTMLTagsLib. mq4 - FillTagStructure () y GetContent (). Estas funciones se describen en detalles en el artículo HTML Tutorial utilizando MQL4. Cabe señalar que los datos de entrada para el análisis se pasa como una matriz. Por lo tanto, después de que se han recibido los datos, se debe convertir en matriz mediante ReadWebResource (cadena url) función. ArrayFromString () función nos ayudará en que: Tres argumentos se pasan a las funciones de entrada. El primero es el enlace a la matriz donde se almacena el resultado de la operación de funciones, el segundo es una cadena que se debe convertir en un array y el tercero es un separador, por el cual se divide la cadena. La función devuelve el número de filas de la matriz resultante. Ahora nuestros datos están listos para el análisis. En el fragmento siguiente, analizamos los datos y mostramos los valores de las etiquetas de título y país en la consola de terminales: Usando la función FillTagStructure (), recibimos el número y la estructura de las etiquetas, mientras que la función GetContent () nos proporciona su valor. Resultados de la operación de secuencia de comandos: Fig. 1. Resultados de la operación de script de NewsRss En los resultados, podemos ver el título de noticias y el símbolo de moneda del país al que está relacionada la noticia. Conclusiones Hemos examinado la forma de leer RSS mediante MQL4 utilizando las funciones para el análisis de etiquetas HTML. Los inconvenientes de este método se describen en detalles en el artículo HTML Tutorial utilizando MQL4. También me gustaría añadir que uno de los inconvenientes del método es un inconveniente de usar las funciones en el código en contraste con otras bibliotecas estándar para leer XML. Ahora que el artículo y el guión se han completado, voy a considerar la conexión de la biblioteca externa para trabajar con XML. En cuanto a las ventajas, nombraría la velocidad de implementación como una de ellas. MetaTrader 5 - Bibliotecas EasyXML - XML Parser - biblioteca para MetaTrader 5 Propósito principal y capacidades EasyXML es un simple pero potente Analizador XML que puede leer y analizar XML desde tres fuentes diferentes : Está escrito completamente en MQL5 nativo y se basa en wininet. dll nativo de Windows sólo para buscar documentos XML desde una URL. EasyXML leerá XML, así como XHTML con profundidad de nodo (casi) infinita, siempre y cuando el documento que está intentando analizar esté bien formado. No es asi . Sin embargo, validar el XML en una hoja de estilo DTD o XSLT. Las clases de nodo EasyXMLs se heredan del CObject nativo MQL5 y los nodos se almacenan en un CArrayObj. Al caminar los nodos del árbol DOM se pueden manipular fácilmente mediante el uso de los métodos públicos EasyXML, así como las funciones nativas MQL5 para recuperar datos y almacenar datos en el DOM. Caché y depuración de archivos URL Ya que no siempre se puede confiar en Uptimes de RSS Feed, EasyXML puede almacenar un archivo de caché XML del Feed, una vez que lo ha cargado desde una URL con éxito por primera vez. El usuario puede utilizar el archivo de caché en lugar del Feed en vivo para analizar, si el Feed está desactivado por alguna razón. Dado que los documentos XML y XHTML tienden a ser erróneos, EasyXML tiene una opción de depuración. Aunque no puede reparar XML roto, seguramente ayudará a detectar dónde está el error. Si está activada, imprimirá información detallada de los nodos analizados. Además de eso, los errores que se produzcan siempre serán rastreados e impresos, a pesar del hecho, si la depuración está activada o desactivada. Solo incluye la clase base en tus scripts y estás preparado y listo para comenzar: Primero, en tu script, crea una instancia de la clase EasyXML. A continuación, establezca depuración y / o caché de archivos y llame a uno de los métodos disponibles para cargar el XML y comenzar a analizar: Para fines de demostración, se muestran todos los tres métodos. Normalmente no necesitará todos ellos a la vez, aunque es posible borrar el árbol DOM entre ellos y comenzar a analizar de nuevo, incluso desde otra fuente. Simplemente utilice el comando Clear () para borrar el árbol DOM analizado. SetDebugging () y setUrlCacheFile () son opcionales y no tienen que ser llamados si no son necesarios. EasyXmlDocument. getDocumentRoot () siempre devolverá el nodo raíz del árbol DOM. Todos los nodos, incluyendo el nodo raíz, son del tipo CEasyXmlNode, el cual derivó del MQL5 CObject (como se mencionó anteriormente). A partir de aquí, todos los métodos de EasyXml así como de CArrayObj y CObject se pueden utilizar lado a lado para recorrer el árbol DOM analizado. El siguiente ejemplo muestra la implementación de readRecursive (), la función global que se llama en el último ejemplo de código: La lectura recursiva de documentos XML tiene grandes ventajas sobre la lectura en línea, aunque puede no ser adecuada para todas las necesidades. Calling Attributes () en un nodo obtendrá todos los atributos analizados mientras que Children () obtendrá los nodos secundarios almacenados en el nodo real. Ambos métodos devuelven un CArrayObj que contiene los elementos. Llamar a Total () en esos objetos se puede utilizar en un bucle for () para iterar sobre los elementos. GetName () y getValue () devolverán el contenido real almacenado en el nodo. Por supuesto, es posible iterar también sobre nodos en línea: Iteración funciona igual que en el ejemplo recursivo, excepto que se debe establecer un bucle for () independiente para cada nivel de nodo a leer. Además, también es posible recorrer el DOM paso a paso y manipular elementos únicos si es necesario: Aquí entran en juego todos los métodos EasyXML disponibles, así como la Iteración / Getter / Setter MQL5 nativa de CObject y CArrayObj. Tenga en cuenta, sin embargo, que algunas de esas funciones no se preocupan por el acceso a la memoria válida y simplemente devolver NULL, si no tienen éxito. En el último ejemplo llamando a ChildNode. Next () en el nodo hermano - sin comprobar la validez del puntero - implicaría un fallo grave del puntero incorrecto (mal acceso a la memoria), que definitivamente bloqueará el script. Así que si alguna vez tiene la necesidad de paso o manipular el árbol DOM manualmente, tenga cuidado de la validez del puntero, siempre y cuando se refiera a los métodos de clase CObject y CArrayObj. Buscadores de nodos más importantes Para obtener más posibilidades de tratar con nodos y arrays de nodos, asegúrese de leer también la documentación sobre CObject y CArrayObj. Objetos de atributo implementa los mismos métodos get / setName (), get / SetValue () para almacenar y recuperar datos como los objetos de nodo. Esta pieza de código está bajo desarrollo activo, y, como con todo el software, no pretende ser libre de errores u otros defectos. Utilice EasyXml bajo su propio riesgo y pruebe a fondo antes de implementar esta biblioteca en cualquier EA comercial en vivo. Si usted encuentra cualesquiera problemas o tiene preguntas con respecto al uso, sienta por favor libre de entrarme en contacto con. La integración de wininet. dll utilizado para obtener contenido de URL utiliza WININETTEST por entero. Aunque esta biblioteca se basa en su propio sistema de análisis, el analizador de XML escrito por yu-sha fue una gran fuente de aprendizaje para tratar con las operaciones de cadena MQL5. JAVAScript News Ticker 1.1.0 - JavaScript News Ticker es un simple, relámpago. Le permite crear desplazadores de noticias DHTML para su Web. En pocos minutosJavaScript News Ticker es un profesional altamente configurable javascript news ticker y solución deslizante de contenido. Puede utilizar DHTML News Ticker para crear ticker de noticias. Control deslizante contenido, rotador contenido. (11/0) descarga AutoScroll RSS News Ticker 1.0 - AutoScroll RSS News Ticker es un lector de noticias flash impulsado por XML que analizaría. Personalizar e integrar el ticker en su sitio web. Los. Colores de XML - lee noticias del archivo XML local - lee las noticias del alimentador alejado de RSS. (33/0) descarga Php news system 1 - sistema de noticias php que puede hacer el sitio web diario de análisis de noticias forex, incluyendo gráficos de divisas con las líneas de tendencia y los indicadores, comentarios diarios forex sobre los principales y. Sobre noticias económicas y financieras que tienen un gran impacto. Así como mantener diario de comercio de divisas. Revisión de los corredores de la divisa y de la plataforma de la divisa y backtesting sistemas de la negociación de la divisa Requisitos. (3/0) descargar
Cerrajería Comercial, Cerrajero, Cerrajería, Cajas Fuertes, Servicios de Cerrajería de Emergencia Somos una empresa familiar y operada desde el año 2000 que ha creado una gran reputación superando todos los estándares de excelencia. Nuestra empresa confiable puede proporcionar la más alta calidad, servicios de cerrajería rápida y amigable a precios que usted puede permitirse. NEED A LOCKSMITH CERRAJERO DE 24 HORAS LOS ANGELES ES SU MEJOR SOLUCIÓN interiores, delanteros y traseros Re-llave para puertas Cerraduras instaladas / reparadas, Re-llave sistemas de bloqueo maestro Peepholes y deadbolts instalados Reparación de bloqueo dañado Bloqueos de ventanas de buzones, - keys Cerraduras decorativas Tenemos más de 13 años de experiencia combinada del cerrajero, ofrecemos una gama enorme de servicios residenciales del cerrajero. Somos una empresa que ofrece servicios de cerrajería asequibles y de alta calidad. Estamos contentos y orgullosos de proporcionar servicios en LA. AUTO LOCKSMITH LIC...
Comments
Post a Comment