Создает ли CreateDataSource источник данных если его запустить во внерабочее время ?

Страницы: 1
RSS
Создает ли CreateDataSource источник данных если его запустить во внерабочее время ?
 
Доброго времени суток, вопрос следующий:
Создает ли CreateDataSource источник данных если его запустить во внерабочее время ?

Дело в том, что в моих скриптах ,всегда когда я создаю источник данных перед началом сессии или же во внерабочее время (по фьючерсам имею ввиду, к примеру во время клиринга или же ночью) то Size() всегда зависает равным 0. После я перезапускаю обычно скрипт когда начинаются торги.

Если не перезапускать скрипт, то тогда изменится ли Size() на адекватное значение и пойдут ли котировки ? Или же обязательно нужно перезапускить (либо програмно раз в пару мин к примемеру проверять создался ли источник данных  и пересоздавать его вновь если значение size() все еще равно нулю ?)

Дабы не быть голословным вот пример:
Код
main = function()
   class_code = "SPBFUT";
   sec_code = "RIU8";

   ds, Error = CreateDataSource(class_code, sec_code, 0)
   while (Error == "" or Error == nil) and ds:Size() == 0 do sleep(1) end; -- вот в этом цикле зависает скрипт если во внерабочее время запустить данный пример. Зависает из за того что size() == 0
   ds:SetEmptyCallback();

   message("Источник создан");
end;


Вполне возможно он все таки сам выйдет из этого цикла, но у меня не когда не хватало терпения это проверить, сразу же перезапускал.
 
Один раз ошибся и то же поставил интервал тики. Была та же история. Но быстро нашел свою ошибку, исправил и все вошло в свое русло. Зачем тебе тики, поставь М1.   ds:C(Size) все равно меняется с каждой сделкой. (Хотя допускаю наличие идеи, основанной именно на тиках).
 
Да вроде и на минутках тоже зависал...

Тики в другом скрипте нужны (пишу на С++ обертку для функций торгующих, и там в одной из функций планируется возвращать направление предыдущей сделки (нужна подписка на обезличенные сделки) по этому тики нужны, так как при их заказе (судя по информации с данного форума) создается подписка на обезличенные сделки).
 
OnAllTrade
Функция обратного вызова вызывается терминалом QUIK при получении обезличенной сделки. С CreateDataSource не связана.
В CreateDataSource получают инфо, связанную со свечками O,H,L,C,Size,T + param.  В OnAllTrade получают инфо, связанную со сделками. Часть параметров пересекаются. Поэтому каждый использует кому как удобно.
 
Игорь Б, Нет, мне нужно не в потоковом режиме (описанная тобой функция же поэтапно "в режиме реального времени" предоставляет инфу). Мне же нужна функция, которая бы при каждом вызове давала информацию о направлении последней сделки (работающая не как коллбек, а  как функция выдающая значение даже на нелеквиде за последнюю сделку) - для этого из таблицы тягать буду это значение, а что бы делать это, нужна подписка на  тики

Но это мы уже отклонились от заданного мною вопроса, я не про тики конкретно спрашивал, а вовсе про CreateDataSource
 
Так никто и не ответил?
ПАСХА.
Проверил сейчас у себя. Все подгружается кроме тиковых графиков.
Но у меня вчера не был открыт график (и заказа через ds не было) с таким интервалом. Возможно, у тебя причина в том же.
 
Да, наверное все празнуют)

Посмотримс, если что то методом тестов проверять буду все
 
Благодарю
 
Здравствуйте, не стал создавать отдельную тему, т.к. вопрос почти о том же, ds:Size() равен 0 (не замечал во сколько это началось) скрипт работал ранее после 19-00 мск, но я его кардинально переписал и ds:Size() все время выдает 0. Вопрос, это будет до закрытия вечерней сессии?[если да, то как тогда делать возможным работу скрипта во время вечерней сессии в котором необходимо значение ds:Size() ] или я что-то делаю не так?
Страницы: 1
Читают тему (гостей: 1)
Наверх