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?
- www.mql5.com
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?
- www.mql5.com
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"?
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.
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 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.
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 |
- www.mql5.com
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 |
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
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.
Autor: MetaQuotes Software Corp.