Discusión sobre el artículo "Eventos de Trading en MetaTrader 5"

 

Artículo publicado Eventos de Trading en MetaTrader 5:

El monitoreo del estado actual de una cuenta comercial implica controlar las posiciones abiertas y órdenes. Antes de que una señal comercial pase a ser una transacción, se debería enviar desde el terminal de cliente como solicitud al servidor de trading, donde se colocará en la cola de órdenes a la espera de ser procesadas. Aceptar una solicitud por el servidor de trading, eliminarla si caduca o realizar una transacción en su base: todas estas acciones se siguen por eventos de trading, y el servidor informa al terminal sobre ellos.

Generación de Eventos de Trading

Autor: MetaQuotes Software Corp.

 

Me gustaría aclarar algunos puntos.

1. el artículo da a entender que la función OrderCheck() está destinada a la comprobación primaria de una solicitud, y la comprobación primaria con ayuda de la función OrderCheck() la realiza directamente el servidor (en el lado del servidor), no en el terminal. ¿Es esto correcto?

Документация по MQL5: Торговые функции / OrderCheck
Документация по MQL5: Торговые функции / OrderCheck
  • www.mql5.com
Торговые функции / OrderCheck - Документация по MQL5
 

2. El libro de referencia afirma que para la función OrderSend( ) "en caso de que la comprobación de la estructura básica sea correcta, se devuelve true". De esto podemos concluir que se devuelve true inmediatamente después de comprobar que la solicitud es correcta.

Pero un poco más abajo en la nota se añade que "si la orden es aceptada con éxito por el servidor comercial, la función OrderSend() devuelve true". Esta nota implica que se devuelve true sólo después de que el servidor acepte la orden.

Mientras tanto, puede haber situaciones en las que ya se ha comprobado que la solicitud es correcta, pero aún no ha sido aceptada por el corredor. Por lo tanto, aclare en qué momento la función OrderSend() devuelve true: ¿inmediatamente después de comprobar que la solicitud es correcta o sólo después de que el servidor acepte la orden?

Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговые функции / OrderSend - Документация по MQL5
[Eliminado]  
Yedelkin:

Me gustaría aclarar algunos puntos.

1. el artículo da a entender que la función OrderCheck() está destinada a la comprobación primaria de una solicitud, y la comprobación primaria con ayuda de la función OrderCheck() la realiza directamente el servidor (en el lado del servidor), no en el terminal. ¿Es esto correcto?

Por lo que tengo entendido el procesamiento se realiza en el lado del terminal del cliente.

También lo confirma el siguiente post.

 

3. El artículo afirma que "las solicitudes recibidas por el servidor de operaciones se almacenan en forma de órdenes, que pueden ser pendientes o de ejecución inmediata a precios de mercado".

Como sabemos, la Ejecución Inmediata es uno de los tres modos de ejecución de órdenes de mercado. Entonces surge la pregunta, ¿qué ocurre con las órdenes de mercado en los modos de Ejecución de Mercado y Ejecución de Solicitudes? ¿Podemos generalizar que "las solicitudes recibidas por el servidor de operaciones se almacenan como órdenes, que pueden ser órdenes de mercado pendientes o inmediatas a precios de mercado"?

 
Interesting:

Por lo que tengo entendido, el procesamiento se realiza en el terminal del cliente.

Esto también se confirma en el siguiente post.

De acuerdo, sugiero que esperemos una respuesta oficial. Gracias, como siempre, por la información adicional. Eso es lo que yo pensaba antes también.

Addendum. Incluso me he dado cuenta de lo que podía haberme confundido en esta pregunta. En el artículo, la frase "procesamiento primario" hace referencia a la función OrderCheck(), y yo tomé esta referencia al pie de la letra, sin ninguna retrospectiva.

 
Yedelkin:

Me gustaría aclarar algunos puntos.

1. el artículo da a entender que la función OrderCheck() está destinada a la comprobación primaria de una solicitud, y la comprobación primaria con ayuda de la función OrderCheck() la realiza directamente el servidor (en el lado del servidor), no en el terminal. ¿Es esto correcto?

El artículo dice que la comprobación interna primaria se realiza en el terminal. OrderCheck() también funciona en el terminal, no se envía nada al servidor.
 
Rosh:
El artículo dice que la comprobación inicial se realiza en el terminal. OrderCheck() también funciona en el terminal, no se envía nada al servidor.

El artículo dice: "tras enviar un pedido, éste llega al servidor y se somete a una comprobación inicial".

También me confundió el hecho de que en el artículo la frase "procesamiento inicial" hace referencia a la función OrderCheck(), así que tomé esta referencia al pie de la letra, sin pensarlo dos veces.

 
Yedelkin:

2.

Mientras tanto, puede haber situaciones en las que ya se ha comprobado que la solicitud es correcta, pero aún no ha sido aceptada por el broker. Por lo tanto, por favor, aclare en qué momento exacto la función OrderSend() devuelve true - ¿inmediatamente después de comprobar la corrección de la solicitud o sólo después de que el servidor acepte la orden?

La solicitud correcta es aceptada por el servidor y la respuesta se envía al terminal en el campo retcode de la estructura MqlTradeResult - https://www.mql5.com/es/docs/constants/errorswarnings/enum_trade_return_codes.

Código

Identificador

Descripción

10008

TRADE_RETCODE_PLACED

Pedido realizado

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера - Документация по MQL5
 
Rosh:

La solicitud correcta es aceptada por el servidor y la respuesta se envía al terminal en el campo retcode de la estructura MqlTradeResult - https://www.mql5.com/es/docs/constants/errorswarnings/enum_trade_return_codes.

Código

Identificador

Descripción

10008

TRADE_RETCODE_PLACED

El pedido se ha realizado

¿Quiere decir que la función OrderSend() devuelve true sólo después de que el servidor acepte (coloque) el pedido?
 
Yedelkin:


Además, me confundió el hecho de que el artículo da la frase "procesamiento inicial" como referencia a la función OrderCheck(), y tomé esa referencia al pie de la letra, sin retrospectiva.

Usted también me confundió. He eliminado la referencia de la combinación "comprobación inicial".