Hikyuu
MySQLKDataDriver.h
浏览该文件的文档.
1 /*
2  * MySQLKDataDriverImp.h
3  *
4  * Created on: 2014年9月3日
5  * Author: fasiondog
6  */
7 
8 #ifndef MYSQLKDATADRIVERIMP_H_
9 #define MYSQLKDATADRIVERIMP_H_
10 
11 #include "../../KDataDriver.h"
12 
13 #if defined(BOOST_WINDOWS)
14  #include <mysql.h>
15 #else
16  #include <mysql/mysql.h>
17 #endif
18 
19 namespace hku {
20 
22 public:
24  virtual ~MySQLKDataDriver();
25 
26  virtual bool _init();
27 
28  virtual void loadKData(const string& market, const string& code,
29  KQuery::KType kType, size_t start_ix, size_t end_ix,
30  KRecordListPtr out_buffer);
31 
32  virtual size_t getCount(const string& market,
33  const string& code,
34  KQuery::KType kType);
35 
36  virtual bool
37  getIndexRangeByDate(const string& market, const string& code,
38  const KQuery& query, size_t& out_start, size_t& out_end);
39 
40  virtual KRecord
41  getKRecord(const string& market, const string& code,
42  size_t pos, KQuery::KType kType);
43 
44 private:
45  string _getTableName(const string& market,
46  const string& code,
47  KQuery::KType ktype);
48  bool _query(const string& sql_str);
49 
50 private:
51  shared_ptr<MYSQL> m_mysql;
52  string m_host;
53  unsigned int m_port;
54  string m_usr;
55  string m_pwd;
56 };
57 
58 } /* namespace hku */
59 
60 #endif /* MYSQLKDATADRIVERIMP_H_ */
K线数据记录
Definition: KRecord.h:19
按索引方式查询K线数据条件
Definition: KQuery.h:19
virtual ~MySQLKDataDriver()
Definition: MySQLKDataDriver.cpp:132
virtual bool _init()
子类初始化私有变量接口
Definition: MySQLKDataDriver.cpp:30
K线数据驱动基类
Definition: KDataDriver.h:21
virtual size_t getCount(const string &market, const string &code, KQuery::KType kType)
获取指定类型的K线数据量
Definition: MySQLKDataDriver.cpp:201
string KType
查询K线类型:日线/周线等
Definition: KQuery.h:51
shared_ptr< KRecordList > KRecordListPtr
Definition: KRecord.h:56
MySQLKDataDriver()
Definition: MySQLKDataDriver.cpp:26
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: MySQLKDataDriver.cpp:138
virtual bool getIndexRangeByDate(const string &market, const string &code, const KQuery &query, size_t &out_start, size_t &out_end)
获取指定日期范围对应的K线记录索引
Definition: MySQLKDataDriver.cpp:247
Definition: MySQLKDataDriver.h:21
Hikyuu核心命名空间,包含股票数据的管理、指标实现、交易系统框架等
Definition: Block.cpp:11
virtual KRecord getKRecord(const string &market, const string &code, size_t pos, KQuery::KType kType)
获取指定的K线记录
Definition: MySQLKDataDriver.cpp:324