Добрый день!
Посредством функции getParamEx из onParam получаем значение параметра NUMNRADES.
Код:
Результаты:
Если с повторяющимися значениями в строках 1,2,3 еще как-то понятно.
То что значит скачек значений в 7,8 и 8,9 строках?
Значит ли это, что я не смогу по значениям параметров из getParamEx через onParam получить ленту сделок соответствующую (по очередности и полноте)таблице обезличенных сделок через OnAllTrade?
Посредством функции getParamEx из onParam получаем значение параметра NUMNRADES.
Код:
Код |
---|
//////////////////////////////////////////////////////////////// /// \brief forLua_OnParam /// \param L /// \return /// static int forLua_OnParam(lua_State* L){ const char *aC = NULL; size_t argClassLen = 0; const char *aS = NULL; size_t argSecLen = 0; aC = luaL_checklstring(L, 1, &argClassLen); aS = luaL_checklstring(L, 2, &argSecLen); if (strcmp(aC, "TQBR") == 0 && strcmp(aS, "SBER") == 0) { lua_settop(L, 0); lua_pushstring(L, aC); lua_setglobal(L, "aC"); lua_settop(L, 0); lua_pushstring(L, aS); lua_setglobal(L, "aS"); lua_settop(L, 0); lua_getfield(L, LUA_GLOBALSINDEX, "getParamEx"); lua_getglobal(L, "aC"); lua_getglobal(L, "aS"); lua_pushstring(L,"NUMTRADES"); lua_pcall(L, 3, 1, 0); if (lua_istable(L, -1)){ lua_pushstring(L, "param_value"); // поместить ключ на стек lua_rawget(L, -2); int test = lua_tointeger(L, -1); lua_pop(L, 1); //РЕЗУЛЬТАТ lua_getglobal(L, "PrintDbgStr"); lua_pushinteger(L, test); lua_tostring(L,-1); lua_pcall(L, 1, 0, 0); } } return 0; } |
Результаты:
Код |
---|
№ Debug Print 1. [8464] 32260 2. [8464] 32260 3. [8464] 32260 4. [8464] 32261 5. [8464] 32262 6. [8464] 32263 7. [8464] 32265 8. [8464] 32266 9. [8464] 32271 |
Если с повторяющимися значениями в строках 1,2,3 еще как-то понятно.
То что значит скачек значений в 7,8 и 8,9 строках?
Значит ли это, что я не смогу по значениям параметров из getParamEx через onParam получить ленту сделок соответствующую (по очередности и полноте)таблице обезличенных сделок через OnAllTrade?