If you didn't keep calling OrdersTotal() you wouldnt have that problem. Call the total once. Put it in a int. Use that int in the for loop.
Having said that did you even read my earlier reply ? That entire loop is a complete waste of time. Look at your code. What do you think the value of SellTicket already is ?
SelectedOrder = OrderSelect(Counter,SELECT_BY_POS);
// while(IsTradeContextBusy()) Sleep(10);
else Alert("Symbol: ",Symbol()," Ticket: ",SellTicket," unable to close sell order(s): sell ma convergence close routine");
Yes it does, and it is not logical to have already had the neccessary values in the EA then forget them and trawl through the orders pool to retrieve them. That kind of thing only needs to be done as part of reboot recovery.