OrderSelect и его повторный вызов

 

Хотелось бы комента от разработчиков по поводу следующего

      int total = OrdersTotal();
      for(i = 0; i < total; i ++)
       { StopLoss = 0;
         TakeProfit = 0;
         OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
         // TODO: Написать ф-ию идентифицирующую ордер как принадлежащий этому эксперту
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == D_MAGIC && (OrderType() == OP_BUY || OrderType() == OP_SELL))
          {// вызов ф-ии какой либо
          } 
       }
После выбора ордера по средсвам ф-ии OrderSelect вызывается некая ф-ия которая также шарится по массиву истории и чтото там считает. Соотвествено она тоже вызывает ф-ию OrderSelect. На какой ордер будет позиционированы после отрабатывания этой ф-ии и возврата в основной цикл программы? будет ли дальнейшее обращения к ордеру тому который выбрался в основном цикле или же уже к тому который был выбран последним в ф-ии?
 
Будет использован последний выбранный через OrderSelect ордер.
 
MetaQuotes:
Будет использован последний выбранный через OrderSelect ордер.


Засада))) значит надо сохранять который был выбран а после действий возвращаеть его сного вызывая ф-ию OrderSelect?

И что выдасть ф-ия OrderTicket если до этого не было ни разу вызвана ф-ия OrderSelect?

 
Выдаст неопределенное значение.
 
MetaQuotes:
Выдаст неопределенное значение.

тоесть мне нужно будет проверить что ф-ия OrderTicket вернула больше 0 значит чтото было выбрано? верно я понимаю?
 
scorpionk:

Засада))) значит надо сохранять который был выбран а после действий возвращаеть его сного вызывая ф-ию OrderSelect?

Можно просто после удачного выбора и идентификации ордера сохранить все необходимые параметры в переменные, а потом использовать их.