8 #ifndef TRADE_SYS_SELECTOR_SELECTORBASE_H_ 9 #define TRADE_SYS_SELECTOR_SELECTORBASE_H_ 11 #include "../system/System.h" 12 #include "../../KData.h" 13 #include "../../utilities/Parameter.h" 15 #if HKU_SUPPORT_SERIALIZATION 16 #include <boost/serialization/shared_ptr.hpp> 17 #include <boost/serialization/assume_abstract.hpp> 18 #include <boost/serialization/base_object.hpp> 36 void name(
const string& name);
58 virtual SelectorPtr _clone() = 0;
69 #if HKU_SUPPORT_SERIALIZATION 71 friend class boost::serialization::access;
72 template<
class Archive>
73 void save(Archive & ar,
const unsigned int version)
const {
75 ar & boost::serialization::make_nvp(
"name", name_str);
76 ar & BOOST_SERIALIZATION_NVP(m_params);
77 ar & BOOST_SERIALIZATION_NVP(m_count);
78 ar & BOOST_SERIALIZATION_NVP(m_pre_date);
79 ar & BOOST_SERIALIZATION_NVP(m_sys_list);
82 template<
class Archive>
83 void load(Archive & ar,
const unsigned int version) {
84 ar & boost::serialization::make_nvp(
"name", m_name);
85 ar & BOOST_SERIALIZATION_NVP(m_params);
86 ar & BOOST_SERIALIZATION_NVP(m_count);
87 ar & BOOST_SERIALIZATION_NVP(m_pre_date);
88 ar & BOOST_SERIALIZATION_NVP(m_sys_list);
91 BOOST_SERIALIZATION_SPLIT_MEMBER()
95 #if HKU_SUPPORT_SERIALIZATION 99 #if HKU_SUPPORT_SERIALIZATION 113 #define SELECTOR_NO_PRIVATE_MEMBER_SERIALIZATION private:\ 114 friend class boost::serialization::access; \ 115 template<class Archive> \ 116 void serialize(Archive & ar, const unsigned int version) { \ 117 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(SelectorBase); \ 120 #define SELECTOR_NO_PRIVATE_MEMBER_SERIALIZATION 124 #define SELECTOR_IMP(classname) public:\ 125 virtual SelectorPtr _clone() {\ 126 return SelectorPtr(new classname());\ 128 virtual SystemList getSelectedSystemList(Datetime date); 136 typedef shared_ptr<SelectorBase>
SEPtr;
Datetime m_pre_date
Definition: SelectorBase.h:63
virtual void _reset()
子类复位接口
Definition: SelectorBase.h:55
shared_ptr< SelectorBase > SelectorPtr
Definition: SelectorBase.h:49
日期类型
Definition: Datetime.h:33
vector< Stock > StockList
Definition: Stock.h:244
#define GBToUTF8(s)
Definition: util.h:55
Stock基类,Application中一般使用StockPtr进行操作
Definition: Stock.h:27
void load(Archive &ar, hku::Block &blk, unsigned int version)
Definition: Block_serialization.h:34
string m_name
Definition: SelectorBase.h:61
#define HKU_API
Definition: DataType.h:12
int m_count
Definition: SelectorBase.h:62
vector< SystemPtr > SystemList
Definition: System.h:306
void save(Archive &ar, const hku::Block &blk, unsigned int version)
Definition: Block_serialization.h:20
HKU_API std::ostream & operator<<(std::ostream &os, const Block &blk)
Definition: Block.cpp:13
shared_ptr< SelectorBase > SelectorPtr
客户程序都应使用该指针类型
Definition: SelectorBase.h:135
交易对象选择模块
Definition: SelectorBase.h:27
string name() const
Definition: SelectorBase.h:142
shared_ptr< SelectorBase > SEPtr
Definition: SelectorBase.h:136
#define PARAMETER_SUPPORT
Definition: Parameter.h:233
Hikyuu核心命名空间,包含股票数据的管理、指标实现、交易系统框架等
Definition: Block.cpp:11
shared_ptr< System > SystemPtr
客户程序应使用该指针进行操作
Definition: System.h:304
SystemList getAllSystemList() const
Definition: SelectorBase.h:41
SystemList m_sys_list
Definition: SelectorBase.h:64