11 #include "../../KData.h" 12 #include "../../utilities/Parameter.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> 43 void setTO(
const KData& kdata);
52 void name(
const string& name);
65 ProfitGoalPtr clone();
84 virtual ProfitGoalPtr _clone() = 0;
87 virtual void _calculate() = 0;
97 #if HKU_SUPPORT_SERIALIZATION 99 friend class boost::serialization::access;
100 template<
class Archive>
101 void save(Archive & ar,
const unsigned int version)
const {
103 ar & boost::serialization::make_nvp(
"m_name", name);
104 ar & BOOST_SERIALIZATION_NVP(m_params);
107 template<
class Archive>
108 void load(Archive & ar,
const unsigned int version) {
110 ar & boost::serialization::make_nvp(
"m_name", name);
112 ar & BOOST_SERIALIZATION_NVP(m_params);
115 BOOST_SERIALIZATION_SPLIT_MEMBER()
120 #if HKU_SUPPORT_SERIALIZATION 124 #if HKU_SUPPORT_SERIALIZATION 138 #define PROFIT_GOAL_NO_PRIVATE_MEMBER_SERIALIZATION private:\ 139 friend class boost::serialization::access; \ 140 template<class Archive> \ 141 void serialize(Archive & ar, const unsigned int version) { \ 142 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(ProfitGoalBase); \ 145 #define PROFIT_GOAL_NO_PRIVATE_MEMBER_SERIALIZATION 149 #define PROFITGOAL_IMP(classname) public:\ 150 virtual ProfitGoalPtr _clone() {\ 151 return ProfitGoalPtr(new classname());\ 153 virtual price_t getGoal(const Datetime&, price_t); \ 154 virtual void _calculate(); 163 typedef shared_ptr<ProfitGoalBase>
PGPtr;
KData getTO() const
获取交易对象
Definition: ProfitGoalBase.h:177
shared_ptr< ProfitGoalBase > PGPtr
Definition: ProfitGoalBase.h:163
TradeManagerPtr m_tm
Definition: ProfitGoalBase.h:92
shared_ptr< ProfitGoalBase > ProfitGoalPtr
客户程序都应使用该指针类型
Definition: ProfitGoalBase.h:162
盈利目标策略基类
Definition: ProfitGoalBase.h:28
void setTM(const TradeManagerPtr &tm)
设置账户
Definition: ProfitGoalBase.h:169
K线数据
Definition: KData.h:19
string name() const
获取名称
Definition: ProfitGoalBase.h:181
交易记录
Definition: TradeRecord.h:60
日期类型
Definition: Datetime.h:33
#define GBToUTF8(s)
Definition: util.h:55
KData m_kdata
Definition: ProfitGoalBase.h:91
void load(Archive &ar, hku::Block &blk, unsigned int version)
Definition: Block_serialization.h:34
virtual void _reset()
子类复位接口
Definition: ProfitGoalBase.h:81
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
void reset()
复位操作
Definition: ProfitGoalBase.h:189
HKU_API std::ostream & operator<<(std::ostream &os, const Block &blk)
Definition: Block.cpp:13
double price_t
Definition: DataType.h:53
shared_ptr< ProfitGoalBase > ProfitGoalPtr
Definition: ProfitGoalBase.h:63
#define PARAMETER_SUPPORT
Definition: Parameter.h:233
virtual price_t getShortGoal(const Datetime &, price_t)
返回0,表示未设目标
Definition: ProfitGoalBase.h:76
TradeManagerPtr getTM() const
获取账户
Definition: ProfitGoalBase.h:173
#define UTF8ToGB(s)
Definition: util.h:56
Hikyuu核心命名空间,包含股票数据的管理、指标实现、交易系统框架等
Definition: Block.cpp:11
virtual void sellNotify(const TradeRecord &)
接收实际交易变化情况
Definition: ProfitGoalBase.h:58
virtual void buyNotify(const TradeRecord &)
接收实际交易变化情况
Definition: ProfitGoalBase.h:55
string m_name
Definition: ProfitGoalBase.h:90