Discusión sobre el artículo "Biblioteca para el desarrollo rápido y sencillo de programas para MetaTrader (Parte XXVII): Trabajando con las solicitudes comerciales - Colocación de órdenes pendientes" - página 2

Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Casi 4 megabytes de código, y el esquema de la biblioteca y los métodos personalizados no se proporcionan... ¿Estás escribiendo para ti mismo?
Mira a través de los ojos de tus usuarios. Cómo es para ellos entender todo esto sin puntos de referencia.
Unos buenos puntos de referencia autosuficientes son los propios artículos. No sólo tienen directrices, sino que también se mastican a fondo - si usted era demasiado perezoso para leerlos.
El esquema estará al final de la creación de la biblioteca. Así como los métodos de caso de usuario para acceder rápidamente a todas las funciones de la biblioteca.
Concretamente en este artículo no se dice por qué se decide enviar una orden pendiente inmediatamente después de la conexión a Internet, sin volver a preguntar al usuario.
Hay una advertencia de que las órdenes pendientes presentadas en el artículo no se pueden utilizar en el comercio real. Es decir, todo son pruebas de concepto y nada más.
No hay ninguna explicación para establecer una orden después de volver a conectarse a Internet sin preguntar al usuario.
¿Y realmente se necesitan varios artículos para probar un mecanismo sencillo de una solicitud de operación pendiente? Además, es más fácil y correcto sondear de nuevo al usuario y ya está.
Veo enseguida que no has escrito funciones de trading y que no entiendes muy bien de qué estamos hablando.
Voy a tratar de decirle de nuevo (que estaba en el último artículo): hay algunos errores del servidor de comercio que requieren un cierto retraso antes de volver a enviar una solicitud de comercio al servidor.
Normalmente se sugiere hacer este retraso con la ayuda de Sleep(). Pero detiene la ejecución del programa. Por lo tanto, todo el programa esperará a que la pausa dentro del método trade se complete antes de reenviar la solicitud de operación al servidor.
¿Es esto bueno? En el caso general y más simple, está bien.
Pero un Asesor Experto puede ser multidivisa. Y durante el tiempo de espera no hará nada más que este tiempo de espera.
¿Es bueno? Creo que no - el Asesor Experto debe seguir vigilando el entorno de todos sus símbolos de trabajo. Esto es exactamente lo que le proporcionan las peticiones pendientes: cuando recibe un error del servidor que requiere espera, crea una petición pendiente con el número requerido de intentos y el tiempo de espera requerido entre ellos, y sigue haciendo su trabajo. A continuación, la propia clase de negociación enviará a tiempo al servidor la solicitud de negociación necesaria. Al mismo tiempo, primero comprobará "si el tiempo para la ejecución de todos los intentos asignados para la solicitud de comercio ha terminado". Por lo tanto, el Asesor Experto no enviará órdenes obsoletas al servidor después de ciento cincuenta horas.
Y si tanto le gusta comunicarse con el programa, las "solicitudes de operación pendientes" que he propuesto permiten al usuario establecer una condición para el envío de una orden de operación. Usted establece la condición y se dedica a sus asuntos: en cuanto se produzca la condición, se activará la solicitud. Este es uno de los muchos métodos para crear una lógica de negociación para los Asesores Expertos. Y cuando la biblioteca estará disponible para construir un shell gráfico para sus programas, entonces será fácil crear herramientas para la creación de la lógica de negociación - introduzca los valores necesarios, especifique el tipo de solicitud y cuando tiene que trabajar, y eso es todo ....
Esto es lo primero que se me ocurre para explicar y responder a tu pregunta "por qué es necesario todo esto" - todo se hace no "aquí y ahora", sino ladrillo a ladrillo, gradualmente.
Es inmediatamente obvio que no has escrito funciones de comercio, y no sabes realmente de lo que estás hablando.
Intentaré decírtelo de nuevo (estaba en el último artículo): hay algunos errores del servidor de comercio que requieren cierto retraso antes de reenviar una petición de comercio al servidor.
Normalmente se sugiere hacer este retraso con la ayuda de Sleep(). Pero detiene la ejecución del programa. Por lo tanto, todo el programa esperará a que la pausa dentro del método trade se complete antes de reenviar la solicitud de operación al servidor.
¿Es esto bueno? En el caso general y más simple, está bien.
Pero un Asesor Experto puede ser multidivisa. Y durante el tiempo de espera no hará nada más que este tiempo de espera.
¿Es bueno? Creo que no - el Asesor Experto debe seguir vigilando el entorno de todos sus símbolos de trabajo. Esto es exactamente lo que le proporcionan las peticiones pendientes: cuando recibe un error del servidor que requiere espera, crea una petición pendiente con el número requerido de intentos y el tiempo de espera requerido entre ellos, y sigue haciendo su trabajo. A continuación, la propia clase de negociación enviará a tiempo al servidor la solicitud de negociación necesaria. Al mismo tiempo, primero comprobará "si el tiempo para la ejecución de todos los intentos asignados para la solicitud de comercio ha terminado". Por lo tanto, el Asesor Experto no enviará órdenes obsoletas al servidor después de ciento cincuenta horas.
Y si tanto le gusta comunicarse con el programa, las "solicitudes de operación pendientes" que he propuesto permiten al usuario establecer una condición para el envío de una orden de operación. Usted establece la condición y se dedica a sus asuntos: en cuanto se produzca la condición, se activará la solicitud. Este es uno de los muchos métodos para crear una lógica de negociación para los Asesores Expertos. Y cuando la biblioteca estará disponible para construir un shell gráfico para sus programas, entonces será fácil crear herramientas para la creación de la lógica de negociación - introduzca los valores necesarios, especifique el tipo de solicitud y cuando tiene que trabajar, y eso es todo....
Esto es lo primero que se me ocurre para explicar y responder a su pregunta "¿por qué es necesario todo esto?" - todo se hace no "aquí y ahora", sino ladrillo a ladrillo, gradualmente.
Si la conexión con el servidor se interrumpe, todos los cálculos en el Asesor Experto se detienen, porque el motor principal de los cálculos es el precio.
Peter, el fallo de conexión no es el único error que requiere esperar antes de repetir. Te estás aferrando a un error artificial para probar.....
Es imposible rastrear todas las llamadas del EA al servidor.
Lo pregunto porque la solución al problema de reenviar órdenes fallidas (obviamente) no requiere complicación y se resuelve de forma sencilla.
...
Permítanme tratar de decirlo de nuevo (que estaba en el último artículo): hay algunos errores del servidor de comercio que requieren un cierto retraso antes de volver a enviar la solicitud de comercio al servidor.
Normalmente se sugiere hacer este retraso usando Sleep(). Pero esto detiene la ejecución del programa. Por lo tanto, todo el programa esperará a que se complete la pausa dentro del método trade antes de enviar una nueva solicitud al servidor.
...
Necesidad de una lista específica de tales errores, y una explicación - LO QUE la biblioteca ofrece como solución.
Necesidad de los usuarios para que apliquen las funciones de la biblioteca en lugar de las suyas propias.
¿Cuáles son estos errores y cuáles son sus soluciones en términos generales?
...
Lo pregunto porque la solución al problema del reenvío de órdenes fallidas (obviamente) no requiere complicación y se resuelve de forma sencilla.
He mirado el último artículo. Allí es sólo sobre el fracaso de enviar una orden debido a la falta de disponibilidad del servidor. La forma de la solución es mucho más complicada de lo que podía imaginar. Pero, la esencia de la solución no se complica.
No hay solución para otros tipos de peticiones repetidas.
He mirado el último artículo. Sólo habla del fallo en el envío de un pedido debido a la indisponibilidad del servidor. La forma de la solución es mucho más complicada de lo que podía imaginar. Pero la esencia de la solución no se complica.
No hay solución para otros tipos de peticiones repetidas.
Y lo pruebas :)
Esto no es una respuesta.
Usted no quiere comunicarse sobre el tema, y mostrar lo que las solicitudes pendientes de la biblioteca puede manejar.
Cada petición pendiente (no orden) necesita su propia solución, - su propia magia, sus propias propiedades, sus propios métodos y así sucesivamente. ¿Y dónde está?
Eso no es una respuesta.
Usted no quiere comunicar sobre el tema, y mostrar lo que las solicitudes pendientes de la biblioteca puede manejar.
Cada petición pendiente (no orden) necesita su propia solución - su propio magik, sus propias propiedades, sus propios métodos y así sucesivamente. ¿Y dónde está?