8 #ifndef DATA_DRIVER_KDATA_HDF5_H5KDATADRIVER_H_ 9 #define DATA_DRIVER_KDATA_HDF5_H5KDATADRIVER_H_ 11 #include "../../KDataDriver.h" 22 virtual void loadKData(
const string& market,
const string& code,
25 virtual size_t getCount(
const string& market,
const string& code,
28 const KQuery& query,
size_t& out_start,
size_t& out_end);
37 void H5ReadRecords(H5::DataSet&, hsize_t, hsize_t,
void *);
38 void H5ReadIndexRecords(H5::DataSet&, hsize_t, hsize_t,
void *);
39 void H5ReadTimeLineRecords(H5::DataSet&, hsize_t, hsize_t,
void *);
40 void H5ReadTransRecords(H5::DataSet&, hsize_t, hsize_t,
void *);
42 bool _getH5FileAndGroup(
const string& market,
46 H5::Group& out_group);
51 void _loadBaseData(
const string& market,
const string& code,
54 void _loadIndexData(
const string& market,
const string& code,
58 bool _getBaseIndexRangeByDate(
const string&,
const string&,
const KQuery&,
59 size_t& out_start,
size_t& out_end);
60 bool _getOtherIndexRangeByDate(
const string&,
const string&,
const KQuery&,
61 size_t& out_start,
size_t& out_end);
63 TimeLineList _getTimeLine(
const string& market,
const string& code,
65 TimeLineList _getTimeLine(
const string& market,
const string& code,
68 TransList _getTransList(
const string& market,
const string& code,
70 TransList _getTransList(
const string& market,
const string& code,
75 H5::CompType m_h5DataType;
76 H5::CompType m_h5IndexType;
77 H5::CompType m_h5TimeLineType;
78 H5::CompType m_h5TransType;
80 map<string, H5FilePtr> m_h5file_map;
virtual TransList getTransList(const string &market, const string &code, const KQuery &query)
获取历史分笔数据
Definition: H5KDataDriver.cpp:1041
shared_ptr< H5::H5File > H5FilePtr
Definition: H5Record.h:17
K线数据记录
Definition: KRecord.h:19
virtual KRecord getKRecord(const string &market, const string &code, size_t pos, KQuery::KType kType)
获取指定的K线记录
Definition: H5KDataDriver.cpp:416
按索引方式查询K线数据条件
Definition: KQuery.h:19
virtual bool _init()
子类初始化私有变量接口
Definition: H5KDataDriver.cpp:54
日期类型
Definition: Datetime.h:33
vector< TransRecord > TransList
分时线
Definition: TransRecord.h:44
K线数据驱动基类
Definition: KDataDriver.h:21
vector< TimeLineRecord > TimeLineList
分时线
Definition: TimeLineRecord.h:35
virtual TimeLineList getTimeLineList(const string &market, const string &code, const KQuery &query)
获取分时线
Definition: H5KDataDriver.cpp:815
long long hku_int64
Definition: DataType.h:45
virtual ~H5KDataDriver()
Definition: H5KDataDriver.cpp:50
virtual bool getIndexRangeByDate(const string &market, const string &code, const KQuery &query, size_t &out_start, size_t &out_end)
获取指定日期范围对应的K线记录索引
Definition: H5KDataDriver.cpp:563
virtual void loadKData(const string &market, const string &code, KQuery::KType kType, size_t start_ix, size_t end_ix, KRecordListPtr out_buffer)
将指定类型的K线数据加载至缓存
Definition: H5KDataDriver.cpp:185
string KType
查询K线类型:日线/周线等
Definition: KQuery.h:51
shared_ptr< KRecordList > KRecordListPtr
Definition: KRecord.h:56
H5KDataDriver()
Definition: H5KDataDriver.cpp:24
virtual size_t getCount(const string &market, const string &code, KQuery::KType kType)
获取指定类型的K线数据量
Definition: H5KDataDriver.cpp:390
Definition: H5KDataDriver.h:16
Hikyuu核心命名空间,包含股票数据的管理、指标实现、交易系统框架等
Definition: Block.cpp:11