From ebbc9e21f3b2efad743c402f453d7487d8d3f961 Mon Sep 17 00:00:00 2001 From: cjiang Date: Fri, 15 Jun 2018 11:24:42 +0800 Subject: [PATCH] make c++ callback func more complicated to support corner cases --- wingchun/strategy/cpp_demo/kungfu_strategy_demo.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/wingchun/strategy/cpp_demo/kungfu_strategy_demo.cpp b/wingchun/strategy/cpp_demo/kungfu_strategy_demo.cpp index d629e4c06..771c9d66b 100644 --- a/wingchun/strategy/cpp_demo/kungfu_strategy_demo.cpp +++ b/wingchun/strategy/cpp_demo/kungfu_strategy_demo.cpp @@ -47,11 +47,14 @@ class Strategy: public IWCStrategy public: Strategy(const string& name); + + friend void callback_func_demo(Strategy*, int); }; -void backtest_func_demo() +void callback_func_demo(Strategy* str, int param) { std::cout << "ready to start!" << std::endl; + KF_LOG_INFO(str->logger, "ready to start! test for param: " << param); } Strategy::Strategy(const string& name): IWCStrategy(name) @@ -81,7 +84,7 @@ void Strategy::init() signal.has_open_long_position = false; signal.has_open_short_position = false; signal.trade_size = 1; - BLCallback bl = backtest_func_demo; + BLCallback bl = boost::bind(callback_func_demo, this, 999); util->insert_callback(kungfu::yijinjing::getNanoTime() + 2* 1e9, bl); }