dj.lexus (Автор тем)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
CreateDataSource получение тиковых данных
 
Здравствуйте!

Quik 7.1.0.381

После запуска терминала подписываюсь на получение тиковых данных:

DS = CreateDataSource(class, sec, 0);
DS:SetEmptyCallback();

При этом, сделок в обработчике OnAllTrade нет.

Данные появляются, если повторно подписаться или держать открытой таблицу всех сделок.

Проблема проявляется именно после запуска терминала.

Как сделать так, чтобы сделки получались сразу после создания источника данных?
Вызов lua_CFunction из С++
 
Я пытаюсь запустить из С++ функцию, ссылку на которую возвращает другая функция.
Код
lua_CFunction CloseHandle;

//Создаём источник данных

lua_getglobal(L, "CreateDataSource");
lua_pushstring(L, class_code); //class_code
lua_pushstring(L, sec_code); //sec_code
lua_pushinteger(L, interval); //interval
lua_call(L, 3, 2);

if(lua_istable(L,1))
{
   lua_pushnil(L);
   while (lua_next(L, 1) != 0)
   {
      if(strcmp(lua_tostring(L, -2), "Close") == 0) //Проверяем название поля
      {
         CloseHandle = lua_tocfunction(L, -1);
      }

      lua_pop(L, 1);
   }
}

bool err = lua_isstring(L,2);

//Закрываем источник данных

if(CloseHandle)
{
   lua_pushcfunction(L, CloseHandle);
   lua_call (L, 0, 1);
   if(lua_isboolean(L, 1))
   {
      result = lua_toboolean(L, 1)
   }
}
return result;

Источник данных не закрывается. Может, кто сталкивался с подобной проблемой? В чём ошибка?
Страницы: 1
Наверх