8 #ifndef POSITIONRECORD_H_ 9 #define POSITIONRECORD_H_ 11 #include "../StockManager.h" 12 #include "../serialization/Stock_serialization.h" 14 #if HKU_SUPPORT_SERIALIZATION 15 #include <boost/serialization/split_member.hpp> 40 string toString()
const;
57 #if HKU_SUPPORT_SERIALIZATION 59 friend class boost::serialization::access;
60 template<
class Archive>
61 void save(Archive & ar,
const unsigned int version)
const {
63 ar & BOOST_SERIALIZATION_NVP(stock);
66 ar & bs::make_nvp(
"takeDatetime", take);
67 ar & bs::make_nvp(
"cleanDatetime", clean);
68 ar & BOOST_SERIALIZATION_NVP(number);
69 ar & BOOST_SERIALIZATION_NVP(stoploss);
70 ar & BOOST_SERIALIZATION_NVP(goalPrice);
71 ar & BOOST_SERIALIZATION_NVP(totalNumber);
72 ar & BOOST_SERIALIZATION_NVP(buyMoney);
73 ar & BOOST_SERIALIZATION_NVP(totalCost);
74 ar & BOOST_SERIALIZATION_NVP(totalRisk);
75 ar & BOOST_SERIALIZATION_NVP(sellMoney);
78 template<
class Archive>
79 void load(Archive & ar,
const unsigned int version) {
81 ar & BOOST_SERIALIZATION_NVP(stock);
83 ar & bs::make_nvp(
"takeDatetime", take);
84 ar & bs::make_nvp(
"cleanDatetime", clean);
87 ar & BOOST_SERIALIZATION_NVP(number);
88 ar & BOOST_SERIALIZATION_NVP(stoploss);
89 ar & BOOST_SERIALIZATION_NVP(goalPrice);
90 ar & BOOST_SERIALIZATION_NVP(totalNumber);
91 ar & BOOST_SERIALIZATION_NVP(buyMoney);
92 ar & BOOST_SERIALIZATION_NVP(totalCost);
93 ar & BOOST_SERIALIZATION_NVP(totalRisk);
94 ar & BOOST_SERIALIZATION_NVP(sellMoney);
97 BOOST_SERIALIZATION_SPLIT_MEMBER()
unsigned long long number() const
返回如YYYYMMDDhhmmss格式的数字,方便比较操作, Null<Datetime>()对应的 number 为 Null<unsigned long lo...
Definition: Datetime.cpp:71
price_t sellMoney
累计卖出资金
Definition: PositionRecord.h:52
price_t buyMoney
累计买入资金
Definition: PositionRecord.h:49
日期类型
Definition: Datetime.h:33
Stock基类,Application中一般使用StockPtr进行操作
Definition: Stock.h:27
void load(Archive &ar, hku::Block &blk, unsigned int version)
Definition: Block_serialization.h:34
Definition: Block_serialization.h:18
持仓记录
Definition: PositionRecord.h:24
price_t stoploss
当前止损价
Definition: PositionRecord.h:46
#define HKU_API
Definition: DataType.h:12
vector< PositionRecord > PositionRecordList
Definition: PositionRecord.h:103
Datetime cleanDatetime
平仓日期,当前持仓记录中为Null<Datetime>()
Definition: PositionRecord.h:44
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
price_t totalRisk
累计交易风险 = 各次 (买入价格-止损)*买入数量, 不包含交易成本
Definition: PositionRecord.h:51
double price_t
Definition: DataType.h:53
bool operator==(const Datetime &, const Datetime &)
Definition: Datetime.h:201
price_t totalCost
累计交易总成本
Definition: PositionRecord.h:50
Datetime takeDatetime
初次建仓日期
Definition: PositionRecord.h:43
price_t goalPrice
当前的目标价格
Definition: PositionRecord.h:47
size_t number
当前持仓数量
Definition: PositionRecord.h:45
size_t totalNumber
累计持仓数量
Definition: PositionRecord.h:48
unsigned long long hku_uint64
Definition: DataType.h:46
Hikyuu核心命名空间,包含股票数据的管理、指标实现、交易系统框架等
Definition: Block.cpp:11
Stock stock
交易对象
Definition: PositionRecord.h:42