Last Order

 

How can I access the last closed order?

 
thalassi:

How can I access the last closed order?

   int maxtime = -1;
   int total = OrdersHistoryTotal();
   int ticket = -1;
   for (int i = 0; i < total; i++) {
      OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
      if (OrderCloseTime() > maxtime) {
         maxtime = OrderCloseTime();
         ticket = OrderTicket();
      }
   }
   if (ticket >= 0) {
      Print("Ticket by last closed order ", ticket);
   }
 
That assumes only one EA on one chart
 datetime maxtime;
   int ticket = -1;
   for(int pos=0; pos < OrderHistoryTotal(); pos++) if (
        OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY)   // Only orders w/
    &&  OrderMagicNumber()  == magic.number             // my magic number
    &&  OrderSymbol()       == Symbol()                 // and my pair.
    &&  OrderCloseTime()    >  maxtime
    &&  OrderType()         <= OP_SELL){    // Avoid cr/bal https://www.mql5.com/en/forum/126192
        maxtime = OrderCloseTime(); ticket = OrderTicket();
    }