Orden comprobada en cuanto a su validez, pero aún no aceptada por el corredor
ESTADO_DE_PEDIDO_COLOCADO
Estado_de_pedido_colocado
Usted envía una solicitud de operación (OrderSend) - se comprueba su corrección y si está bien, el retorno es verdadero. Es decir, se trata de una respuesta sobre la corrección de la solicitud de comercio. El servidor aún no ha recibido esta solicitud.
Además, cuando la solicitud es aceptada por el servidor, se devuelve la respuesta: ORDER_STATE_PLACED - la orden se ha establecido.
No puedo estar seguro, pero así es como funciona lógicamente. No conozco ninguna trampa.
Orden comprobada en cuanto a su validez, pero aún no aceptada por el corredor
ESTADO_DE_PEDIDO_COLOCADO
Estado_de_pedido_colocado
Enviar solicitud de operación (OrderSend) - se comprueba su corrección y si está bien, el retorno es verdadero. Es decir, es una respuesta de que la solicitud de comercio es correcta. El servidor aún no ha recibido esta solicitud.
Además, cuando la solicitud es aceptada por el servidor, se devuelve la respuesta: ORDER_STATE_PLACED - la orden está establecida.
No puedo estar seguro, pero así es como funciona lógicamente. No sé qué evitar.
Has descrito la lógica de trabajo con OrderSendAsync, no con OrderSend. Después del OrderSend actual, querrá eliminar el pedido, y es muy probable que no pueda hacerlo, ya que los pedidos iniciados no se eliminan.
Artyom Trishkin: Usted envía una solicitud de operación (OrderSend) - se comprueba su corrección y, si está bien, devuelve true. Es decir, es una respuesta de que la solicitud de comercio es correcta. El servidor aún no ha recibido esta solicitud.
Entonces, ¿en qué se diferencia OrderSend de OrderSendAsync (aparte del nombre)?
Artyom Trishkin: Lo que escribí más arriba es mi idea de la lógica. Llevo mucho tiempo trabajando en la 4. Por lo tanto, es poco probable que responda a esta pregunta ;)
MQL5: Cambiado el comportamiento de la función OrderSend al colocar, modificar y retirar órdenes. El comportamiento se modifica sólo cuando se dan órdenes a sistemas de negociación externos. Anteriormente, el control de la función OrderSend se devolvía después de la colocación exitosa (procesamiento) de una orden en el servidor del corredor. Ahora el control se devuelve sólo después de que el servidor del corredor reciba una notificación del sistema de comercio externo de que la orden se ha colocado con éxito allí.
A continuación se muestra una representación esquemática del comportamiento anterior (flecha roja) y actual de la función:
Ya que incluso con Before (en el esquema) OrderSend debería haber sido devuelto sólo cuando Placed. Sobre todo porque los casos ocurren en diferentes servidores de demostración donde no hay ningún sistema externo.
Para que mi EA funcione en un bloque de recuperación de colapsos, necesito saber cuántas comisiones, swaps y cargos se hicieron en el último período. ¿Cómo puedo obtener esta información de forma programada?
¿Y cuando un pedido ya está hecho, se devuelve algo?
ESTADO_DE_PEDIDO_COLOCADO.
Identificador
Descripción
ESTADO_DE_PEDIDO_INICIADO
Orden comprobada en cuanto a su validez, pero aún no aceptada por el corredor
ESTADO_DE_PEDIDO_COLOCADO
Estado_de_pedido_colocado
Usted envía una solicitud de operación (OrderSend) - se comprueba su corrección y si está bien, el retorno es verdadero. Es decir, se trata de una respuesta sobre la corrección de la solicitud de comercio. El servidor aún no ha recibido esta solicitud.
Además, cuando la solicitud es aceptada por el servidor, se devuelve la respuesta: ORDER_STATE_PLACED - la orden se ha establecido.
No puedo estar seguro, pero así es como funciona lógicamente. No conozco ninguna trampa.
Pues ya está descrito:
Identificador
Descripción
ESTADO_DE_PEDIDO_INICIADO
Orden comprobada en cuanto a su validez, pero aún no aceptada por el corredor
ESTADO_DE_PEDIDO_COLOCADO
Estado_de_pedido_colocado
Enviar solicitud de operación (OrderSend) - se comprueba su corrección y si está bien, el retorno es verdadero. Es decir, es una respuesta de que la solicitud de comercio es correcta. El servidor aún no ha recibido esta solicitud.
Además, cuando la solicitud es aceptada por el servidor, se devuelve la respuesta: ORDER_STATE_PLACED - la orden está establecida.
No puedo estar seguro, pero así es como funciona lógicamente. No sé qué evitar.
Usted envía una solicitud de operación (OrderSend) - se comprueba su corrección y, si está bien, devuelve true. Es decir, es una respuesta de que la solicitud de comercio es correcta. El servidor aún no ha recibido esta solicitud.
¿En qué se diferencia entonces OrderSend de OrderSendAsync (aparte del nombre)?
Lo que escribí más arriba es mi idea de la lógica. Llevo mucho tiempo trabajando en la 4. Por lo tanto, es poco probable que responda a esta pregunta ;)
Mira el párrafo 7 aquí https://www.mql5.com/ru/forum/23/page19#comment_2632240
Mira aquí https://www.mql5.com/ru/forum/23/page19#comment_2632240
La explicación al caso descrito puede ser que el servidor de la antigua compilación
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Cambios en las construcciones del terminal de cliente de MetaTrader 5
MetaQuotes Software Corp., 2016.07.14 15:30
A continuación se muestra una representación esquemática del comportamiento anterior (flecha roja) y actual de la función:
La construcción antigua no tiene nada que ver.
¡Buenas tardes a todos!
Para que mi EA funcione en un bloque de recuperación de colapsos, necesito saber cuántas comisiones, swaps y cargos se hicieron en el último período. ¿Cómo puedo obtener esta información de forma programada?