hikyuu 2.6.8.5__py3-none-win_amd64.whl → 2.7.0__py3-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. hikyuu/__init__.py +31 -16
  2. hikyuu/__init__.pyi +610 -590
  3. hikyuu/analysis/__init__.pyi +584 -563
  4. hikyuu/analysis/analysis.pyi +585 -564
  5. hikyuu/core.py +2 -0
  6. hikyuu/core.pyi +586 -565
  7. hikyuu/cpp/__init__.pyi +2 -2
  8. hikyuu/cpp/boost_date_time-mt.dll +0 -0
  9. hikyuu/cpp/boost_serialization-mt.dll +0 -0
  10. hikyuu/cpp/boost_system-mt.dll +0 -0
  11. hikyuu/cpp/boost_wserialization-mt.dll +0 -0
  12. hikyuu/cpp/core310.pyd +0 -0
  13. hikyuu/cpp/core310.pyi +501 -104
  14. hikyuu/cpp/core311.pyd +0 -0
  15. hikyuu/cpp/core311.pyi +501 -104
  16. hikyuu/cpp/core312.pyd +0 -0
  17. hikyuu/cpp/core312.pyi +501 -104
  18. hikyuu/cpp/core313.pyd +0 -0
  19. hikyuu/cpp/core313.pyi +501 -104
  20. hikyuu/cpp/hikyuu.dll +0 -0
  21. hikyuu/cpp/hikyuu.lib +0 -0
  22. hikyuu/cpp/i18n/zh_CN/hikyuu.mo +0 -0
  23. hikyuu/data/clickhouse_upgrade/createdb.sql +105 -105
  24. hikyuu/data/common.py +3 -3
  25. hikyuu/data/common_clickhouse.py +1 -1
  26. hikyuu/data/download_block.py +351 -0
  27. hikyuu/data/em_block_to_clickhouse.py +26 -74
  28. hikyuu/data/em_block_to_mysql.py +25 -75
  29. hikyuu/data/em_block_to_sqlite.py +26 -78
  30. hikyuu/data/hku_config_template.py +3 -3
  31. hikyuu/data/pytdx_to_clickhouse.py +15 -11
  32. hikyuu/data/pytdx_to_h5.py +6 -2
  33. hikyuu/data/pytdx_to_mysql.py +5 -1
  34. hikyuu/data/pytdx_weight_to_clickhouse.py +1 -1
  35. hikyuu/data/pytdx_weight_to_mysql.py +1 -1
  36. hikyuu/data/pytdx_weight_to_sqlite.py +1 -1
  37. hikyuu/data/zh_bond10_to_clickhouse.py +1 -1
  38. hikyuu/draw/drawplot/__init__.pyi +8 -8
  39. hikyuu/draw/drawplot/bokeh_draw.pyi +600 -580
  40. hikyuu/draw/drawplot/common.pyi +1 -1
  41. hikyuu/draw/drawplot/echarts_draw.pyi +602 -582
  42. hikyuu/draw/drawplot/matplotlib_draw.py +4 -74
  43. hikyuu/draw/drawplot/matplotlib_draw.pyi +612 -592
  44. hikyuu/draw/elder.pyi +11 -11
  45. hikyuu/draw/kaufman.pyi +18 -18
  46. hikyuu/draw/volume.pyi +10 -10
  47. hikyuu/examples/notebook/Demo/Demo1.ipynb +48 -33
  48. hikyuu/extend.py +0 -8
  49. hikyuu/extend.pyi +594 -574
  50. hikyuu/fetcher/stock/zh_block_em.py +12 -40
  51. hikyuu/gui/HikyuuTDX.py +99 -31
  52. hikyuu/gui/data/CollectSpotThread.py +1 -1
  53. hikyuu/gui/data/EscapetimeThread.py +8 -14
  54. hikyuu/gui/data/ImportBlockInfoTask.py +3 -10
  55. hikyuu/gui/data/MainWindow.py +1196 -717
  56. hikyuu/gui/data/SchedImportThread.py +2 -2
  57. hikyuu/gui/data/UsePytdxImportToH5Thread.py +3 -3
  58. hikyuu/gui/data/UseQmtImportToH5Thread.py +2 -2
  59. hikyuu/gui/data/UseTdxImportToH5Thread.py +3 -3
  60. hikyuu/gui/data/tool.py +32 -25
  61. hikyuu/gui/dataserver.py +5 -3
  62. hikyuu/gui/images/liandongxiaopu.png +0 -0
  63. hikyuu/hub.pyi +6 -6
  64. hikyuu/include/hikyuu/DataType.h +4 -16
  65. hikyuu/include/hikyuu/KData.h +6 -3
  66. hikyuu/include/hikyuu/KDataPrivatedBufferImp.h +1 -1
  67. hikyuu/include/hikyuu/KDataSharedBufferImp.h +1 -1
  68. hikyuu/include/hikyuu/KQuery.h +2 -2
  69. hikyuu/include/hikyuu/Stock.h +4 -1
  70. hikyuu/include/hikyuu/StockManager.h +13 -3
  71. hikyuu/include/hikyuu/config.h +0 -3
  72. hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +8 -0
  73. hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +6 -0
  74. hikyuu/include/hikyuu/data_driver/KDataDriver.h +26 -1
  75. hikyuu/include/hikyuu/data_driver/base_info/mysql/MySQLBaseInfoDriver.h +1 -1
  76. hikyuu/include/hikyuu/data_driver/base_info/sqlite/SQLiteBaseInfoDriver.h +1 -1
  77. hikyuu/include/hikyuu/data_driver/block_info/mysql/MySQLBlockInfoDriver.h +2 -1
  78. hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +2 -1
  79. hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +2 -1
  80. hikyuu/include/hikyuu/data_driver/kdata/DoNothingKDataDriver.h +1 -1
  81. hikyuu/include/hikyuu/data_driver/kdata/cvs/KDataTempCsvDriver.h +1 -1
  82. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5KDataDriver.h +1 -1
  83. hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +1 -1
  84. hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +1 -1
  85. hikyuu/include/hikyuu/data_driver/kdata/tdx/TdxKDataDriver.h +1 -1
  86. hikyuu/include/hikyuu/hikyuu.h +1 -1
  87. hikyuu/include/hikyuu/indicator/build_in.h +1 -0
  88. hikyuu/include/hikyuu/indicator/crt/CYCLE.h +4 -4
  89. hikyuu/include/hikyuu/indicator/crt/HSL.h +2 -2
  90. hikyuu/include/hikyuu/indicator/crt/QUANTILE_TRUNC.h +30 -0
  91. hikyuu/include/hikyuu/indicator/crt/TURNOVER.h +1 -0
  92. hikyuu/include/hikyuu/indicator/crt/ZSCORE.h +2 -2
  93. hikyuu/include/hikyuu/indicator/imp/IQuantileTrunc.h +25 -0
  94. hikyuu/include/hikyuu/misc.h +38 -0
  95. hikyuu/include/hikyuu/plugin/dataserver.h +2 -1
  96. hikyuu/include/hikyuu/plugin/device.h +10 -0
  97. hikyuu/include/hikyuu/plugin/extind.h +37 -0
  98. hikyuu/include/hikyuu/plugin/interface/DataServerPluginInterface.h +2 -2
  99. hikyuu/include/hikyuu/plugin/interface/DevicePluginInterface.h +2 -0
  100. hikyuu/include/hikyuu/plugin/interface/ExtendIndicatorsPluginInterface.h +12 -0
  101. hikyuu/include/hikyuu/plugin/interface/plugins.h +0 -5
  102. hikyuu/include/hikyuu/python/pybind_utils.h +0 -12
  103. hikyuu/include/hikyuu/strategy/RunSystemInStrategy.h +3 -0
  104. hikyuu/include/hikyuu/trade_manage/Performance.h +4 -4
  105. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +10 -1
  106. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalFundsMM.h +0 -4
  107. hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +36 -3
  108. hikyuu/include/hikyuu/trade_sys/multifactor/NormalizeBase.h +125 -0
  109. hikyuu/include/hikyuu/trade_sys/multifactor/ScoresFilterBase.h +125 -0
  110. hikyuu/include/hikyuu/trade_sys/multifactor/build_in.h +3 -0
  111. hikyuu/include/hikyuu/trade_sys/multifactor/buildin_norm.h +36 -0
  112. hikyuu/include/hikyuu/trade_sys/multifactor/buildin_scfilter.h +51 -0
  113. hikyuu/include/hikyuu/trade_sys/multifactor/filter/GroupSCFilter.h +24 -0
  114. hikyuu/include/hikyuu/trade_sys/multifactor/filter/IgnoreLessOrEqualValueSCFilter.h +24 -0
  115. hikyuu/include/hikyuu/trade_sys/multifactor/filter/IgnoreNanSCFilter.h +24 -0
  116. hikyuu/include/hikyuu/trade_sys/multifactor/filter/MinAmountPercentSCFilter.h +25 -0
  117. hikyuu/include/hikyuu/trade_sys/multifactor/filter/PriceSCFilter.h +24 -0
  118. hikyuu/include/hikyuu/trade_sys/multifactor/filter/TopNSCFilter.h +24 -0
  119. hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +1 -1
  120. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +1 -1
  121. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +1 -1
  122. hikyuu/include/hikyuu/trade_sys/multifactor/imp/WeightMultiFactor.h +1 -1
  123. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/NormMinMax.h +23 -0
  124. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/NormQuantile.h +28 -0
  125. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/NormQuantileUniform.h +28 -0
  126. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/NormZScore.h +25 -0
  127. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/__init__.py +1 -0
  128. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/quantile_trunc.h +16 -0
  129. hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +7 -0
  130. hikyuu/include/hikyuu/trade_sys/portfolio/imp/SimplePortfolio.h +7 -0
  131. hikyuu/include/hikyuu/trade_sys/portfolio/imp/WithoutAFPortfolio.h +7 -0
  132. hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +49 -0
  133. hikyuu/include/hikyuu/trade_sys/selector/build_in.h +1 -0
  134. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor2.h +40 -0
  135. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +0 -3
  136. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector2.h +49 -0
  137. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSelector.h +1 -1
  138. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorValueSelector.h +1 -1
  139. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal2.h +0 -4
  140. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AddValueSignal.h +2 -2
  141. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/DivValueSignal.h +2 -2
  142. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/MulValueSignal.h +2 -2
  143. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorSignal.h +1 -1
  144. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorValueSignal.h +4 -4
  145. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/SubValueSignal.h +2 -2
  146. hikyuu/include/hikyuu/trade_sys/slippage/build_in.h +5 -1
  147. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_LogNormal.h +22 -0
  148. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_Normal.h +22 -0
  149. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_TruncNormal.h +25 -0
  150. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_Uniform.h +23 -0
  151. hikyuu/include/hikyuu/trade_sys/slippage/imp/LogNormalSlippage.h +28 -0
  152. hikyuu/include/hikyuu/trade_sys/slippage/imp/NormalSlippage.h +28 -0
  153. hikyuu/include/hikyuu/trade_sys/slippage/imp/TruncNormalSlippage.h +28 -0
  154. hikyuu/include/hikyuu/trade_sys/slippage/imp/UniformSlippage.h +24 -0
  155. hikyuu/include/hikyuu/trade_sys/system/System.h +14 -1
  156. hikyuu/include/hikyuu/utilities/SpendTimer.h +17 -7
  157. hikyuu/include/hikyuu/utilities/arithmetic.h +45 -0
  158. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +1 -1
  159. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLStatement.h +1 -1
  160. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteConnect.h +1 -1
  161. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteStatement.h +1 -1
  162. hikyuu/include/hikyuu/utilities/plugin/PluginLoader.h +4 -1
  163. hikyuu/include/hikyuu/version.h +5 -5
  164. hikyuu/plugin/backtest.dll +0 -0
  165. hikyuu/plugin/clickhousedriver.dll +0 -0
  166. hikyuu/plugin/dataserver.dll +0 -0
  167. hikyuu/plugin/dataserver_parquet.dll +0 -0
  168. hikyuu/plugin/device.dll +0 -0
  169. hikyuu/plugin/extind.dll +0 -0
  170. hikyuu/plugin/hkuextra.dll +0 -0
  171. hikyuu/plugin/import2hdf5.dll +0 -0
  172. hikyuu/plugin/tmreport.dll +0 -0
  173. hikyuu/trade_manage/__init__.pyi +600 -580
  174. hikyuu/trade_manage/broker.pyi +3 -3
  175. hikyuu/trade_manage/broker_easytrader.pyi +1 -1
  176. hikyuu/trade_manage/trade.py +0 -2
  177. hikyuu/trade_manage/trade.pyi +600 -580
  178. hikyuu/util/__init__.pyi +2 -2
  179. hikyuu/util/singleton.pyi +1 -1
  180. {hikyuu-2.6.8.5.dist-info → hikyuu-2.7.0.dist-info}/METADATA +36 -33
  181. {hikyuu-2.6.8.5.dist-info → hikyuu-2.7.0.dist-info}/RECORD +185 -168
  182. {hikyuu-2.6.8.5.dist-info → hikyuu-2.7.0.dist-info}/top_level.txt +2 -2
  183. hikyuu/cpp/core39.pyd +0 -0
  184. hikyuu/cpp/core39.pyi +0 -14381
  185. hikyuu/data_driver/__init__.py +0 -49
  186. hikyuu/data_driver/jqdata_data_driver.py +0 -277
  187. hikyuu/data_driver/pytdx_data_driver.py +0 -292
  188. hikyuu/fetcher/stock/zh_stock_a_huatai.py +0 -51
  189. hikyuu/fetcher/stock/zh_stock_a_pytdx.py +0 -129
  190. hikyuu/gui/data/CollectToMemThread.py +0 -123
  191. hikyuu/gui/data/CollectToMySQLThread.py +0 -178
  192. hikyuu/gui/start_huatai_insight.py +0 -510
  193. hikyuu/include/hikyuu/plugin/hkuviews.h +0 -36
  194. hikyuu/include/hikyuu/plugin/interface/HkuViewsPluginInterface.h +0 -34
  195. hikyuu/include/hikyuu/views/arrow_common.h +0 -38
  196. hikyuu/include/hikyuu/views/arrow_views.h +0 -117
  197. hikyuu/plugin/hkuviews.dll +0 -0
  198. hikyuu/tools/update_block_info.py +0 -168
  199. /hikyuu/include/hikyuu/{views → trade_sys/multifactor/filter}/__init__.py +0 -0
  200. {hikyuu-2.6.8.5.dist-info → hikyuu-2.7.0.dist-info}/WHEEL +0 -0
  201. {hikyuu-2.6.8.5.dist-info → hikyuu-2.7.0.dist-info}/entry_points.txt +0 -0
@@ -34,6 +34,15 @@
34
34
  #include <TargetConditionals.h>
35
35
  #endif
36
36
 
37
+ #ifdef _WIN32
38
+ #include <shlwapi.h>
39
+ #pragma comment(lib, "shlwapi.lib") // Windows 链接时需要的库
40
+ #define GET_FILENAME(path) PathFindFileNameA(path)
41
+ #else
42
+ #include <libgen.h>
43
+ #define GET_FILENAME(path) basename((char *)path)
44
+ #endif
45
+
37
46
  #ifndef HKU_CLOSE_SPEND_TIME
38
47
  #define HKU_CLOSE_SPEND_TIME 1
39
48
  #endif
@@ -81,7 +90,7 @@ namespace hku {
81
90
  * 代码执行耗时计时器
82
91
  * @param id 自定义耗时计时器id
83
92
  */
84
- #define SPEND_TIME(id) hku::SpendTimer test_spend_timer_##id(#id, __FILE__, __LINE__);
93
+ #define SPEND_TIME(id) hku::SpendTimer test_spend_timer_##id(#id, GET_FILENAME(__FILE__), __LINE__);
85
94
 
86
95
  /**
87
96
  * 代码执行耗时计时器,附带输出信息
@@ -90,7 +99,7 @@ namespace hku {
90
99
  */
91
100
  #define SPEND_TIME_MSG(id, ...) \
92
101
  std::string msg_##id(fmt::format(__VA_ARGS__)); \
93
- hku::SpendTimer test_spend_timer_##id(#id, msg_##id.c_str(), __FILE__, __LINE__);
102
+ hku::SpendTimer test_spend_timer_##id(#id, msg_##id.c_str(), GET_FILENAME(__FILE__), __LINE__);
94
103
 
95
104
  /** 秒表计时 */
96
105
  #define SPEND_TIME_KEEP(id, ...) test_spend_timer_##id.keep(fmt::format(__VA_ARGS__));
@@ -117,8 +126,8 @@ namespace hku {
117
126
  * @param id 自定义耗时计时器id
118
127
  * @param cycle 循环运行的次数(仅用于统计打印耗时输出)
119
128
  */
120
- #define BENCHMARK_TIME(id, cycle) \
121
- hku::SpendTimer test_spend_timer_##id(#id, __FILE__, __LINE__); \
129
+ #define BENCHMARK_TIME(id, cycle) \
130
+ hku::SpendTimer test_spend_timer_##id(#id, GET_FILENAME(__FILE__), __LINE__); \
122
131
  test_spend_timer_##id.setCycle(cycle);
123
132
 
124
133
  /**
@@ -127,9 +136,10 @@ namespace hku {
127
136
  * @param cycle 循环运行的次数(仅用于统计打印耗时输出)
128
137
  * @param ... 输出信息
129
138
  */
130
- #define BENCHMARK_TIME_MSG(id, cycle, ...) \
131
- std::string msg_##id(fmt::format(__VA_ARGS__)); \
132
- hku::SpendTimer test_spend_timer_##id(#id, msg_##id.c_str(), __FILE__, __LINE__); \
139
+ #define BENCHMARK_TIME_MSG(id, cycle, ...) \
140
+ std::string msg_##id(fmt::format(__VA_ARGS__)); \
141
+ hku::SpendTimer test_spend_timer_##id(#id, msg_##id.c_str(), GET_FILENAME(__FILE__), \
142
+ __LINE__); \
133
143
  test_spend_timer_##id.setCycle(cycle);
134
144
 
135
145
  #endif /* HKU_CLOSE_SPEND_TIME */
@@ -415,6 +415,51 @@ inline std::string byteToHexStrForPrint(const std::string &bytes) {
415
415
  return byteToHexStrForPrint(bytes.c_str(), bytes.size());
416
416
  }
417
417
 
418
+ /** 判断 double 是否为整数 */
419
+ bool HKU_UTILS_API isInteger(double num);
420
+
421
+ /** 判断 float 是否为整数 */
422
+ bool HKU_UTILS_API isInteger(float num);
423
+
424
+ /**
425
+ * @brief 获取已排序的向量中指定分位数的值
426
+ * @param vec 已排序的数组
427
+ * @param quantile
428
+ * @return Indicator::value_t
429
+ */
430
+ template <typename T>
431
+ T get_quantile(const std::vector<T> &vec, double quantile) {
432
+ if (vec.empty()) {
433
+ return std::numeric_limits<T>::quiet_NaN();
434
+ }
435
+
436
+ if (quantile <= 0.0) {
437
+ return vec.front();
438
+ } else if (quantile >= 1.0) {
439
+ return vec.back();
440
+ }
441
+
442
+ T ret;
443
+ double qpos = vec.size() * quantile;
444
+ if (qpos <= 1.0) {
445
+ ret = vec[0];
446
+ } else if (isInteger(qpos)) {
447
+ size_t pos = static_cast<size_t>(qpos);
448
+ ret = (vec[pos - 1] + vec[pos]) / 2;
449
+ } else {
450
+ size_t pos = static_cast<size_t>(qpos);
451
+ T x = qpos - pos;
452
+ ret = vec[pos - 1] + x * (vec[pos] - vec[pos - 1]);
453
+ }
454
+ return ret;
455
+ }
456
+
457
+ extern template double HKU_UTILS_API get_quantile(const std::vector<double> &vec, double quantile);
458
+ extern template float HKU_UTILS_API get_quantile(const std::vector<float> &vec, double quantile);
459
+
460
+ HKU_UTILS_API std::ostream &operator<<(std::ostream &os, const std::vector<double> &p);
461
+ HKU_UTILS_API std::ostream &operator<<(std::ostream &os, const std::vector<float> &p);
462
+
418
463
  /** @} */
419
464
  } /* namespace hku */
420
465
 
@@ -25,7 +25,7 @@ namespace hku {
25
25
  class HKU_UTILS_API MySQLConnect : public DBConnectBase {
26
26
  public:
27
27
  explicit MySQLConnect(const Parameter &param);
28
- virtual ~MySQLConnect();
28
+ virtual ~MySQLConnect() override;
29
29
 
30
30
  MySQLConnect(const MySQLConnect &) = delete;
31
31
  MySQLConnect &operator=(const MySQLConnect &) = delete;
@@ -36,7 +36,7 @@ class HKU_UTILS_API MySQLStatement : public SQLStatementBase {
36
36
  public:
37
37
  MySQLStatement() = delete;
38
38
  MySQLStatement(DBConnectBase *driver, const std::string &sql_statement);
39
- virtual ~MySQLStatement();
39
+ virtual ~MySQLStatement() override;
40
40
 
41
41
  virtual void sub_exec() override;
42
42
  virtual bool sub_moveNext() override;
@@ -40,7 +40,7 @@ public:
40
40
  explicit SQLiteConnect(const Parameter &param);
41
41
 
42
42
  /** 析构函数 */
43
- virtual ~SQLiteConnect();
43
+ virtual ~SQLiteConnect() override;
44
44
 
45
45
  /** 如果 sqlite 文件无效,返回false */
46
46
  virtual bool ping() override;
@@ -31,7 +31,7 @@ public:
31
31
  SQLiteStatement(DBConnectBase *driver, const std::string &sql_statement);
32
32
 
33
33
  /** 析构函数 */
34
- virtual ~SQLiteStatement();
34
+ virtual ~SQLiteStatement() override;
35
35
 
36
36
  virtual void sub_exec() override;
37
37
  virtual bool sub_moveNext() override;
@@ -51,10 +51,13 @@ public:
51
51
 
52
52
  #if HKU_OS_WINDOWS
53
53
  m_handle = LoadLibrary(HKU_PATH(filename).c_str());
54
+ HKU_WARN_IF_RETURN(!m_handle, false, "load plugin({}) failed! errcode: {}", filename,
55
+ GetLastError());
56
+
54
57
  #else
55
58
  m_handle = dlopen(filename.c_str(), RTLD_LAZY);
59
+ HKU_WARN_IF_RETURN(!m_handle, false, "load plugin({}) failed! {}", filename, dlerror());
56
60
  #endif
57
- HKU_WARN_IF_RETURN(!m_handle, false, "load plugin({}) failed!", filename);
58
61
 
59
62
  typedef PluginBase* (*CreateFunction)();
60
63
  CreateFunction createFunction =
@@ -12,13 +12,13 @@
12
12
  #define HKU_VERSION_H
13
13
 
14
14
  // clang-format off
15
- #define HKU_VERSION "2.6.8"
15
+ #define HKU_VERSION "2.7.0"
16
16
  #define HKU_VERSION_MAJOR 2
17
- #define HKU_VERSION_MINOR 6
18
- #define HKU_VERSION_ALTER 8
19
- #define HKU_VERSION_BUILD 202509152355
17
+ #define HKU_VERSION_MINOR 7
18
+ #define HKU_VERSION_ALTER 0
19
+ #define HKU_VERSION_BUILD 202511012109
20
20
  #define HKU_VERSION_MODE "RELEASE"
21
- #define HKU_VERSION_GIT "2.6.8 master.f8b7e83d (RELEASE)"
21
+ #define HKU_VERSION_GIT "2.7.0 release.31701445 (RELEASE)"
22
22
  // clang-format on
23
23
 
24
24
  #endif /* HKU_VERSION_H */
Binary file
Binary file
Binary file
Binary file
hikyuu/plugin/device.dll CHANGED
Binary file
hikyuu/plugin/extind.dll CHANGED
Binary file
Binary file
Binary file
Binary file