Добрый день!
Посредством функции 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?