Esto me está volviendo loco. Lo explicaré despacio.
Tengo
_ticket_orden=OrderSend(Symbol(),OP_BUYSTOP,_lotes ,High[1]+10*point,_slip_page _pips,_stop_loss_precio,_take_profit_precio,"BUY", _ea_magic_number,0,Green);
y
_ticket_orden=OrderSend(Symbol(),OP_SELLSTOP,_lote s,Low[1]-10*point,_slip_page_pips,_stop_loss_precio,_take_p rofit_precio,"Sell",_ea_magic_number,0,Red);
Hasta aquí todo perfecto.
pero ahora para anular la orden stop al cabo de n
velas hago lo siguiente:
//Calculo de la fecha de expiracion de la
orden pendiente.
datetime _expiacion = TimeCurrent()+(Period()*60)*_velas_para_expirar;
// Enviar orden
_ticket_orden=OrderSend(Symbol(),OP_BUYSTOP,_lotes ,High[1]+10*point,_slip_page_pips,_stop_loss_precio,_take_ profit_precio,"BUY",_ea_magic_number,_expiacion,Gr een);
Y tambien todo perfecto. _expiacion es un numero que representa la fecha de expiacion y que se coloca en el sitio correspondiente de funcion OrderSend
Y ahora viene el misterio.
Hago exactamente lo mismo pero con la orden de sellstop, es decir:
//Calculo de la fecha de expiracion de la orden pendiente.
datetime _expiacion = TimeCurrent()+(Period()*60)*_velas_para_expirar;
// Enviar orden
_ticket_orden=OrderSend(Symbol(),OP_SELLSTOP,_lote s,Low[1]-10*point,_slip_page_pips,_stop_loss_precio,_take_p rofit_precio,"Sell",_ea_magic_number,_expiacion,Re d);
... y sorpresa,
¡todo se me excogorcia!, y ademas, paso de tener unas 250 operaciones a tener unas 1.200. ¿¿¿???
¡¡ Socorro!! ¿Alguien sabe por que puede ser esto?
Saludos.