order select

 
when i have some orders and i use OrderSelect(,by pos) to select orders if i write OrderSelect(0,by pos),it returns my newest order(or modification) or my last order?
 

the first order (by pos)

 
smsafaee:
when i have some orders and i use OrderSelect(,by pos) to select orders if i write OrderSelect(0,by pos),it returns my newest order(or modification) or my last order?
It returns the earliest open order in the terminal. Not necessarily the oldest order on the current chart nor the oldest opened by the EA. Always use a select loop. Always count down when there could be multiple open orders (multiple charts) when modifying/closing/deleting. If you actually need the first order or last, just remember the ticket and reselect.
int ticketLast=0, ticketFirst=0;
for(pos = OrdersTotal()-1; pos >= 0 ; pos--) if (
    OrderSelect(pos, SELECT_BY_POS)                 // Only my orders w/
&&  OrderMagicNumber()  == magic.number             // my magic number
&&  OrderSymbol()       == Symbol() ){              // and my pair.
    if (ticketLast == 0)    ticketLast = OrderTicket();
    ticketFirst = OrderTicket();
}
if (ticketFirst != 0 && OrderSelect(ticketFirst, SELECT_BY_TICKET){
    // do something with the first.
}
Reason: