Página 1 de 1

Borrar órdenes pendientes

Publicado: 04 Ene 2019 22:31
por davemac
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.

Re: Borrar órdenes pendientes

Publicado: 08 Ene 2019 09:20
por X-Trader
Hola Davemac, en realidad es más sencillo de lo que parece: observa que en la función OrderSend, cuya estructura es:
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)
Hay un campo de vencimiento de la orden (lo he marcado en negrita).

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

Re: Borrar órdenes pendientes

Publicado: 09 Ene 2019 14:28
por davemac
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:
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)
Hay un campo de vencimiento de la orden (lo he marcado en negrita).

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
Gracias por la respuesta. Un saludo.