Здравствуйте
Очередная непонятка с CreatedDataSource
Есть скрипт, который должен крутиться постоянно и собирать данные из таблицы обезличенных сделок.
Чтобы каждый раз не открывать таблицу обезличенных сделок, через CreateDataSource подписываюсь на тиковый интервал котировок. Как понимаю, этго достаточно в любом случае, чтобы обезличенные сделки поехали с сервера в терминал и стали доступны для чтения в скрипте. Или недостаточно?
Каждое утро далее при подключении к серверу (приходу oncleanup) скрипт по необходимым ему инструментам делает подписку
Код |
---|
local _class,_code = string.match(instrument,"^(%w+)#(%w+)$")
local ds,err = CreateDataSource(_class,_code,INTERVAL_TICK)
if not ds then -- Нет такого инструмента
log.write("Инструмент ",instrument," не найден: ",err)
return
end
ds:SetEmptyCallback()
table.insert(database.ds,ds)
log.write("Подписка на инструмент ",instrument," успешна") |
Вроде бы все чистенько - если есть какие-то проблемы (недоступен инструмент или что-то в этом роде) - мы получим ошибку. Если ошибок нет, значит подписка успешна и ждем обезличенные сделки.
Конечно на самом деле все не так )) Вот фрагмент лога quik 7 11 1 5, демо арка
Код |
---|
03:17:50.887 Смена сессии
03:17:50.887 on cleanup
03:17:50.887 database.init
03:17:50.887 Отписка от всех инструментов
03:17:50.965 Отписались от всех инструментов
03:17:51.075 Today=05.10.2017 Четверг
03:17:51.075 get_stock_list {[1]=QJSIM#GAZP,[2]=QJSIM#SBER,[3]=SPBFUT#GZU7}
03:17:51.075 Add instrument QJSIM#GAZP
03:17:51.075 Подписка на инструмент QJSIM#GAZP успешна
03:17:51.075 Добавлен инструмент QJSIM#GAZP
03:17:51.075 Add instrument QJSIM#SBER
03:17:51.075 Подписка на инструмент QJSIM#SBER успешна
03:17:51.090 Добавлен инструмент QJSIM#SBER
03:17:51.090 Add instrument SPBFUT#GZU7
03:17:51.090 Подписка на инструмент SPBFUT#GZU7 успешна
03:17:51.090 Добавлен инструмент SPBFUT#GZU7
03:17:51.090 Получено 0 сделок
03:17:51.215 Получено 0 сделок
03:17:51.340 Получено 0 сделок
03:17:51.465 Получено 0 сделок
03:17:51.590 Получено 0 сделок |
и далее ни одной сделки не получено, хотя все подписки успешны. Озадачивает и нервирует. Торги идут, график бегает. Открываю руками таблицу обезличенных сделок - и чудо:
Код |
---|
05:50:52.231 Получено 0 сделок
05:50:52.356 Получено 0 сделок
05:50:52.481 Получено 0 сделок
05:50:52.606 Получено 104 сделок
05:50:52.731 Получено 204 сделок
05:50:52.887 Получено 255 сделок
05:50:53.028 Получено 250 сделок
05:50:53.153 Получено 274 сделок
05:50:53.309 Получено 251 сделок
05:50:53.434 Получено 322 сделок
05:50:53.653 Получено 263 сделок
05:50:53.965 Получено 252 сделок
05:50:54.215 Получено 251 сделок
05:50:54.356 Получено 260 сделок
05:50:54.528 Получено 265 сделок
|
В чем состоит недоступное мне сокровенное знание? Спасибо.