Discusión sobre el artículo "Web scraping de datos sobre la rentabilidad de los bonos"

 

Artículo publicado Web scraping de datos sobre la rentabilidad de los bonos:

Cuando diseñamos los sistemas del trading automático, casi siempre utilizamos los datos de los indicadores técnicos que analizan el pasado con el fin de predecir el futuro comportamiento del precio. Pero si no tomamos en cuenta las fuerzas fundamentales que mueven el mercado, evidentemente estaremos en una situación menos ventajosa en comparación con los traders que consideran adicionalmente los datos fundamentales en sus decisiones comerciales. Recopilando automáticamente los datos sobre los tipos de interés, Usted podrá mejorar el funcionamiento de su Asesor Experto.

Cuando diseñamos los sistemas del trading automático, casi siempre utilizamos los datos de los indicadores técnicos que analizan el pasado con el fin de predecir el futuro comportamiento del precio. Pero si no tomamos en cuenta las fuerzas fundamentales que mueven el mercado, evidentemente estaremos en una situación menos ventajosa en comparación con los traders que consideran adicionalmente los datos fundamentales en sus decisiones comerciales. El indicador basado en los datos fundamentales recopilados automáticamente puede mejorar el funcionamiento del EA. Probablemente, la información sobre los tipos de interés afecta muchísimo las tasas de cambio de las divisas correspondientes. Generalmente, los tipos de interés de los bancos centrales son menos volátiles que la rentabilidad de los bonos del Estado, como por ejemplo, los bonos fiscales de 10 años en los Estados Unidos. Además, las fluctuaciones en los mercados globales de los bonos se observan en todos los marcos temporales (timeframes). La rentabilidad refleja las expectativas del mercado respecto a los futuros tipos de interés del banco central. La rentabilidad de los bonos a menudo representa un indicador del cambio de los tipos de interés y de las tasas de cambio. En Forex, aplicando a un par de monedas, se analiza la diferencial de los tipos de interés, la delta o el cambio de la diferencial de interés en diferentes timeframes. En la imagen 1 se muestra el caso cuando el movimiento de la diferencial de interés, expresada en puntos base, en la dirección positiva fue un importante indicador del movimiento del para EURUSD en la misma dirección. En este artículo vamos a considerar la manera de recopilar los datos sobre la rentabilidad desde Internet y obtener los valores de la diferencial de interés y la delta a base de estos datos.


Indicador adelantado de la diferencial de los tipos de interés

Fig. 1. Indicador de la diferencial de interés en el gráfico de una hora para EURUSD.

Autor: Steven Brown

 

esto es lo que obtengo cuando adjunto script05

y no se imprime nada en el gráfico ni en el área del indicador...

¿que me estoy perdiendo?


2019.04.14 17:11:18.623 Scripts script bonds (EURUSD,Daily) cargado con éxito

2019.04.14 17:11:18.984 Scripts script bonds (EURUSD,Daily) eliminado



 
jimjack:

esto es lo que obtengo cuando adjunto el script05

y no se imprime nada en el gráfico ni en el área del indicador...

¿qué me estoy perdiendo?


2019.04.14 17:11:18.623 Scripts script bonds (EURUSD,Daily) cargado con éxito

2019.04.14 17:11:18.984 Scripts script bonds (EURUSD,Daily) eliminado



ScraperBot06.mq4 funciona bien en MT5, y hace lo mismo que ScraperBot05.mq5. La diferencia es que ScraperBot05 utiliza WebRequest(), mientras que ScraperBot06 utiliza las funciones de WinINet.dll, que parece ser más fiable que WebRequest(). Investigaré el problema para ver si ScraperBot05.mq5 puede funcionar con WebRequest(). Funcionaba bien cuando envié el artículo en octubre de 2018.

Editar: La llamada a WebRequest() en ScraperBot05.mql y otros scripts funcionará solo si el servidor nombrado en la solicitud web está permitido en las opciones de Metatrader. Esto se explica en el artículo.

 
ScraperBot06.mq5 adjunto a este mensaje es el mismo que ScraperBot05.mq5 pero utiliza las funciones de WinINet.dll en lugar de WebRequest(). He subido ScraperBot06.mq5 porque WebRequest() en ScraperBot05.mq5 ahora devuelve el código de error -1, tras lo cual GetLastError() devuelve el código 4014,

ERR_FUNCTION_NOT_ALLOWED

4014

Función no permitida para la llamada

Es posible que Metatrader 5 haya cambiado la implementación de WebRequest() desde que envié el artículo en octubre de 2018, pero la documentación de WebRequest() no ha cambiado.

Editar: el problema se ha resuelto en mi ordenador tras permitir las peticiones al servidor web "https://api.wsj.net" en las opciones de Metatrader. Al parecer, el permiso fue eliminado por una actualización de Metatrader.

Archivos adjuntos:
 
Steven Brown:
ScraperBot06.mq5 adjunto a este mensaje es el mismo que ScraperBot05.mq5 pero utiliza las funciones de WinINet.dll en lugar de WebRequest(). He subido ScraperBot06.mq5 porque WebRequest() en ScraperBot05.mq5 ahora devuelve el código de error -1, tras lo cual GetLastError() devuelve el código 4014,

ERR_FUNCTION_NOT_ALLOWED

4014

Función no permitida para la llamada

Es posible que Metatrader 5 haya cambiado la implementación de WebRequest() desde que envié el artículo en octubre de 2018, pero la documentación de WebRequest() no ha cambiado.




gracias por tu respuesta.

Lo he compilado de nuevo y hay un montón de advertencias que dicen "posible pérdida de datos debido a la conversión de tipos"

todavía no hay suerte en ver nada en el terminal. dll está permitido.

¿necesito algún otro paquete de microsoft, .net etc...?


gracias



 
¡IMPORTANTE! La llamada a WebRequest() en ScraperBot04.mq5 y ScraperBot05.mq5 sólo funcionará si el servidor nombrado en la petición web está permitido en las opciones de Metatrader. Para habilitar un servidor web, haga clic en Tools\Options, y en el cuadro de diálogo que aparece, haga clic en la pestaña Expert Advisors. Marque "Permitir petición web para la URL listada", haga clic en "Añadir nueva URL" e introduzca la URL base del servidor web. En el caso de ScraperBot05, esa URL es"https://api.wsj.net". Si no lo hace, la llamada a WebRequest() fallará, reportando los códigos de error -1 y 4014. Esta necesidad de permitir específicamente un servidor web se menciona en el artículo bajo el título "ScraperBot04". Escribí "Para que WebRequest funcione, la URL base para el servidor, en este caso'https://api.wsj.net', necesita estar incluida en la lista de servidores permitidos bajo "Herramientas\Opciones\Expertos Asesores" en la plataforma MetaTrader."

Yo tenía el servidor web"https://api.wsj.net" permitido en mi copia de Metatrader 5, pero fue eliminado de la lista por una actualización a una nueva versión de Metatrader 5. Eso no debería suceder, y parece ser un error que debe ser corregido por Metaquotes. Una vez que un servidor web está permitido, debe permanecer permitido a través de actualizaciones.
 
jimjack:




gracias por su respuesta.

He compilado de nuevo y hay un montón de advertencia diciendo "posible pérdida de datos debido a la conversión de tipo"

todavía no hay suerte en ver nada en el terminal. dll está permitido.

¿necesito algún otro paquete de microsoft, .net etc...?


gracias



Las advertencias del compilador sobre la pérdida de datos se pueden ignorar, porque son el resultado de utilizar el tipo float en lugar del tipo double. Elegí usar el tipo float porque la precisión del tipo double no es necesaria en esta aplicación. Después de las advertencias, la compilación tiene éxito con cero errores. ¿Has descargado, compilado y probado el script que adjunté a mi respuesta, el llamado ScraperBot06.mq5? Utiliza WinINet.dll en lugar de WebRequest(). En cuanto a la llamada a WebRequest() fallando en ScraperBot05, ¿tiene el servidor web habilitado en las opciones de Metatrader? Mira mi post anterior, el que empieza"¡IMPORTANTE!". Escribí en el artículo que WebRequest() fallará a menos que el servidor web esté específicamente permitido en las Opciones.
 

hmmm,

permítanme volver a instalar metatrader, porque la url se permitió desde el principio. sí me permitió wininet.dll y comprobado mi victoria (10) directorios ... su allí.

 
Gracias por el artículo, ¡muy interesante! Por favor, informe de los resultados de la utilización de este sistema en el comercio real.
 
Gracias por el artículo, ¡muy interesante! Por favor, informe de los resultados de la utilización de este sistema en el comercio real.
 
La verdadera forma de crear sistemas de trading automatizados realmente rentables.