elelel / qluacpp-tutorial

Tutorial for Qluacpp library (C++ interface for Quik trading terminal)
28 stars 13 forks source link

Механика GetCandlesByIndex #30

Closed kv-gits closed 3 years ago

kv-gits commented 3 years ago
auto quik_candles_reader = [this, &startidx, &firstval, &secondval, &wdb]
                                   (const ::lua::entity<::lua::type_policy<::qlua::table::candle>> &c, // структура со свечкой
                                    const unsigned int i, // индекс свечки - not used
                                    const ::lua::entity<::lua::type_policy<unsigned int>> &n, // количество свечек - not used
                                    const ::lua::entity<::lua::type_policy<const char *>> &l // легенда (подпись) графика - not used
        ) {
            (wdb << "Checksignal " << c().close() << " n = " << n()).Flush();

            if (i == startidx) firstval = c().close();

            if (i == startidx + 1) secondval = c().close();
        };
        q_->getCandlesByIndex(tag.c_str(), 0, total - 2, 2, quik_candles_reader);

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