Снова возвращаюсь к вопросу. о котором разработчики позабыли, как видится.
Вот эта функция крутится в цикле опроса:
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," успешна") |
Указанный эффект всегда происходит при первом включений терминала в пределах дня. Последующие включения такой эффект не несут.
Если я что-то делаю неправильно, было бы полезно понять. что именно. Иначе получается, что это грубая ошибка терминала.
Спасибо.
Пасхалочка для Алексея Иванникова: