Como fechar uma posição? - página 2

 

Bruno Ferreira #:
Tem algum caminho pra eu fechar as operações abertas por um sinal na minha conta?


Eu estou com o mesmo problema no mt4, estou começando na programação de robôs mas na hora de fechar ordens não encontro nenhum método direto e especifico .

Esse caso me parece estrado, já que deveria ser algo bem simples como abrir uma mordem kkk, mas seguimos no aguardo...

 
Leonildo Barboza #:

Eu estou com o mesmo problema no mt4, estou começando na programação de robôs mas na hora de fechar ordens não encontro nenhum método direto e especifico .

Esse caso me parece estrado, já que deveria ser algo bem simples como abrir uma mordem kkk, mas seguimos no aguardo...


A função abaixo (MQL4) fecha todas as POSIÇÕES abertas por magic number:

//+--------------------------------------------------------------------------------------------------------------------+
//| This function closes all positions of the magic number                                                             |
//+--------------------------------------------------------------------------------------------------------------------+
bool ClosePositionsMagic(int MAGIC)
  {
//--- Local variable
   int Cnt;

//--- Checks positions
   for(Cnt = OrdersTotal() - 1; Cnt >= 0; Cnt --)
     {
      //--- Selects the position
      if(!OrderSelect(Cnt, SELECT_BY_POS, MODE_TRADES))
        {
         Print("Failed to get position index...");
         return(false);
        }
      //--- Checks magic number
      if(OrderMagicNumber() == MAGIC)
        {
         //--- Closes position
         if(!OrderClose(OrderTicket(), OrderLots(), OrderType() == OP_BUY ? Bid : Ask, 100, clrNONE))
           {
            Print("Error ", GetLastError());
            return(false);
           }
        }
     }

//--- Closing succeeded
   return(true);
  }