Respuesta

Cierre de todos los largos/cortos para un símbolo

0 respuestas

tomas262

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 6 años #117105

Hola,

 

para cerrar largo o corto sólo para el símbolo especificado puede hacer esto:

 

1) añadir código personalizado en CustomFunction.mq4 colocado en la carpeta Wizard

void cerrarTodosLosPedidos(cadena direccion, cadena simboloStr) {
  int total = TotalPedidos();
  for(int i=total-1;i>=0;i--) {
    OrderSelect(i, SELECT_BY_POS);
    int tipo = OrderType();

    bool resultado = false;

    if (direction == "LONG" && type == OP_BUY && OrderSymbol() == symbolStr) {
      result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
    }
    else if (direction == "SHORT" && type == OP_SELL && OrderSymbol() == symbolStr) {
      result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );
    }
    if(result == false) {
      Alert("La orden " , OrderTicket() , " no se ha podido cerrar. Error:" , GetLastError() );
      Sleep(3000);
    }
  }
  return(0);
}

2) añadir CustomAction así en Wizard

closeAllOrders("LONG", "EURUSD");

Esto por ejemplo cerrará todas las posiciones largas para EURUSD

 

Hágame saber si tiene alguna pregunta

0