8 #ifndef MONEYMANAGERBASE_H_ 9 #define MONEYMANAGERBASE_H_ 11 #include "../../utilities/Parameter.h" 12 #include "../system/SystemPart.h" 13 #include "../../trade_manage/TradeManager.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> 41 void name(
const string& name) {
78 MoneyManagerPtr clone();
95 size_t getSellNumber(
const Datetime& datetime,
const Stock& stock,
106 size_t getSellShortNumber(
const Datetime& datetime,
117 size_t getBuyShortNumber(
const Datetime& datetime,
128 size_t getBuyNumber(
const Datetime& datetime,
const Stock& stock,
132 virtual size_t _getBuyNumber(
const Datetime& datetime,
const Stock& stock,
135 virtual size_t _getSellNumber(
const Datetime& datetime,
const Stock& stock,
138 virtual size_t _getSellShortNumber(
const Datetime& datetime,
141 virtual size_t _getBuyShortNumber(
const Datetime& datetime,
148 virtual MoneyManagerPtr _clone() = 0;
158 #if HKU_SUPPORT_SERIALIZATION 160 friend class boost::serialization::access;
161 template<
class Archive>
162 void save(Archive & ar,
const unsigned int version)
const {
164 ar & boost::serialization::make_nvp(
"m_name", name);
165 ar & BOOST_SERIALIZATION_NVP(m_params);
171 template<
class Archive>
172 void load(Archive & ar,
const unsigned int version) {
174 ar & boost::serialization::make_nvp(
"m_name", name);
176 ar & BOOST_SERIALIZATION_NVP(m_params);
179 BOOST_SERIALIZATION_SPLIT_MEMBER()
184 #if HKU_SUPPORT_SERIALIZATION 188 #if HKU_SUPPORT_SERIALIZATION 202 #define MONEY_MANAGER_NO_PRIVATE_MEMBER_SERIALIZATION private:\ 203 friend class boost::serialization::access; \ 204 template<class Archive> \ 205 void serialize(Archive & ar, const unsigned int version) { \ 206 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(MoneyManagerBase); \ 209 #define MONEY_MANAGER_NO_PRIVATE_MEMBER_SERIALIZATION 218 typedef shared_ptr<MoneyManagerBase>
MMPtr;
221 #define MONEY_MANAGER_IMP(classname) public:\ 222 virtual MoneyManagerPtr _clone() {\ 223 return MoneyManagerPtr(new classname());\ 225 virtual size_t _getBuyNumber(const Datetime& datetime, const Stock& stock,\ 226 price_t price, price_t risk, SystemPart from); void name(const string &name)
设置名称
Definition: MoneyManagerBase.h:41
void reset()
复位
Definition: MoneyManagerBase.h:46
void setTM(const TradeManagerPtr &tm)
设定交易账户
Definition: MoneyManagerBase.h:54
KQuery getQuery() const
获取交易的K线类型
Definition: MoneyManagerBase.h:72
按索引方式查询K线数据条件
Definition: KQuery.h:19
交易记录
Definition: TradeRecord.h:60
日期类型
Definition: Datetime.h:33
#define GBToUTF8(s)
Definition: util.h:55
KQuery m_query
Definition: MoneyManagerBase.h:152
Stock基类,Application中一般使用StockPtr进行操作
Definition: Stock.h:27
shared_ptr< MoneyManagerBase > MoneyManagerPtr
Definition: MoneyManagerBase.h:76
SystemPart
系统关联部件(各自策略)枚举定义,用于修改相关部件参数
Definition: SystemPart.h:19
void load(Archive &ar, hku::Block &blk, unsigned int version)
Definition: Block_serialization.h:34
void setQuery(const KQuery &query)
设置查询条件
Definition: MoneyManagerBase.h:67
shared_ptr< MoneyManagerBase > MoneyManagerPtr
客户程序都应使用该指针类型
Definition: MoneyManagerBase.h:217
virtual void _reset()
子类复位接口
Definition: MoneyManagerBase.h:145
资金管理基类
Definition: MoneyManagerBase.h:27
shared_ptr< TradeManager > TradeManagerPtr
客户程序应使用此类型进行实际操作
Definition: TradeManager.h:635
#define HKU_API
Definition: DataType.h:12
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
double price_t
Definition: DataType.h:53
TradeManagerPtr m_tm
Definition: MoneyManagerBase.h:153
shared_ptr< MoneyManagerBase > MMPtr
Definition: MoneyManagerBase.h:218
#define PARAMETER_SUPPORT
Definition: Parameter.h:233
string m_name
Definition: MoneyManagerBase.h:151
string name() const
获取名称
Definition: MoneyManagerBase.h:36
TradeManagerPtr getTM() const
获取交易账户
Definition: MoneyManagerBase.h:62
#define UTF8ToGB(s)
Definition: util.h:56
Hikyuu核心命名空间,包含股票数据的管理、指标实现、交易系统框架等
Definition: Block.cpp:11