Características del lenguaje mql5, sutilezas y técnicas - página 5

 
Dmitry Fedoseev:

Sería mejor escribir una función separada para la espera, de modo que la clase de comercio estándar pueda ser utilizada también.

Si se inserta la solución antes de la SB ahora, se sincronizará.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Características del lenguaje mql5, sutilezas y trucos

fxsaber, 2017.02.25 16:02

Si quiere hacer que todos los OrderSend estén sincronizados con el entorno comercial y evitar las trampas, es suficiente con escribir el código fuente como un archivo mqh y hacer los #include apropiados en sus programas.

 
Dmitry Fedoseev:

Las cosas son mucho más sencillas. Antes de enviar una orden, recordaba la longitud del historial, y después de enviarla, esperaba a que la longitud del historial aumentara. Hay que introducir un tiempo de espera, para que de repente no se quede atascado para siempre.

fxsaber:

Hay un tiempo de espera. Desafortunadamente, puede haber problemas en su versión si varios OrderSends trabajan juntos (desde diferentes Asesores Expertos).

¿No ayuda ORDER_MAGIC en esta situación? ¿Sólo para comprobar el historial de su EA?
 
Vasiliy Pushkaryov:
¿No ayudaría ORDER_MAGIC en esta situación? ¿Sólo para comprobar el historial de su EA?
Disponible en
 
Vasiliy Pushkaryov:
¿No ayudaría ORDER_MAGIC en esta situación? ¿Sólo para comprobar el historial de su EA?
Puede haber un problema con él

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Características del lenguaje mql5, sutilezas y trucos

fxsaber, 2017.02.25 17:29

Además, no sólo el historial, sino también el SL/TP de las posiciones abiertas/órdenes, etc., no está sincronizado.

En el caso de las marcas, la historia sólo puede aumentar por un pedido al principio, y un momento después por un comercio.

Además, ORDER_MAGIC ya es una solicitud de historial. En otras palabras, no podemos esperar a que la historia aumente, como se sugirió antes.

No me queda muy claro por qué hay que inventarse unos métodos, cuando sólo uno de ellos puede funcionar (como espera) en base a la lógica de lo que hay que esperar.

Para cada TRADE_ACTION hay que esperar algo específico. Sólo hay que esperar el específico. No tiene sentido esperar algo más. No hay ninguna segunda solución.

 
fxsaber:
Puede que haya un problema con ello.

Además, ORDER_MAGIC ya es una solicitud de historial. Así que no se puede esperar a que el historial aumente, como se sugirió antes.

No me queda muy claro por qué tenemos que inventarnos unos métodos, cuando sólo uno de ellos puede funcionar (como espera), basándonos en la lógica de lo que tenemos que esperar.

Para cada TRADE_ACTION hay que esperar algo específico. Sólo hay que esperar el específico. No tiene sentido esperar algo más. No hay ninguna segunda solución.

Eres un tipo muy interesante. Si no lo explicas con detalle, no lo entenderás. Esperando que la historia aumente con el mago en mente.
 
Dmitry Fedoseev:
Esperando que la historia aumente con el mago en mente.
¿Y si lo haces?
 
fxsaber:
¿Y si se modifica?
¿Por qué esperar después?
 
Dmitry Fedoseev:
¿Por qué esperar después?
Al modificar una orden pendiente después de un OrderSend exitoso, puede encontrarse con esto
(ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) == ORDER_STATE_REQUEST_MODIFY

aparte del hecho de que la SL/TP no se actualiza inmediatamente, como ocurre con la modificación de la posición.

Sólo se pueden descubrir los matices si se realizan pruebas de estrés en muchos servidores de comercio. Sin ella, operar en una cuenta real es algo complicado.

 
Siempre hay algo en lo que engancharse
 
Dmitry Fedoseev:
Siempre hay algo con lo que toparse
La solución propuesta aún no se ha topado con nada más. Por eso no podía sugerir nada mejor.