поясните по поводу функции ord

 
поясните по поводу функции ord
на сколько корректен следующий код?

SetOrder(OP_BUY,lots,Ask,3,Ask-55*Point,Ask+40*Point,Green);
FileWrite(fhandle, ord(1,VAL_TICKET),ord(1,VAL_OPENPRICE));
другими словами когда функция ord "узнает" об открытии новой позиции?
 
некорректен
// это корректно
SetOrder(OP_BUY,lots,Ask,3,Ask-55*Point,Ask+40*Point,Green);
// а вот здесь уже нет
FileWrite(fhandle, ord(1,VAL_TICKET),ord(1,VAL_OPENPRICE));

1) Вы не имеете права вызывать функцию ord(position,type)
без предварительной проверки количества позиций в торговом терминале через TotalTrades.
2) после отсылки заявки(это именно заявка на сделку, а не непосредственная сделка), нет возможности узнать ее результат и, конечно же, сделка после вызова SetOrder тут же не появится в торговом терминале. и использовать Ord(....) в данном случае нельзя