Buenas, lo primero feliz año y un saludo al foro.
He buscado por la red y en esta web algún Ea o script que borre las ordenes pendientes una vez pasado un tiempo determinado, por ejemplo si pone 5 minutos en un campo borre todas las órdenes pendientes que estén puestas en MT4 si han superado ese tiempo desde que se lanzaron.
Encontré algunos expert para manejar órdenes pendientes pero ninguno tiene esa función.
Gracias de antemano y un saludo.
Borrar órdenes pendientes
Re: Borrar órdenes pendientes
Hola Davemac, en realidad es más sencillo de lo que parece: observa que en la función OrderSend, cuya estructura es:
Si en ese campo introduces el valor resultante de este cálculo, donde minutes es el valor en minutos que desees, ya lo tienes:
Saludos,
X-Trader
Hay un campo de vencimiento de la orden (lo he marcado en negrita).OrderSend(string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
Si en ese campo introduces el valor resultante de este cálculo, donde minutes es el valor en minutos que desees, ya lo tienes:
Código: Seleccionar todo
expiration = TimeCurrent()+60*minutes
Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Re: Borrar órdenes pendientes
Gracias por la respuesta. Un saludo.X-Trader escribió:Hola Davemac, en realidad es más sencillo de lo que parece: observa que en la función OrderSend, cuya estructura es:
Hay un campo de vencimiento de la orden (lo he marcado en negrita).OrderSend(string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
Si en ese campo introduces el valor resultante de este cálculo, donde minutes es el valor en minutos que desees, ya lo tienes:
Código: Seleccionar todo
expiration = TimeCurrent()+60*minutes
Saludos,
X-Trader
Si te ha gustado este hilo del Foro, ¡compártelo en redes!