Здравствуйте
Очередная непонятка с CreatedDataSource
Есть скрипт, который должен крутиться постоянно и собирать данные из таблицы обезличенных сделок.
Чтобы каждый раз не открывать таблицу обезличенных сделок, через CreateDataSource подписываюсь на тиковый интервал котировок. Как понимаю, этго достаточно в любом случае, чтобы обезличенные сделки поехали с сервера в терминал и стали доступны для чтения в скрипте. Или недостаточно?
Каждое утро далее при подключении к серверу (приходу oncleanup) скрипт по необходимым ему инструментам делает подписку
Вроде бы все чистенько - если есть какие-то проблемы (недоступен инструмент или что-то в этом роде) - мы получим ошибку. Если ошибок нет, значит подписка успешна и ждем обезличенные сделки.
Конечно на самом деле все не так )) Вот фрагмент лога quik 7 11 1 5, демо арка
и далее ни одной сделки не получено, хотя все подписки успешны. Озадачивает и нервирует. Торги идут, график бегает. Открываю руками таблицу обезличенных сделок - и чудо:
В чем состоит недоступное мне сокровенное знание? Спасибо.
Очередная непонятка с 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 сделок |
В чем состоит недоступное мне сокровенное знание? Спасибо.
Пасхалочка для Алексея Иванникова: