Работа со стаканом котировок

Страницы: 1
RSS
Работа со стаканом котировок, Кол-во строк в таблицах стакана
 
Прочитал внимательно, что есть на форуме по работе со стаканом котировок в qlua. Написал простейший скрипт и уперся в такой момент.
Вот скрипт:
function main ()
   StKot = getQuoteLevel2('SPBFUT','RNH3')
   NumBid = StKot.bid_count
   bid_quantity = StKot.bid[NumBid].quantity
   bid_price = StKot.bid[NumBid].price
   ...
end

Понятно, что в таблице спроса строки идут от "худшей", поэтому что получить лучший спрос в стакане - запрашиваю кол-во строк и беру последнюю. Ругается ,что нет такого индекса в этой таблице. Думаю, может начинает с нулевой строки. Делаю [NumBid - 1]. Ошибки не выдает, результат показывает, но на поверку обнаруживаю, что выдает 2-ю сверху позицию спроса в стакане.
При этом по StKot.offer[1] нормально выдает лучшее предложение в стакане.
Помогите, люди добрые, как получить "лучший" спрос из стакана?

p.s. окно стакана котировок открыто при работе скрипта
p.s. вариант получения данных через getParamEx понятен, я не понимаю, почему из стакана не цепляет?
 
Стакан
StKot.offer[50]
……………...
StKot.offer[1]
-----------------------
StKot.bid[50]
……………….
StKot.bid[1]  
и обязательна проверка на nil  при считывании.
 
я ж написал, что понял, что строки в bid идут обратной нумерацией. но все равно спасибо за ответ, глядя на вашу визуализацию, я сообразил, что система не воспринимала  NumBid = StKot.bid_count как число (а когда вычитаешь что-то - сама преобразует в число, интересно), поэтому правильно надо было NumBid = tonumber (StKot.bid_count) и все поехало.
 
а проверка на nil зачем? разве могут быть в стакане значения с ценой и кол-вом, равным "ничего"?
 
Ишо как могут. Даже на высоколиквидных инструментах.
 
понял, спасибо
Страницы: 1
Читают тему (гостей: 1)
Наверх