8 #ifndef TRADE_SYS_ALLOCATEFUNDS_ALLOCATEFUNDSBASE_H_ 9 #define TRADE_SYS_ALLOCATEFUNDS_ALLOCATEFUNDSBASE_H_ 11 #include "../../utilities/Parameter.h" 12 #include "../allocatefunds/SystemWeight.h" 14 #if HKU_SUPPORT_SERIALIZATION 15 #include <boost/serialization/shared_ptr.hpp> 16 #include <boost/serialization/assume_abstract.hpp> 17 #include <boost/serialization/base_object.hpp> 31 void name(
const string& name);
48 void setTM(
const TMPtr&);
51 void setQuery(
KQuery query);
54 double getReservePercent();
60 void setReserverPercent(
double p);
67 typedef shared_ptr<AllocateFundsBase>
AFPtr;
75 virtual AFPtr _clone() = 0;
90 void _getAllocatedSystemList_adjust_hold(
95 void _getAllocatedSystemList_not_adjust_hold(
108 double m_reserve_percent;
110 list<SystemWeight> m_wait_for_allocate_list;
115 #if HKU_SUPPORT_SERIALIZATION 117 friend class boost::serialization::access;
118 template<
class Archive>
119 void save(Archive & ar,
const unsigned int version)
const {
121 ar & boost::serialization::make_nvp(
"name", name_str);
122 ar & BOOST_SERIALIZATION_NVP(m_params);
123 ar & BOOST_SERIALIZATION_NVP(m_query);
124 ar & BOOST_SERIALIZATION_NVP(m_count);
125 ar & BOOST_SERIALIZATION_NVP(m_pre_date);
126 ar & BOOST_SERIALIZATION_NVP(m_reserve_percent);
127 ar & BOOST_SERIALIZATION_NVP(m_tm);
130 template<
class Archive>
131 void load(Archive & ar,
const unsigned int version) {
132 ar & boost::serialization::make_nvp(
"name", m_name);
133 ar & BOOST_SERIALIZATION_NVP(m_params);
134 ar & BOOST_SERIALIZATION_NVP(m_query);
135 ar & BOOST_SERIALIZATION_NVP(m_count);
136 ar & BOOST_SERIALIZATION_NVP(m_pre_date);
137 ar & BOOST_SERIALIZATION_NVP(m_reserve_percent);
138 ar & BOOST_SERIALIZATION_NVP(m_tm);
141 BOOST_SERIALIZATION_SPLIT_MEMBER()
145 #if HKU_SUPPORT_SERIALIZATION 149 #if HKU_SUPPORT_SERIALIZATION 163 #define ALLOCATEFUNDS_NO_PRIVATE_MEMBER_SERIALIZATION private:\ 164 friend class boost::serialization::access; \ 165 template<class Archive> \ 166 void serialize(Archive & ar, const unsigned int version) { \ 167 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(AllocateFundsBase); \ 170 #define ALLOCATEFUNDS_NO_PRIVATE_MEMBER_SERIALIZATION 173 #define ALLOCATEFUNDS_IMP(classname) public:\ 174 virtual AFPtr _clone() {\ 175 return AFPtr(new classname());\ 177 virtual SystemWeightList _allocateWeight(const Datetime&, const SystemList&); 181 typedef shared_ptr<AllocateFundsBase>
AFPtr;
214 return m_reserve_percent;
vector< SystemWeight > SystemWeightList
Definition: SystemWeight.h:55
按索引方式查询K线数据条件
Definition: KQuery.h:19
KQuery getQuery()
Definition: AllocateFundsBase.h:205
shared_ptr< AllocateFundsBase > AFPtr
Definition: AllocateFundsBase.h:67
日期类型
Definition: Datetime.h:33
#define GBToUTF8(s)
Definition: util.h:55
void load(Archive &ar, hku::Block &blk, unsigned int version)
Definition: Block_serialization.h:34
#define HKU_API
Definition: DataType.h:12
virtual void _reset()
子类复位接口
Definition: AllocateFundsBase.h:72
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
string name() const
Definition: AllocateFundsBase.h:188
交易对象选择模块
Definition: SelectorBase.h:27
void setTM(const TMPtr &)
设定交易账户
Definition: AllocateFundsBase.h:201
void setQuery(KQuery query)
Definition: AllocateFundsBase.h:209
TMPtr getTM()
获取交易账户
Definition: AllocateFundsBase.h:197
double getReservePercent()
获取不参与资产分配的保留比例
Definition: AllocateFundsBase.h:213
#define PARAMETER_SUPPORT
Definition: Parameter.h:233
shared_ptr< AllocateFundsBase > AllocateFundsPtr
Definition: AllocateFundsBase.h:180
shared_ptr< TradeManager > TMPtr
Definition: TradeManager.h:636
Definition: AllocateFundsBase.h:22
Hikyuu核心命名空间,包含股票数据的管理、指标实现、交易系统框架等
Definition: Block.cpp:11
shared_ptr< AllocateFundsBase > AFPtr
Definition: AllocateFundsBase.h:181