8 #ifndef SLIPPAGEBASE_H_ 9 #define SLIPPAGEBASE_H_ 11 #include "../../KData.h" 12 #include "../../utilities/Parameter.h" 13 #include "../../utilities/util.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 setTO(
const KData& kdata);
45 void name(
const string& name);
73 virtual SlippagePtr _clone() = 0;
79 virtual void _calculate() = 0;
88 #if HKU_SUPPORT_SERIALIZATION 90 friend class boost::serialization::access;
91 template<
class Archive>
92 void save(Archive & ar,
const unsigned int version)
const {
94 ar & boost::serialization::make_nvp(
"m_name", name);
95 ar & BOOST_SERIALIZATION_NVP(m_params);
98 template<
class Archive>
99 void load(Archive & ar,
const unsigned int version) {
101 ar & boost::serialization::make_nvp(
"m_name", name);
103 ar & BOOST_SERIALIZATION_NVP(m_params);
106 BOOST_SERIALIZATION_SPLIT_MEMBER()
111 #if HKU_SUPPORT_SERIALIZATION 115 #if HKU_SUPPORT_SERIALIZATION 129 #define SLIPPAGE_NO_PRIVATE_MEMBER_SERIALIZATION private:\ 130 friend class boost::serialization::access; \ 131 template<class Archive> \ 132 void serialize(Archive & ar, const unsigned int version) { \ 133 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(SlippageBase); \ 136 #define SLIPPAGE_NO_PRIVATE_MEMBER_SERIALIZATION 140 #define SLIPPAGE_IMP(classname) public:\ 141 virtual SlippagePtr _clone() {\ 142 return SlippagePtr(new classname());\ 144 virtual price_t getRealBuyPrice(const Datetime&, price_t); \ 145 virtual price_t getRealSellPrice(const Datetime&, price_t); \ 146 virtual void _calculate(); 154 typedef shared_ptr<SlippageBase>
SPPtr;
void reset()
复位操作
Definition: SlippageBase.h:172
K线数据
Definition: KData.h:19
移滑价差算法基类
Definition: SlippageBase.h:27
virtual ~SlippageBase()
Definition: SlippageBase.h:33
日期类型
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
KData m_kdata
Definition: SlippageBase.h:83
shared_ptr< SlippageBase > SlippagePtr
客户程序都应使用该指针类型,操作移滑价差算法
Definition: SlippageBase.h:153
#define HKU_API
Definition: DataType.h:12
KData getTO() const
获取交易对象
Definition: SlippageBase.h:168
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
shared_ptr< SlippageBase > SlippagePtr
Definition: SlippageBase.h:50
string m_name
Definition: SlippageBase.h:82
#define PARAMETER_SUPPORT
Definition: Parameter.h:233
string name() const
获取名称
Definition: SlippageBase.h:160
virtual void _reset()
子类复位接口
Definition: SlippageBase.h:76
#define UTF8ToGB(s)
Definition: util.h:56
Hikyuu核心命名空间,包含股票数据的管理、指标实现、交易系统框架等
Definition: Block.cpp:11
shared_ptr< SlippageBase > SPPtr
Definition: SlippageBase.h:154