Eliminar SL y TP de la operación abierta
Hola a todos!
Tengo problemas al modificar la orden abierta.
Básicamente lo que quiero es eliminar el TakeProfit y el StopLoss de la orden abierta, para que cierren con una función llamada "CLOSE()" en el momento que indique mi estrategia.
El problema es que imprime "OrderModify error 1" en el Registro del probador de estrategias.
Por el momento no afecta la operativa, sin embargo sé que algo está mal y me gustaría arreglarlo.
Me pueden ayudar?
Se debe seleccionar la orden, antes de todo
Prueba con esta modificacion, quizas te funcione
void eliminarSLyTP() { if (OrdersTotal()== 1 ) { for(int c=0; c<OrdersTotal(); c++) //obtener los datos de la última operación abierta. { if(!OrderSelect(c,SELECT_BY_POS,MODE_TRADES))continue; if (OrderSymbol()==Symbol() && OrderMagicNumber()==magic) { int ticket = OrderTicket(); double oop = OrderOpenPrice(), nsl = 0, //nuevo StopLoss. ntp = 0; //nuevo TakeProfit. bool om = OrderModify(ticket,oop,nsl,ntp,0,clrNONE); //elimina el TakeProfit y StopLoss de la primera operación. } } } }Saludos!!!
Se debe seleccionar la orden, antes de todo
Prueba con esta modificacion, quizas te funcione
Muchísimas gracias por el dato!
Hola a todos!
Tengo problemas al modificar la orden abierta.
Básicamente lo que quiero es eliminar el TakeProfit y el StopLoss de la orden abierta, para que cierren con una función llamada "CLOSE()" en el momento que indique mi estrategia.
El problema es que imprime "OrderModify error 1" en el Registro del probador de estrategias.
Por el momento no afecta la operativa, sin embargo sé que algo está mal y me gustaría arreglarlo.
Me pueden ayudar?