Возможная некорректность работы функции OrderValue()?

 
Возможная некорректность работы функции OrderValue()?
Здравствуйте!

Хотел узнать типы своих Ордеров при помощи OrderValue().

ДАННЫЕ ТЕРМИНАЛА:
В первой строке терминала - ордер buy,
Во второй строке - ордер sell
На третьей - показатели счета (Баланс, Эквайети и другие)
На четвертой - отложенный ордер sell limit
Пятой и последующих строк не существует.

Любопытна работа функции OrderValue():
Comment (OrderValue(1,VAL_TYPE)); выводит "0" в виде символьной строки, то есть, нужно понимать, "0" - это признак "buy"
Comment (OrderValue(2,VAL_TYPE)); выводит "1", то есть распознает "sell"
Comment (OrderValue(3,VAL_TYPE)); выводит "3"
Comment (OrderValue(4,VAL_TYPE)); выводит "0", то есть
НЕ РАСПОЗНАЕТ ОТЛОЖЕННЫЙ ОРДЕР!
Comment (OrderValue(5,VAL_TYPE)); выводит "0", то есть,
ВЫДАЕТ ПРИЗНАК "buy" ДЛЯ НЕСУЩЕСТВУЮЩЕЙ СТРОКИ ТЕРМИНАЛА!!
Comment (OrderValue(10,VAL_TYPE)); выводит "0" - ТО ЖЕ САМОЕ ДЛЯ НЕСУЩЕСТВУЮЩЕЙ 10-й ПОЗИЦИИ ТЕРМИНАЛА.

Прокомментируйте, пожалуйста!

Либо я неправильно пользуюсь функцией, либо разработчики допустили ошибку.
Как же мне определять типы ордеров?
 
В перечисленном списке - ровно 3 order'а...
 
ошибки
Если у Вас в терминале 3 ордера, то зачем пытаться обращаться к четвертой и пятой позициям??? Посмотрите журнал - в нем будут строки уведомления об ошибочной индексации.
Причина обращения: