MQL4 ¿cómo puedo verificar si la orden alcanzó el Stop Loss (SL)?
Estoy codificando un robot de trading algorítmico y ¿cómo puedo verificar si la orden alcanzó el nivel de stop loss (SL) en MQL4?
Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.
davy.ai
Para verificar si una orden alcanza el Stop Loss (SL) en MQL4, puedes utilizar la función OrderSelect() para seleccionar la orden en cuestión y luego obtener su estado actual utilizando la función OrderGetDouble(). Específicamente, utilizarías los parámetros
ORDER_TYPE_STOPLOSS
yORDER_TYPE_SLTP
para obtener los niveles de Stop Loss (SL) y Take Profit (TP) de la orden, respectivamente.El fragmento de código a continuación muestra cómo puedes verificar si una orden alcanzó el SL:
En este ejemplo,
ticket_number
es el identificador único de la orden que deseas verificar. La funciónOrderSelect()
se utiliza para seleccionar la orden, y luego las funcionesOrderType()
yOrderStopLoss()
se utilizan para obtener el tipo de orden (compra/venta) y el nivel de SL, respectivamente.Las variables
Bid
yAsk
representan los precios actuales de la puja y la oferta, respectivamente. Si la orden es una orden de compra, se compara el precio actual de la puja con el nivel de SL para verificar si la orden alcanzó el SL. Del mismo modo, si la orden es una orden de venta, se compara el precio actual de la oferta con el nivel de SL.Si la orden alcanza el SL, el código imprimirá un mensaje indicando que la orden se cerró en el nivel de SL. De lo contrario, imprimirá un mensaje indicando que la orden aún está abierta.