Discusión sobre el artículo "Introducción a Connexus (Parte 1): ¿Cómo utilizar la función WebRequest?"

 

Artículo publicado Introducción a Connexus (Parte 1): ¿Cómo utilizar la función WebRequest?:

Este artículo es el comienzo de una serie de desarrollos para una biblioteca llamada “Connexus” para facilitar las solicitudes HTTP con MQL5. El objetivo de este proyecto es brindarle al usuario final esta oportunidad y mostrarle cómo utilizar esta biblioteca auxiliar. Mi intención era hacerlo lo más sencillo posible para facilitar el estudio y ofrecer la posibilidad de desarrollos futuros.

La función WebRequest abre una amplia gama de posibilidades de integración con servicios externos. Desde la recopilación de datos financieros, que pueden ser esenciales para tomar decisiones comerciales automatizadas, hasta la automatización total de procesos, esta función permite a los EA interactuar directamente con la web. Esto permite, por ejemplo, que su robot comercial obtenga información en tiempo real de fuentes externas, como noticias económicas o datos de mercado de otras plataformas. Estos datos se pueden procesar y utilizar para ajustar automáticamente sus estrategias comerciales, aumentando tanto la precisión como la eficiencia de sus operaciones.

Sin embargo, como se demostrará en los ejemplos presentados, el uso de la función WebRequest puede no ser trivial. Enviar una solicitud HTTP puede parecer simple, pero rápidamente encontrará desafíos técnicos, como enviar los encabezados correctos, formatear datos JSON, manejar adecuadamente las respuestas del servidor e incluso lidiar con errores y excepciones que puedan ocurrir durante la comunicación. Estos desafíos ilustrarán que, si bien es poderosa, la función requiere una sólida comprensión de los protocolos y la comunicación entre sistemas, lo que puede presentar una barrera importante para los desarrolladores que recién comienzan a explorar esta área.


Autor: joaopedrodev

 

¡Hola ingeniero joaopedrodev!

En cualquier caso, muchas gracias por este artículo muy interesante.

Pero sólo un pequeño problema. Es que, cuando intento probar en condiciones reales el código que has proporcionado, es decir, la función "WebRequest" con el método POST, la petición llega sin problema a mi servidor. Sólo que, los datos pasados en parámetros (

"{\"key1\":\"value1\",\"key2\":\"value2\"}" 

), no llegan al servidor. ¿Es posible que tengas alguna idea para solucionar esto? Gracias

Traducción automática aplicada por moderador. En el foro inglés, por favor, escriba en inglés. Utilice la herramienta de traducción automática o escriba en uno de los foros en otros idiomas.
 
J M #:

¡Hola ingeniero joaopedrodev!

En cualquier caso, muchas gracias por este artículo tan interesante.

Pero sólo un pequeño problema. Es que, cuando intento probar en condiciones reales el código que has proporcionado, es decir, la función "WebRequest" con el método POST, la petición llega sin problema a mi servidor. Sólo que los datos pasados en parámetros (

), no llegan al servidor. ¿Es posible que tengas alguna idea para solucionar esto? Gracias

Traducción automática aplicada por el moderador. En el foro en inglés, por favor escriba en inglés. Utilice la herramienta de traducción automática o escriba en uno de los foros en otros idiomas.

Hellow @J M

Asegúrese de que está enviando estos datos en el cuerpo de la solicitud, por lo que el servidor recibirá correctamente los datos que desea enviar. También te pido que utilices la última versión de la librería que se adjunta en el último artículo Connexus Observer (Parte 8): Agregando un Observador de Solicitudes

J M
J M
  • 2024.06.19
  • www.mql5.com
Trader's profile
 
También estoy interesado en el problema de la utilización de MT5 para DeFi. En general, veo que MT5, con todo su atractivo (a saber, la capacidad de escribir herramientas con herramientas incorporadas) no está diseñado para trabajar sin corredores. son los corredores que pagan por el apoyo terminal, mientras que es gratis para los comerciantes. Los proyectos comerciales existentes, que permiten conectar libremente recursos externos, son bastante caros para su uso. El pan de un trader suele ser irregular, por lo que los gastos constantes son inapropiados para nosotros. En principio, WebRequest() no es conveniente para cargar cotizaciones a través de API, porque las API de las distintas bolsas son diferentes y no están optimizadas para WebRequest(). De hecho, WebRequest() es un método GET de enfoque estrecho, pero en respuesta viene un conjunto de diferentes tipos de datos, que deben ser adaptados (mejor) en .csv, estructurados para MT5. Las listas de Python son mucho más adecuadas para esto que las matrices MQL. Pero esa no es la cuestión, necesitamos un símbolo en la visión general del mercado que pueda cargar cotizaciones desde una fuente externa (SQL por ejemplo). A través de un EA es engorroso y requiere la conexión a un corredor de la izquierda. Así que el uso libre de MT5 sigue siendo cuestionable, y WebRequest() es una utopía.
 
Good Beer #:
Pero ese no es el punto, necesitamos un símbolo en la visión general del mercado que pueda cargar cotizaciones desde una fuente externa (SQL, por ejemplo).

Para ello he creado un símbolo personalizado y un servicio que en segundo plano actualiza su historial a través de las funciones CustomRatesUpdate (vía WebRequest) y CustomTicksAdd (vía websocket).

Buena cerveza #:
A través de un EA es engorroso y requiere una conexión a un corredor de la izquierda.

A través de EA es realmente engorroso. Utilice un servicio. Usted no necesita conectarse a un corredor de "izquierda", obtener cotizaciones directamente desde el proveedor en el que planea el comercio.

Good Beer #:
Así que el uso libre de MT5 está todavía en cuestión, y WebRequest() es una utopía.

Yo uso MT5 libremente, sin ningún problema. WebRequest es bueno para actualizaciones poco frecuentes del historial y para enviar solicitudes de operaciones. Para actualizaciones en tiempo real, use websockets.

 
¡Eso es! ¡Servicio! No los estudié y me olvidé de ellos. ¡Gracias!