Видимо, придётся самостоятельно проверять, что там возвращается: nil (NULL или 0 на Си) или ссылка на "". Но чтобы это проверить, нужно ждать конца вечерней сессии в 23:50. Он выглядит так (2 варианта):
LQDT 23:49:58.307148 1.7176 22500 S
LQDT 23:49:58.424402 bids=4 1.7176/1179206774 1.7175/250690921 1.7174/500699896 1.7173/25069269 offers=4 1.7177/1537813336 1.7178/250179065 1.7179/500099511 1.7180/25340331
LQDT 23:49:58.959725 bids=4 1.7176/1179206578 1.7175/250690921 1.7174/500699896 1.7173/25069269 offers=4 1.7177/1537813336 1.7178/250179065 1.7179/500099511 1.7180/25340331
LQDT 23:50:02.061765
LQDT 23:49:57.962624 1.7186 4123207 S
LQDT 23:49:58.135088 bids=4 1.7186/1617425408 1.7185/251421812 1.7184/500029766 1.7183/25120559 offers=4 1.7187/1717726036 1.7188/250272256 1.7189/500201784 1.7190/25105969
LQDT 23:50:00.054763 bids=4 1.7186/1617425408 1.7185/251312612 1.7184/500029766 1.7183/25120559 offers=4 1.7187/1717726036 1.7188/250272256 1.7189/500201784 1.7190/25105969
LQDT 23:50:02.097119
В последних строках как раз надо выяснить, что именно возвращает getQuoteLevel2.
По идее, с этой целью можно также проверять строки
bid_count, offer_count
на символьный 0.
И ещё: моя программка на обработку
Код |
---|
static int forLua_OnAllTrade(lua_State *L) |
Код |
---|
static int forLua_OnQuote(lua_State *L) { ... lua_getglobal(L, "getQuoteLevel2"); lua_insert(L, 1); // Используем код класса и тикер, которые уже сидят в стеке lua_pcall(L, 2, 1, 0); |
Может быть, кто-то из программистов предложит ускорение? Я склоняюсь к тому, чтобы во время большой нагрузки на Quik не вызывать getQuoteLevel2, если с момента предыд. её вызова прошло мало времени.