Closing orders. Stupid question. :(

 

Hey there.


I'm bit stuck en closing orders.


I get en error "unknown ticket", but I've tried a lot of ways and got a lot of different errors.


Can someone help?


Thanks a lot. :)


OrderSelect(OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY);

if ((updown==1)&&(OrderType()==OP_SELL))
OrderClose(nTicket,LOT,Bid,Red);

if ((updown==0)&&(OrderType()==OP_BUY))
OrderClose(nTicket,LOT,Bid,Red);

 

Use OrderTicket() instead of nTicket


hth


Russell

--edit--

a sell should be closed by Ask in general


void manageOpenTrade(int iMagicNumber, double dSL, double dTP, int iSlippage){

   int liOT = OrdersTotal();
   RefreshRates();
   for(int i = liOT; i >= 0; i--){
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==TRUE) {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == iMagicNumber){
            if (OrderType() == OP_SELL){
               if(Ask >= (OrderOpenPrice()+ (dSL * Point)) || Ask <= (OrderOpenPrice()-(dTP*Point))){
                  OrderClose(OrderTicket(),OrderLots(),Ask,iSlippage,Red);
               }
            }
            if (OrderType() == OP_BUY){               
               if(Bid <= (OrderOpenPrice()-dSL*Point) || Bid >= (OrderOpenPrice()+dTP*Point) ){
                     OrderClose(OrderTicket(),OrderLots(),Bid,iSlippage,Green);
               }
            }
         }
      }
   }
}
 
Just to say that if an order is already in history, then it's history. It means that it is already closed/deleted.
 
lol that caught me of guard :)
 
abstract_mind:
Just to say that if an order is already in history, then it's history. It means that it is already closed/deleted.

MMM.. could be hey. Thanks. Did not see that.

 
Russell:
lol that caught me of guard :)

Thanks for the info. Appriciate it. :)

Reason: