Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1058

 

EnMqlTradeResult result.price obtengo 0 cuando se ejecuta una orden limitada (BUY STOP en mi caso).

El resto de los campos, como el volumen, el pedido, etc., vienen con datos. ¿Por qué el precio es 0? ¿O cuál es la forma correcta de hacerlo?

p.d. Estoy viendo en depurador en la historia.

 
leonerd:

EnMqlTradeResult result.price obtengo 0 cuando se ejecuta una orden limitada (BUY STOP en mi caso).

El resto de los campos, como el volumen, el pedido, etc., vienen con datos. ¿Por qué el precio es 0? ¿O cuál es la forma correcta de hacerlo?

p.d. Estoy buscando en el depurador en la historia.

Pues sí. Cuando ORDER_TYPE_BUY en result.price obtengo el precio, pero cuando ORDER_TYPE_BUY_STOP allí obtengo 0. ¿Por qué?

 
El precio de la operación confirmado por el corredor. Depende del campo dedesviación enla solicitud de comercio y/o del tipo decomercio


Es decir, esto es sólo para una transacción. ¿Y cómo obtener el precio de la orden después de establecerlo a través de OrderSend()? Me refiero a través de la respuestaMqlTradeResult y no a través de ningún gestor de transacciones. No entendemos por qué si hay un acuerdo, la respuesta contendrá el precio pero si hay una orden limitada, el precio no estará allí.

 
leonerd:

Es decir, esto es sólo para una transacción. ¿Y cómo obtener el precio de la orden después de establecerlo a través de OrderSend()? Me refiero a través de la respuestaMqlTradeResult y no a través de ningún gestor de transacciones. No está claro por qué si hay una operación, la respuesta contendrá el precio y si hay una orden limitada, no veremos su precio.

Solicitud.precio.

 
fxsaber:

Solicitud.precio.

Hipotéticamente, el precio de la solicitud puede cambiarse en el servidor y el pedido puede establecerse con un precio diferente al del pedido.

 
leonerd:

Hipotéticamente, el precio de la solicitud podría cambiarse en el servidor y el pedido podría establecerse con un precio diferente al del pedido.

Esto sólo es posible si se envía una orden de mercado con Request.price = 0.

ZZY En MT4 este tema nunca ha molestado a nadie. ¿Por qué debería ser un problema en MT5?
 
fxsaber:

Esto sólo es posible si se envía una orden de mercado con Request.price = 0.

ZS En MT4 este tema nunca ha molestado a nadie. ¿Por qué razón debería surgir en MT5?

Es evidente que hay algún tipo de error lógico. MqlTradeResult es el resultado de una operación comercial. ¿Una orden limitada es una operación comercial? Sí. El volumen y otros parámetros llegan a esta estructura. Pero, ¿por qué no el precio? No está claro.

 
leonerd:

Es evidente que hay algún tipo de error lógico. MqlTradeResult es el resultado de una operación comercial. ¿Una orden limitada es una operación comercial? Sí. El volumen y otros parámetros llegan a esta estructura. Pero, ¿por qué no el precio? No está claro.

Una orden pendiente no es una operación comercial. Es una orden a ejecutar al precio especificado en la orden. Al ejecutarse la orden, se producirá una operación que generará una posición o modificará una posición existente, dependiendo del tipo de cuenta (cobertura, compensación).

 
Artyom Trishkin:

Una orden pendiente no es una operación comercial. Es una orden a ejecutar al precio especificado en la orden. Al ejecutarse la orden, se producirá una operación que originará o modificará una posición existente en función del tipo de cuenta (cobertura, compensación).

Vale, me he expresado mal. Citemos la fuente original:

Estructura del resultado de la solicitud de negociación (MqlTradeResult)

Enrespuesta auna solicitud de comercio para colocar una orden en el sistema de comercio, el servidor de comercio devuelve datos que contienen la información sobre el resultado del procesamiento de la solicitud de comercio como una estructura especial predefinida MqlTradeResult.


p.d. ¿Dónde está la cita en el editor? ¿Tengo que entrar en html? Qué inconveniente.

 

p.s. где ж тут цитирование в редакторе? Мне в хтмл что ли лезть? Как неудобно-то.

encontrado
Razón de la queja: