Снова возвращаюсь к вопросу. о котором разработчики позабыли, как видится.
Вот эта функция крутится в цикле опроса:
20:09:22.057 Получено 151892 сделок
20:09:23.197 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.197 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.197 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.198 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.198 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.198 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.221 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.222 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.222 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.222 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.223 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.223 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.223 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.224 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.224 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.225 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.225 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.225 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.226 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.226 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
Подписка на тиковые данные происходит по двум колбекам.
repository.init в частности исполняет следующее
Указанный эффект всегда происходит при первом включений терминала в пределах дня. Последующие включения такой эффект не несут.
Если я что-то делаю неправильно, было бы полезно понять. что именно. Иначе получается, что это грубая ошибка терминала.
Спасибо.
Вот эта функция крутится в цикле опроса:
| Код |
|---|
-- Собирает из ТОС новые обезличенные сделки
rescan =
function()
if database.need_rescan == false then
return
end
database.need_rescan = false
local num_trades = getNumberOf("all_trades") - 1
local items = SearchItems("all_trades",
database.tos + 1,
num_trades,
database.search_function,
"class_code,sec_code,datetime.day,datetime.month,datetime.year"
) or {}
database.tos = num_trades
log.write("Получено ",`#'items," сделок")
for _,n in ipairs(items) do -- Всегда по возрастанию
database.process_trade(getItem("all_trades",n))
end
database.save()
end,
---------------------------------------------------------------
-- Обработка одной сделки
process_trade =
function(trade)
-- Костыль для фильтрации кривых обезличенных сделок, которые шлёт терминал
if not trade or trade.datetime.year == 1601 then
log.error("BS: Ошибка терминала. Недопустимая таблица обезличенной сделки ",trade)
return
end
|
20:09:22.057 Получено 151892 сделок
20:09:23.197 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.197 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.197 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.198 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.198 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.198 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.221 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.222 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.222 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.222 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.223 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.223 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.223 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.224 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.224 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.225 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.225 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.225 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.226 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
20:09:23.226 BS: Ошибка терминала. Недопустимая таблица обезличенной сделки nil
Подписка на тиковые данные происходит по двум колбекам.
| Код |
|---|
oncleanup.subscribe(function() repository.init() end ) onconnected.subscribe(function(flag) if flag then repository.init() end end ) |
repository.init в частности исполняет следующее
| Код |
|---|
local security = getSecurityInfo(_class,_code)
if not security then
log.write("Инструмент ",instrument_dir," не обнаружен")
screen.add(_class,_code,INSTRUMENT_NOT_FOUND)
return
end
local ds,err = CreateDataSource(_class,_code,INTERVAL_TICK)
if not ds then
log.write("Невозможно получить обезличенные сделки по инструменту ",instrument_dir)
screen.add(_class,_code,INSTRUMENT_NOT_FOUND)
return
end
table.insert(database.ds,ds)
log.write("Подписка на инструмент ",instrument_dir," успешна")
|
Указанный эффект всегда происходит при первом включений терминала в пределах дня. Последующие включения такой эффект не несут.
Если я что-то делаю неправильно, было бы полезно понять. что именно. Иначе получается, что это грубая ошибка терминала.
Спасибо.
Пасхалочка для Алексея Иванникова: