Resposta

Fechamento de todas as posições longas/curtas de um símbolo

0 respostas

tomas262

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

6 anos atrás #117105

Olá,

 

para fechar uma posição comprada ou vendida somente para um símbolo específico, você pode fazer isso:

 

1) adicione o código personalizado em CustomFunction.mq4 colocado na pasta Wizard

void closeAllOrders(string direction, string symbolStr) {
  int total = OrdersTotal();
  for(int i=total-1;i>=0;i--) {
    OrderSelect(i, SELECT_BY_POS);
    int type = OrderType();

    bool result = false;

    se (direção == "LONG" && tipo == 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("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
      Sleep(3000);
    }
  }
  return(0);
}

2) adicionar CustomAction assim no Wizard

closeAllOrders("LONG", "EURUSD");

Isso, por exemplo, fechará todas as posições compradas no EURUSD

 

Me avise se tiver alguma dúvida

0