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

 

Cuando se ejecuta en el probador, el precio actual = 4843. los búhos ponen un límite de incautación en el precio de 10.

¿Cómo es posible, cómo se puede evitar?

mrak

 
lil_lil:

Cuando se ejecuta en el probador, el precio actual = 4843. los búhos ponen un límite de incautación en el precio de 10.

¿Cómo es posible, cómo evitarlo?


Emitir el precio correcto para establecer la orden pendiente.

 
Vladimir Karputov:

Emitir el precio correcto para establecer la orden pendiente.

Una vez que este selimit se convierte en una posición, el establecimiento de otras órdenes limitadas se realiza sin problemas.

               ExtStep=10*m_adjusted_point;
               m_trade.SellLimit(checkVolumeValue(loot),m_symbol.Bid()+ExtStep);
¿Cuál es el precio equivocado?
 
lil_lil:

Una vez que este selimit se convierte en una posición, el establecimiento de otras órdenes limitadas se realiza sin problemas.

¿Cuál es el precio equivocado?

m_symbol.Bid() - esto contiene explícitamente la basura o el precio antiguo.

Deberíamos refrescar el precio primero:

   if(!RefreshRates())
      return;

y luego debemos emitir una orden de negociación para colocar una orden pendiente.

 
Vladimir Karputov:

m_symbol.Bid() - esto claramente contiene o bien basura o bien el precio antiguo.

El precio debe actualizarse primero:

y luego emitir una orden de negociación para colocar una orden pendiente.

Hay

 if(!RefreshRates())
            return;

antes de enviar un pedido

 
lil_lil:

Hay

antes de enviar el pedido

Antes de enviar el pedido, imprima el precio que va a enviar.

 
Vladimir Karputov:

Imprima el precio que transmite antes de enviar la orden.

m_symbol.Bid()4828.0


 
lil_lil:

m_symbol.Bid()4828.0


Bien, por otro lado: compruebe los registros en la pestaña Log - debería ver allí que ha enviado una orden limitada de venta al precio 10.

 
Vladimir Karputov:

Bien, veamos el otro lado: compruebe los registros en la pestaña "Log" para ver que ha enviado una orden limitada de venta al precio 10.

CTrade::OrderSend: modificar #3 a 10.00000 (sl: 0.00000 tp: 0.00000) [hecho]

ok, esto se modifica a ese precio, lo buscaré.
 
lil_lil:

CTrade::OrderSend: modificar #3 a 10.00000 (sl: 0.00000 tp: 0.00000) [hecho]


Comprobar en el terminal ticks para la fecha en 00-00

Razón de la queja: