hikyuu 2.7.1.1__py3-none-win_amd64.whl → 2.7.2__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 (89) hide show
  1. hikyuu/__init__.py +4 -1
  2. hikyuu/__init__.pyi +23 -11
  3. hikyuu/analysis/__init__.pyi +5 -1
  4. hikyuu/analysis/analysis.pyi +6 -2
  5. hikyuu/core.pyi +7 -3
  6. hikyuu/cpp/core310.pyd +0 -0
  7. hikyuu/cpp/core310.pyi +55 -6
  8. hikyuu/cpp/core311.pyd +0 -0
  9. hikyuu/cpp/core311.pyi +55 -6
  10. hikyuu/cpp/core312.pyd +0 -0
  11. hikyuu/cpp/core312.pyi +55 -6
  12. hikyuu/cpp/core313.pyd +0 -0
  13. hikyuu/cpp/core313.pyi +55 -6
  14. hikyuu/cpp/hikyuu.dll +0 -0
  15. hikyuu/cpp/hikyuu.lib +0 -0
  16. hikyuu/cpp/i18n/zh_CN/hikyuu.mo +0 -0
  17. hikyuu/cpp/i18n/zh_CN/hikyuu_plugin.mo +0 -0
  18. hikyuu/data/clickhouse_upgrade/0001.sql +2 -0
  19. hikyuu/data/common_clickhouse.py +1 -3
  20. hikyuu/data/hku_config_template.py +6 -0
  21. hikyuu/data/mysql_upgrade/0029.sql +2 -0
  22. hikyuu/data/pytdx_to_clickhouse.py +85 -31
  23. hikyuu/data/pytdx_to_h5.py +74 -29
  24. hikyuu/data/pytdx_to_mysql.py +63 -19
  25. hikyuu/data/pytdx_weight_to_clickhouse.py +2 -0
  26. hikyuu/data/pytdx_weight_to_mysql.py +2 -0
  27. hikyuu/data/pytdx_weight_to_sqlite.py +2 -0
  28. hikyuu/data/sqlite_upgrade/0029.sql +4 -0
  29. hikyuu/draw/drawplot/bokeh_draw.pyi +10 -6
  30. hikyuu/draw/drawplot/echarts_draw.pyi +10 -6
  31. hikyuu/draw/drawplot/matplotlib_draw.py +8 -2
  32. hikyuu/draw/drawplot/matplotlib_draw.pyi +10 -6
  33. hikyuu/extend.pyi +8 -4
  34. hikyuu/gui/HikyuuTDX.py +12 -2
  35. hikyuu/gui/data/MainWindow.py +166 -142
  36. hikyuu/hub.pyi +6 -6
  37. hikyuu/include/hikyuu/StockManager.h +4 -0
  38. hikyuu/include/hikyuu/StrategyContext.h +4 -4
  39. hikyuu/include/hikyuu/global/sysinfo.h +24 -5
  40. hikyuu/include/hikyuu/indicator/IndicatorImp.h +1 -1
  41. hikyuu/include/hikyuu/plugin/KDataToClickHouseImporter.h +40 -0
  42. hikyuu/include/hikyuu/plugin/KDataToMySQLImporter.h +40 -0
  43. hikyuu/include/hikyuu/plugin/checkdata.h +20 -0
  44. hikyuu/include/hikyuu/plugin/hkuextra.h +2 -0
  45. hikyuu/include/hikyuu/plugin/interface/CheckDataPluginInterface.h +25 -0
  46. hikyuu/include/hikyuu/plugin/interface/HkuExtraPluginInterface.h +2 -0
  47. hikyuu/include/hikyuu/plugin/interface/ImportKDataToClickHousePluginInterface.h +44 -0
  48. hikyuu/include/hikyuu/plugin/interface/ImportKDataToMySQLPluginInterface.h +42 -0
  49. hikyuu/include/hikyuu/plugin/interface/plugins.h +6 -0
  50. hikyuu/include/hikyuu/python/convert_any.h +9 -6
  51. hikyuu/include/hikyuu/strategy/Strategy.h +1 -1
  52. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +2 -1
  53. hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +1 -0
  54. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedAmount.h +26 -0
  55. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixAmountFunds.h +18 -0
  56. hikyuu/include/hikyuu/utilities/Log.h +6 -7
  57. hikyuu/include/hikyuu/utilities/Parameter.h +17 -0
  58. hikyuu/include/hikyuu/utilities/config.h +28 -0
  59. hikyuu/include/hikyuu/utilities/plugin/PluginBase.h +17 -2
  60. hikyuu/include/hikyuu/utilities/plugin/PluginManager.h +41 -22
  61. hikyuu/include/hikyuu/utilities/thread/GlobalStealThreadPool.h +1 -2
  62. hikyuu/include/hikyuu/utilities/thread/GlobalThreadPool.h +1 -1
  63. hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +285 -0
  64. hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +296 -0
  65. hikyuu/include/hikyuu/utilities/thread/WorkStealQueue.h +9 -8
  66. hikyuu/include/hikyuu/utilities/thread/algorithm.h +64 -14
  67. hikyuu/include/hikyuu/version.h +4 -4
  68. hikyuu/plugin/backtest.dll +0 -0
  69. hikyuu/plugin/checkdata.dll +0 -0
  70. hikyuu/plugin/clickhousedriver.dll +0 -0
  71. hikyuu/plugin/dataserver.dll +0 -0
  72. hikyuu/plugin/dataserver_parquet.dll +0 -0
  73. hikyuu/plugin/device.dll +0 -0
  74. hikyuu/plugin/extind.dll +0 -0
  75. hikyuu/plugin/hkuextra.dll +0 -0
  76. hikyuu/plugin/import2ch.dll +0 -0
  77. hikyuu/plugin/import2hdf5.dll +0 -0
  78. hikyuu/plugin/import2mysql.dll +0 -0
  79. hikyuu/plugin/tmreport.dll +0 -0
  80. hikyuu/trade_manage/__init__.pyi +10 -6
  81. hikyuu/trade_manage/trade.pyi +10 -6
  82. hikyuu/trade_sys/trade_sys.py +3 -1
  83. hikyuu/util/__init__.pyi +1 -1
  84. hikyuu/util/singleton.pyi +1 -1
  85. {hikyuu-2.7.1.1.dist-info → hikyuu-2.7.2.dist-info}/METADATA +5 -1
  86. {hikyuu-2.7.1.1.dist-info → hikyuu-2.7.2.dist-info}/RECORD +89 -72
  87. {hikyuu-2.7.1.1.dist-info → hikyuu-2.7.2.dist-info}/WHEEL +0 -0
  88. {hikyuu-2.7.1.1.dist-info → hikyuu-2.7.2.dist-info}/entry_points.txt +0 -0
  89. {hikyuu-2.7.1.1.dist-info → hikyuu-2.7.2.dist-info}/top_level.txt +0 -0
@@ -12,6 +12,8 @@
12
12
  #include <vector>
13
13
  #include "ThreadPool.h"
14
14
  #include "MQThreadPool.h"
15
+ #include "StealThreadPool.h"
16
+ #include "MQStealThreadPool.h"
15
17
 
16
18
  //----------------------------------------------------------------
17
19
  // Note: 除 ThreadPool/MQThreadPool 外,其他线程池由于使用
@@ -23,15 +25,17 @@ namespace hku {
23
25
 
24
26
  typedef std::pair<size_t, size_t> range_t;
25
27
 
26
- inline std::vector<range_t> parallelIndexRange(size_t start, size_t end) {
28
+ inline std::vector<range_t> parallelIndexRange(size_t start, size_t end, size_t cpu_num = 0) {
27
29
  std::vector<std::pair<size_t, size_t>> ret;
28
30
  if (start >= end) {
29
31
  return ret;
30
32
  }
31
33
 
32
34
  size_t total = end - start;
33
- size_t cpu_num = std::thread::hardware_concurrency();
34
- if (cpu_num == 1) {
35
+ if (cpu_num == 0) {
36
+ cpu_num = std::thread::hardware_concurrency();
37
+ }
38
+ if (cpu_num <= 1) {
35
39
  ret.emplace_back(start, end);
36
40
  return ret;
37
41
  }
@@ -52,9 +56,13 @@ inline std::vector<range_t> parallelIndexRange(size_t start, size_t end) {
52
56
  }
53
57
 
54
58
  template <typename FunctionType, class TaskGroup = MQThreadPool>
55
- void parallel_for_index_void(size_t start, size_t end, FunctionType f) {
56
- auto ranges = parallelIndexRange(start, end);
57
- TaskGroup tg;
59
+ void parallel_for_index_void(size_t start, size_t end, FunctionType f, int cpu_num = 0) {
60
+ auto ranges = parallelIndexRange(start, end, cpu_num);
61
+ if (ranges.empty()) {
62
+ return;
63
+ }
64
+
65
+ TaskGroup tg(cpu_num == 0 ? std::thread::hardware_concurrency() : cpu_num);
58
66
  for (size_t i = 0, total = ranges.size(); i < total; i++) {
59
67
  tg.submit([=, range = ranges[i]]() {
60
68
  for (size_t ix = range.first; ix < range.second; ix++) {
@@ -67,9 +75,14 @@ void parallel_for_index_void(size_t start, size_t end, FunctionType f) {
67
75
  }
68
76
 
69
77
  template <typename FunctionType, class TaskGroup = MQThreadPool>
70
- auto parallel_for_index(size_t start, size_t end, FunctionType f) {
71
- auto ranges = parallelIndexRange(start, end);
72
- TaskGroup tg;
78
+ auto parallel_for_index(size_t start, size_t end, FunctionType f, size_t cpu_num = 0) {
79
+ std::vector<typename std::invoke_result<FunctionType, size_t>::type> ret;
80
+ auto ranges = parallelIndexRange(start, end, cpu_num);
81
+ if (ranges.empty()) {
82
+ return ret;
83
+ }
84
+
85
+ TaskGroup tg(cpu_num == 0 ? std::thread::hardware_concurrency() : cpu_num);
73
86
  std::vector<std::future<std::vector<typename std::invoke_result<FunctionType, size_t>::type>>>
74
87
  tasks;
75
88
  for (size_t i = 0, total = ranges.size(); i < total; i++) {
@@ -82,7 +95,6 @@ auto parallel_for_index(size_t start, size_t end, FunctionType f) {
82
95
  }));
83
96
  }
84
97
 
85
- std::vector<typename std::invoke_result<FunctionType, size_t>::type> ret;
86
98
  for (auto& task : tasks) {
87
99
  auto one = task.get();
88
100
  for (auto&& value : one) {
@@ -94,15 +106,19 @@ auto parallel_for_index(size_t start, size_t end, FunctionType f) {
94
106
  }
95
107
 
96
108
  template <typename FunctionType, class TaskGroup = MQThreadPool>
97
- auto parallel_for_range(size_t start, size_t end, FunctionType f) {
98
- auto ranges = parallelIndexRange(start, end);
99
- TaskGroup tg;
109
+ auto parallel_for_range(size_t start, size_t end, FunctionType f, size_t cpu_num = 0) {
110
+ typename std::invoke_result<FunctionType, range_t>::type ret;
111
+ auto ranges = parallelIndexRange(start, end, cpu_num);
112
+ if (ranges.empty()) {
113
+ return ret;
114
+ }
115
+
116
+ TaskGroup tg(cpu_num == 0 ? std::thread::hardware_concurrency() : cpu_num);
100
117
  std::vector<std::future<typename std::invoke_result<FunctionType, range_t>::type>> tasks;
101
118
  for (size_t i = 0, total = ranges.size(); i < total; i++) {
102
119
  tasks.emplace_back(tg.submit([func = f, range = ranges[i]]() { return func(range); }));
103
120
  }
104
121
 
105
- typename std::invoke_result<FunctionType, range_t>::type ret;
106
122
  for (auto& task : tasks) {
107
123
  auto one = task.get();
108
124
  for (auto&& value : one) {
@@ -113,4 +129,38 @@ auto parallel_for_range(size_t start, size_t end, FunctionType f) {
113
129
  return ret;
114
130
  }
115
131
 
132
+ template <typename FunctionType, class TaskGroup = ThreadPool>
133
+ void parallel_for_index_void_single(size_t start, size_t end, FunctionType f, int cpu_num = 0) {
134
+ if (start >= end) {
135
+ return;
136
+ }
137
+
138
+ TaskGroup tg(cpu_num == 0 ? std::thread::hardware_concurrency() : cpu_num);
139
+ for (size_t i = start; i < end; i++) {
140
+ tg.submit([func = f, i]() { func(i); });
141
+ }
142
+ tg.join();
143
+ return;
144
+ }
145
+
146
+ template <typename FunctionType, class TaskGroup = ThreadPool>
147
+ auto parallel_for_index_single(size_t start, size_t end, FunctionType f, size_t cpu_num = 0) {
148
+ std::vector<typename std::invoke_result<FunctionType, size_t>::type> ret;
149
+ if (start >= end) {
150
+ return ret;
151
+ }
152
+
153
+ TaskGroup tg(cpu_num == 0 ? std::thread::hardware_concurrency() : cpu_num);
154
+ std::vector<std::future<typename std::invoke_result<FunctionType, size_t>::type>> tasks;
155
+ for (size_t i = start; i < end; i++) {
156
+ tasks.emplace_back(tg.submit([func = f, i]() { return func(i); }));
157
+ }
158
+
159
+ for (auto& task : tasks) {
160
+ ret.push_back(std::move(task.get()));
161
+ }
162
+
163
+ return ret;
164
+ }
165
+
116
166
  } // namespace hku
@@ -12,13 +12,13 @@
12
12
  #define HKU_VERSION_H
13
13
 
14
14
  // clang-format off
15
- #define HKU_VERSION "2.7.1"
15
+ #define HKU_VERSION "2.7.2"
16
16
  #define HKU_VERSION_MAJOR 2
17
17
  #define HKU_VERSION_MINOR 7
18
- #define HKU_VERSION_ALTER 1
19
- #define HKU_VERSION_BUILD 202512011236
18
+ #define HKU_VERSION_ALTER 2
19
+ #define HKU_VERSION_BUILD 202512242101
20
20
  #define HKU_VERSION_MODE "RELEASE"
21
- #define HKU_VERSION_GIT "2.7.1 master.d1695c85 (RELEASE)"
21
+ #define HKU_VERSION_GIT "2.7.2 release.380a3be0 (RELEASE)"
22
22
  // clang-format on
23
23
 
24
24
  #endif /* HKU_VERSION_H */
Binary file
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
Binary file
Binary file
@@ -26,7 +26,9 @@ from hikyuu.cpp.core310 import Indicator
26
26
  from hikyuu.cpp.core310 import IndicatorImp
27
27
  from hikyuu.cpp.core310 import KData
28
28
  from hikyuu.cpp.core310 import KDataDriver
29
+ from hikyuu.cpp.core310 import KDataToClickHouseImporter
29
30
  from hikyuu.cpp.core310 import KDataToHdf5Importer
31
+ from hikyuu.cpp.core310 import KDataToMySQLImporter
30
32
  from hikyuu.cpp.core310 import KRecord
31
33
  from hikyuu.cpp.core310 import KRecordList
32
34
  from hikyuu.cpp.core310 import LOG_LEVEL
@@ -77,6 +79,7 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
77
79
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AD
78
80
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ADVANCE
79
81
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_EqualWeight
82
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_FixedAmount
80
83
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_FixedWeight
81
84
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_FixedWeightList
82
85
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_MultiFactor
@@ -180,10 +183,10 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
180
183
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KALMAN
181
184
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KDATA_PART
182
185
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LAST
183
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE
184
186
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
185
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN as CAPITAL
187
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE
186
188
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN
189
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN as CAPITAL
187
190
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLV
188
191
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLVBARS
189
192
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LN
@@ -294,8 +297,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
294
297
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SP_TruncNormal
295
298
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SP_Uniform
296
299
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SQRT
297
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV
298
300
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV as STD
301
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV
299
302
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDP
300
303
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ST_FixedPercent
301
304
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ST_Indicator
@@ -511,6 +514,7 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
511
514
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import batch_calculate_inds
512
515
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import bind_email
513
516
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import can_upgrade
517
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import check_data
514
518
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import close_ostream_to_python
515
519
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import close_spend_time
516
520
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import combinate_ind
@@ -532,7 +536,7 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
532
536
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_expire_date
533
537
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_funds_list
534
538
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_kdata
535
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_last_version
539
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_latest_version_info
536
540
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_log_level
537
541
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_spot_from_buffer_server
538
542
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_stock
@@ -623,8 +627,8 @@ from hikyuu.util.mylog import class_logger
623
627
  from hikyuu.util.mylog import hku_benchmark
624
628
  from hikyuu.util.mylog import hku_debug as hku_trace
625
629
  from hikyuu.util.mylog import hku_debug
626
- from hikyuu.util.mylog import hku_debug_if
627
630
  from hikyuu.util.mylog import hku_debug_if as hku_trace_if
631
+ from hikyuu.util.mylog import hku_debug_if
628
632
  from hikyuu.util.mylog import hku_error
629
633
  from hikyuu.util.mylog import hku_error_if
630
634
  from hikyuu.util.mylog import hku_fatal
@@ -653,7 +657,7 @@ from . import broker
653
657
  from . import broker_easytrader
654
658
  from . import broker_mail
655
659
  from . import trade
656
- __all__ = ['ABS', 'ACOS', 'AD', 'ADVANCE', 'AF_EqualWeight', 'AF_FixedWeight', 'AF_FixedWeightList', 'AF_MultiFactor', 'AGG_COUNT', 'AGG_FUNC', 'AGG_MAD', 'AGG_MAX', 'AGG_MEAN', 'AGG_MEDIAN', 'AGG_MIN', 'AGG_PROD', 'AGG_QUANTILE', 'AGG_STD', 'AGG_SUM', 'AGG_VAR', 'ALIGN', 'AMA', 'AMO', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSLASTCOUNT', 'BARSSINCE', 'BARSSINCEN', 'BASE_DIR', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CAPITAL', 'CEILING', 'CLOSE', 'CN_Bool', 'CN_OPLine', 'CONST', 'CONTEXT', 'CONTEXT_K', 'CORR', 'COS', 'COST', 'COUNT', 'CROSS', 'CVAL', 'CYCLE', 'C_AMO', 'C_CLOSE', 'C_HIGH', 'C_KDATA', 'C_LOW', 'C_OPEN', 'C_VOL', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'DatetimeList_to_df', 'DatetimeList_to_np', 'Datetime_date', 'Datetime_datetime', 'Days', 'EMA', 'ERROR', 'EVERY', 'EV_Bool', 'EV_TwoLine', 'EXIST', 'EXP', 'EasyTraderOrderBroker', 'EnvironmentBase', 'FATAL', 'FILTER', 'FINANCE', 'FLOOR', 'FundsRecord', 'GROUP_COUNT', 'GROUP_FUNC', 'GROUP_MAX', 'GROUP_MEAN', 'GROUP_MIN', 'GROUP_PROD', 'GROUP_SUM', 'HHV', 'HHVBARS', 'HIGH', 'HKUCheckError', 'HKUException', 'HOUR', 'HSL', 'Hours', 'IC', 'ICIR', 'IF', 'INBLOCK', 'INDEXA', 'INDEXADV', 'INDEXC', 'INDEXDEC', 'INDEXH', 'INDEXL', 'INDEXO', 'INDEXV', 'INFO', 'INSUM', 'INTPART', 'IR', 'ISINF', 'ISINFA', 'ISLASTBAR', 'ISNA', 'IndParam', 'Indicator', 'IndicatorImp', 'JUMPDOWN', 'JUMPUP', 'KALMAN', 'KDATA', 'KDATA_PART', 'KDJ', 'KData', 'KDataDriver', 'KDataToHdf5Importer', 'KRecord', 'KRecordList', 'LAST', 'LASTVALUE', 'LIUTONGPAN', 'LLV', 'LLVBARS', 'LN', 'LOG', 'LOG_LEVEL', 'LONGCROSS', 'LOW', 'LoanRecord', 'LoggingContext', 'MA', 'MACD', 'MAX', 'MDD', 'MF_EqualWeight', 'MF_ICIRWeight', 'MF_ICWeight', 'MF_Weight', 'MIN', 'MINUTE', 'MM_FixedCapital', 'MM_FixedCapitalFunds', 'MM_FixedCount', 'MM_FixedCountTps', 'MM_FixedPercent', 'MM_FixedRisk', 'MM_FixedUnits', 'MM_Nothing', 'MM_WilliamsFixedRisk', 'MOD', 'MONTH', 'MRR', 'MailOrderBroker', 'MarketInfo', 'Microseconds', 'Milliseconds', 'Minutes', 'MoneyManagerBase', 'MultiFactorBase', 'NDAY', 'NORM_MinMax', 'NORM_NOTHING', 'NORM_Quantile', 'NORM_Quantile_Uniform', 'NORM_Zscore', 'NOT', 'NormalizeBase', 'OFF', 'OPEN', 'OrderBrokerBase', 'OrderBrokerWrap', 'PF_Simple', 'PF_WithoutAF', 'PG_FixedHoldDays', 'PG_FixedPercent', 'PG_NoGoal', 'POS', 'POW', 'PRICELIST', 'Parameter', 'Parameter_items', 'Parameter_iter', 'Parameter_keys', 'Parameter_to_dict', 'Path', 'Performance', 'Performance_to_df', 'Portfolio', 'PositionRecord', 'PositionRecordList', 'ProfitGoalBase', 'QUANTILE_TRUNC', 'Query', 'RANK', 'RECOVER_BACKWARD', 'RECOVER_EQUAL_BACKWARD', 'RECOVER_EQUAL_FORWARD', 'RECOVER_FORWARD', 'REF', 'REFX', 'REPLACE', 'RESULT', 'REVERSE', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'SAFTYLOSS', 'SCFilter_AmountLimit', 'SCFilter_Group', 'SCFilter_IgnoreNan', 'SCFilter_LessOrEqualValue', 'SCFilter_Price', 'SCFilter_TopN', 'SE_EvaluateOptimal', 'SE_Fixed', 'SE_MaxFundsOptimal', 'SE_MultiFactor', 'SE_MultiFactor2', 'SE_PerformanceOptimal', 'SE_Signal', 'SGN', 'SG_Add', 'SG_AllwaysBuy', 'SG_And', 'SG_Band', 'SG_Bool', 'SG_Buy', 'SG_Cross', 'SG_CrossGold', 'SG_Cycle', 'SG_Div', 'SG_Flex', 'SG_Mul', 'SG_OneSide', 'SG_Or', 'SG_Sell', 'SG_Single', 'SG_Single2', 'SG_Sub', 'SIN', 'SLICE', 'SLOPE', 'SMA', 'SPEARMAN', 'SP_FixedPercent', 'SP_FixedValue', 'SP_LogNormal', 'SP_Normal', 'SP_TruncNormal', 'SP_Uniform', 'SQRT', 'STD', 'STDEV', 'STDP', 'ST_FixedPercent', 'ST_Indicator', 'ST_Saftyloss', 'SUM', 'SUMBARS', 'SYS_Simple', 'SYS_WalkForward', 'ScoreRecord', 'ScoreRecordList', 'ScoresFilterBase', 'Seconds', 'SelectorBase', 'SignalBase', 'SlippageBase', 'SpotRecord', 'Stock', 'StockManager', 'StockTypeInfo', 'StockWeight', 'StockWeightList', 'StoplossBase', 'Strategy', 'StrategyContext', 'System', 'SystemPart', 'SystemWeight', 'SystemWeightList', 'TAN', 'TA_ACCBANDS', 'TA_ACOS', 'TA_AD', 'TA_ADD', 'TA_ADOSC', 'TA_ADX', 'TA_ADXR', 'TA_APO', 'TA_AROON', 'TA_AROONOSC', 'TA_ASIN', 'TA_ATAN', 'TA_ATR', 'TA_AVGDEV', 'TA_AVGPRICE', 'TA_BBANDS', 'TA_BETA', 'TA_BOP', 'TA_CCI', 'TA_CDL2CROWS', 'TA_CDL3BLACKCROWS', 'TA_CDL3INSIDE', 'TA_CDL3LINESTRIKE', 'TA_CDL3OUTSIDE', 'TA_CDL3STARSINSOUTH', 'TA_CDL3WHITESOLDIERS', 'TA_CDLABANDONEDBABY', 'TA_CDLADVANCEBLOCK', 'TA_CDLBELTHOLD', 'TA_CDLBREAKAWAY', 'TA_CDLCLOSINGMARUBOZU', 'TA_CDLCONCEALBABYSWALL', 'TA_CDLCOUNTERATTACK', 'TA_CDLDARKCLOUDCOVER', 'TA_CDLDOJI', 'TA_CDLDOJISTAR', 'TA_CDLDRAGONFLYDOJI', 'TA_CDLENGULFING', 'TA_CDLEVENINGDOJISTAR', 'TA_CDLEVENINGSTAR', 'TA_CDLGAPSIDESIDEWHITE', 'TA_CDLGRAVESTONEDOJI', 'TA_CDLHAMMER', 'TA_CDLHANGINGMAN', 'TA_CDLHARAMI', 'TA_CDLHARAMICROSS', 'TA_CDLHIGHWAVE', 'TA_CDLHIKKAKE', 'TA_CDLHIKKAKEMOD', 'TA_CDLHOMINGPIGEON', 'TA_CDLIDENTICAL3CROWS', 'TA_CDLINNECK', 'TA_CDLINVERTEDHAMMER', 'TA_CDLKICKING', 'TA_CDLKICKINGBYLENGTH', 'TA_CDLLADDERBOTTOM', 'TA_CDLLONGLEGGEDDOJI', 'TA_CDLLONGLINE', 'TA_CDLMARUBOZU', 'TA_CDLMATCHINGLOW', 'TA_CDLMATHOLD', 'TA_CDLMORNINGDOJISTAR', 'TA_CDLMORNINGSTAR', 'TA_CDLONNECK', 'TA_CDLPIERCING', 'TA_CDLRICKSHAWMAN', 'TA_CDLRISEFALL3METHODS', 'TA_CDLSEPARATINGLINES', 'TA_CDLSHOOTINGSTAR', 'TA_CDLSHORTLINE', 'TA_CDLSPINNINGTOP', 'TA_CDLSTALLEDPATTERN', 'TA_CDLSTICKSANDWICH', 'TA_CDLTAKURI', 'TA_CDLTASUKIGAP', 'TA_CDLTHRUSTING', 'TA_CDLTRISTAR', 'TA_CDLUNIQUE3RIVER', 'TA_CDLUPSIDEGAP2CROWS', 'TA_CDLXSIDEGAP3METHODS', 'TA_CEIL', 'TA_CMO', 'TA_CORREL', 'TA_COS', 'TA_COSH', 'TA_DEMA', 'TA_DIV', 'TA_DX', 'TA_EMA', 'TA_EXP', 'TA_FLOOR', 'TA_HT_DCPERIOD', 'TA_HT_DCPHASE', 'TA_HT_PHASOR', 'TA_HT_SINE', 'TA_HT_TRENDLINE', 'TA_HT_TRENDMODE', 'TA_IMI', 'TA_KAMA', 'TA_LINEARREG', 'TA_LINEARREG_ANGLE', 'TA_LINEARREG_INTERCEPT', 'TA_LINEARREG_SLOPE', 'TA_LN', 'TA_LOG10', 'TA_MA', 'TA_MACD', 'TA_MACDEXT', 'TA_MACDFIX', 'TA_MAMA', 'TA_MAVP', 'TA_MAX', 'TA_MAXINDEX', 'TA_MEDPRICE', 'TA_MFI', 'TA_MIDPOINT', 'TA_MIDPRICE', 'TA_MIN', 'TA_MININDEX', 'TA_MINMAX', 'TA_MINMAXINDEX', 'TA_MINUS_DI', 'TA_MINUS_DM', 'TA_MOM', 'TA_MULT', 'TA_NATR', 'TA_OBV', 'TA_PLUS_DI', 'TA_PLUS_DM', 'TA_PPO', 'TA_ROC', 'TA_ROCP', 'TA_ROCR', 'TA_ROCR100', 'TA_RSI', 'TA_SAR', 'TA_SAREXT', 'TA_SIN', 'TA_SINH', 'TA_SMA', 'TA_SQRT', 'TA_STDDEV', 'TA_STOCH', 'TA_STOCHF', 'TA_STOCHRSI', 'TA_SUB', 'TA_SUM', 'TA_T3', 'TA_TAN', 'TA_TANH', 'TA_TEMA', 'TA_TRANGE', 'TA_TRIMA', 'TA_TRIX', 'TA_TSF', 'TA_TYPPRICE', 'TA_ULTOSC', 'TA_VAR', 'TA_WCLPRICE', 'TA_WILLR', 'TA_WMA', 'TC_FixedA', 'TC_FixedA2015', 'TC_FixedA2017', 'TC_TestStub', 'TC_Zero', 'TIME', 'TIMELINE', 'TIMELINEVOL', 'TR', 'TRACE', 'TURNOVER', 'TestOrderBroker', 'TimeDelta', 'TimeDelta_timedelta', 'TimeLineList', 'TimeLineRecord', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'UTCOffset', 'VALUE', 'VAR', 'VARP', 'VIGOR', 'VOL', 'WARN', 'WEAVE', 'WEEK', 'WINNER', 'WITHDAY', 'WITHHALFYEAR', 'WITHHOUR', 'WITHHOUR2', 'WITHHOUR4', 'WITHKTYPE', 'WITHMIN', 'WITHMIN15', 'WITHMIN30', 'WITHMIN5', 'WITHMIN60', 'WITHMONTH', 'WITHQUARTER', 'WITHWEEK', 'WITHYEAR', 'WMA', 'YEAR', 'ZHBOND10', 'ZONGGUBEN', 'ZSCORE', 'active_device', 'add_class_logger_handler', 'atexit', 'backtest', 'batch_calculate_inds', 'bind_email', 'broker', 'broker_easytrader', 'broker_mail', 'can_upgrade', 'capture_multiprocess_all_logger', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'crtBrokerTM', 'crtOB', 'crtSEOptimal', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'current_path', 'date', 'dates_to_np', 'datetime', 'df_to_ind', 'df_to_krecords', 'dll_directory', 'extend', 'fetch_trial_license', 'find_optimal_system', 'find_optimal_system_multi', 'get_block', 'get_business_name', 'get_data_from_buffer_server', 'get_date_range', 'get_expire_date', 'get_funds_list', 'get_kdata', 'get_last_version', 'get_log_level', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'hikyuu_init', 'hku_benchmark', 'hku_catch', 'hku_check', 'hku_check_ignore', 'hku_check_throw', 'hku_debug', 'hku_debug_if', 'hku_error', 'hku_error_if', 'hku_fatal', 'hku_fatal_if', 'hku_info', 'hku_info_if', 'hku_logger', 'hku_run_ignore_exception', 'hku_to_async', 'hku_trace', 'hku_trace_if', 'hku_warn', 'hku_warn_if', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'io', 'is_valid_license', 'isinf', 'isnan', 'krecords_to_df', 'krecords_to_np', 'locale', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'parallel_run_pf', 'parallel_run_sys', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'pyind', 'register_extra_ktype', 'release_extra_ktype', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'set_log_level', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', 'spend_time', 'spot_agent_is_connected', 'spot_agent_is_running', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'sys', 'systemweights_to_df', 'systemweights_to_np', 'timedelta', 'timeline_to_df', 'timeline_to_np', 'timeout', 'toPriceList', 'traceback', 'trade', 'trades_to_df', 'trades_to_np', 'translist_to_df', 'translist_to_np', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'with_trace']
660
+ __all__ = ['ABS', 'ACOS', 'AD', 'ADVANCE', 'AF_EqualWeight', 'AF_FixedAmount', 'AF_FixedWeight', 'AF_FixedWeightList', 'AF_MultiFactor', 'AGG_COUNT', 'AGG_FUNC', 'AGG_MAD', 'AGG_MAX', 'AGG_MEAN', 'AGG_MEDIAN', 'AGG_MIN', 'AGG_PROD', 'AGG_QUANTILE', 'AGG_STD', 'AGG_SUM', 'AGG_VAR', 'ALIGN', 'AMA', 'AMO', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSLASTCOUNT', 'BARSSINCE', 'BARSSINCEN', 'BASE_DIR', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CAPITAL', 'CEILING', 'CLOSE', 'CN_Bool', 'CN_OPLine', 'CONST', 'CONTEXT', 'CONTEXT_K', 'CORR', 'COS', 'COST', 'COUNT', 'CROSS', 'CVAL', 'CYCLE', 'C_AMO', 'C_CLOSE', 'C_HIGH', 'C_KDATA', 'C_LOW', 'C_OPEN', 'C_VOL', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'DatetimeList_to_df', 'DatetimeList_to_np', 'Datetime_date', 'Datetime_datetime', 'Days', 'EMA', 'ERROR', 'EVERY', 'EV_Bool', 'EV_TwoLine', 'EXIST', 'EXP', 'EasyTraderOrderBroker', 'EnvironmentBase', 'FATAL', 'FILTER', 'FINANCE', 'FLOOR', 'FundsRecord', 'GROUP_COUNT', 'GROUP_FUNC', 'GROUP_MAX', 'GROUP_MEAN', 'GROUP_MIN', 'GROUP_PROD', 'GROUP_SUM', 'HHV', 'HHVBARS', 'HIGH', 'HKUCheckError', 'HKUException', 'HOUR', 'HSL', 'Hours', 'IC', 'ICIR', 'IF', 'INBLOCK', 'INDEXA', 'INDEXADV', 'INDEXC', 'INDEXDEC', 'INDEXH', 'INDEXL', 'INDEXO', 'INDEXV', 'INFO', 'INSUM', 'INTPART', 'IR', 'ISINF', 'ISINFA', 'ISLASTBAR', 'ISNA', 'IndParam', 'Indicator', 'IndicatorImp', 'JUMPDOWN', 'JUMPUP', 'KALMAN', 'KDATA', 'KDATA_PART', 'KDJ', 'KData', 'KDataDriver', 'KDataToClickHouseImporter', 'KDataToHdf5Importer', 'KDataToMySQLImporter', 'KRecord', 'KRecordList', 'LAST', 'LASTVALUE', 'LIUTONGPAN', 'LLV', 'LLVBARS', 'LN', 'LOG', 'LOG_LEVEL', 'LONGCROSS', 'LOW', 'LoanRecord', 'LoggingContext', 'MA', 'MACD', 'MAX', 'MDD', 'MF_EqualWeight', 'MF_ICIRWeight', 'MF_ICWeight', 'MF_Weight', 'MIN', 'MINUTE', 'MM_FixedCapital', 'MM_FixedCapitalFunds', 'MM_FixedCount', 'MM_FixedCountTps', 'MM_FixedPercent', 'MM_FixedRisk', 'MM_FixedUnits', 'MM_Nothing', 'MM_WilliamsFixedRisk', 'MOD', 'MONTH', 'MRR', 'MailOrderBroker', 'MarketInfo', 'Microseconds', 'Milliseconds', 'Minutes', 'MoneyManagerBase', 'MultiFactorBase', 'NDAY', 'NORM_MinMax', 'NORM_NOTHING', 'NORM_Quantile', 'NORM_Quantile_Uniform', 'NORM_Zscore', 'NOT', 'NormalizeBase', 'OFF', 'OPEN', 'OrderBrokerBase', 'OrderBrokerWrap', 'PF_Simple', 'PF_WithoutAF', 'PG_FixedHoldDays', 'PG_FixedPercent', 'PG_NoGoal', 'POS', 'POW', 'PRICELIST', 'Parameter', 'Parameter_items', 'Parameter_iter', 'Parameter_keys', 'Parameter_to_dict', 'Path', 'Performance', 'Performance_to_df', 'Portfolio', 'PositionRecord', 'PositionRecordList', 'ProfitGoalBase', 'QUANTILE_TRUNC', 'Query', 'RANK', 'RECOVER_BACKWARD', 'RECOVER_EQUAL_BACKWARD', 'RECOVER_EQUAL_FORWARD', 'RECOVER_FORWARD', 'REF', 'REFX', 'REPLACE', 'RESULT', 'REVERSE', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'SAFTYLOSS', 'SCFilter_AmountLimit', 'SCFilter_Group', 'SCFilter_IgnoreNan', 'SCFilter_LessOrEqualValue', 'SCFilter_Price', 'SCFilter_TopN', 'SE_EvaluateOptimal', 'SE_Fixed', 'SE_MaxFundsOptimal', 'SE_MultiFactor', 'SE_MultiFactor2', 'SE_PerformanceOptimal', 'SE_Signal', 'SGN', 'SG_Add', 'SG_AllwaysBuy', 'SG_And', 'SG_Band', 'SG_Bool', 'SG_Buy', 'SG_Cross', 'SG_CrossGold', 'SG_Cycle', 'SG_Div', 'SG_Flex', 'SG_Mul', 'SG_OneSide', 'SG_Or', 'SG_Sell', 'SG_Single', 'SG_Single2', 'SG_Sub', 'SIN', 'SLICE', 'SLOPE', 'SMA', 'SPEARMAN', 'SP_FixedPercent', 'SP_FixedValue', 'SP_LogNormal', 'SP_Normal', 'SP_TruncNormal', 'SP_Uniform', 'SQRT', 'STD', 'STDEV', 'STDP', 'ST_FixedPercent', 'ST_Indicator', 'ST_Saftyloss', 'SUM', 'SUMBARS', 'SYS_Simple', 'SYS_WalkForward', 'ScoreRecord', 'ScoreRecordList', 'ScoresFilterBase', 'Seconds', 'SelectorBase', 'SignalBase', 'SlippageBase', 'SpotRecord', 'Stock', 'StockManager', 'StockTypeInfo', 'StockWeight', 'StockWeightList', 'StoplossBase', 'Strategy', 'StrategyContext', 'System', 'SystemPart', 'SystemWeight', 'SystemWeightList', 'TAN', 'TA_ACCBANDS', 'TA_ACOS', 'TA_AD', 'TA_ADD', 'TA_ADOSC', 'TA_ADX', 'TA_ADXR', 'TA_APO', 'TA_AROON', 'TA_AROONOSC', 'TA_ASIN', 'TA_ATAN', 'TA_ATR', 'TA_AVGDEV', 'TA_AVGPRICE', 'TA_BBANDS', 'TA_BETA', 'TA_BOP', 'TA_CCI', 'TA_CDL2CROWS', 'TA_CDL3BLACKCROWS', 'TA_CDL3INSIDE', 'TA_CDL3LINESTRIKE', 'TA_CDL3OUTSIDE', 'TA_CDL3STARSINSOUTH', 'TA_CDL3WHITESOLDIERS', 'TA_CDLABANDONEDBABY', 'TA_CDLADVANCEBLOCK', 'TA_CDLBELTHOLD', 'TA_CDLBREAKAWAY', 'TA_CDLCLOSINGMARUBOZU', 'TA_CDLCONCEALBABYSWALL', 'TA_CDLCOUNTERATTACK', 'TA_CDLDARKCLOUDCOVER', 'TA_CDLDOJI', 'TA_CDLDOJISTAR', 'TA_CDLDRAGONFLYDOJI', 'TA_CDLENGULFING', 'TA_CDLEVENINGDOJISTAR', 'TA_CDLEVENINGSTAR', 'TA_CDLGAPSIDESIDEWHITE', 'TA_CDLGRAVESTONEDOJI', 'TA_CDLHAMMER', 'TA_CDLHANGINGMAN', 'TA_CDLHARAMI', 'TA_CDLHARAMICROSS', 'TA_CDLHIGHWAVE', 'TA_CDLHIKKAKE', 'TA_CDLHIKKAKEMOD', 'TA_CDLHOMINGPIGEON', 'TA_CDLIDENTICAL3CROWS', 'TA_CDLINNECK', 'TA_CDLINVERTEDHAMMER', 'TA_CDLKICKING', 'TA_CDLKICKINGBYLENGTH', 'TA_CDLLADDERBOTTOM', 'TA_CDLLONGLEGGEDDOJI', 'TA_CDLLONGLINE', 'TA_CDLMARUBOZU', 'TA_CDLMATCHINGLOW', 'TA_CDLMATHOLD', 'TA_CDLMORNINGDOJISTAR', 'TA_CDLMORNINGSTAR', 'TA_CDLONNECK', 'TA_CDLPIERCING', 'TA_CDLRICKSHAWMAN', 'TA_CDLRISEFALL3METHODS', 'TA_CDLSEPARATINGLINES', 'TA_CDLSHOOTINGSTAR', 'TA_CDLSHORTLINE', 'TA_CDLSPINNINGTOP', 'TA_CDLSTALLEDPATTERN', 'TA_CDLSTICKSANDWICH', 'TA_CDLTAKURI', 'TA_CDLTASUKIGAP', 'TA_CDLTHRUSTING', 'TA_CDLTRISTAR', 'TA_CDLUNIQUE3RIVER', 'TA_CDLUPSIDEGAP2CROWS', 'TA_CDLXSIDEGAP3METHODS', 'TA_CEIL', 'TA_CMO', 'TA_CORREL', 'TA_COS', 'TA_COSH', 'TA_DEMA', 'TA_DIV', 'TA_DX', 'TA_EMA', 'TA_EXP', 'TA_FLOOR', 'TA_HT_DCPERIOD', 'TA_HT_DCPHASE', 'TA_HT_PHASOR', 'TA_HT_SINE', 'TA_HT_TRENDLINE', 'TA_HT_TRENDMODE', 'TA_IMI', 'TA_KAMA', 'TA_LINEARREG', 'TA_LINEARREG_ANGLE', 'TA_LINEARREG_INTERCEPT', 'TA_LINEARREG_SLOPE', 'TA_LN', 'TA_LOG10', 'TA_MA', 'TA_MACD', 'TA_MACDEXT', 'TA_MACDFIX', 'TA_MAMA', 'TA_MAVP', 'TA_MAX', 'TA_MAXINDEX', 'TA_MEDPRICE', 'TA_MFI', 'TA_MIDPOINT', 'TA_MIDPRICE', 'TA_MIN', 'TA_MININDEX', 'TA_MINMAX', 'TA_MINMAXINDEX', 'TA_MINUS_DI', 'TA_MINUS_DM', 'TA_MOM', 'TA_MULT', 'TA_NATR', 'TA_OBV', 'TA_PLUS_DI', 'TA_PLUS_DM', 'TA_PPO', 'TA_ROC', 'TA_ROCP', 'TA_ROCR', 'TA_ROCR100', 'TA_RSI', 'TA_SAR', 'TA_SAREXT', 'TA_SIN', 'TA_SINH', 'TA_SMA', 'TA_SQRT', 'TA_STDDEV', 'TA_STOCH', 'TA_STOCHF', 'TA_STOCHRSI', 'TA_SUB', 'TA_SUM', 'TA_T3', 'TA_TAN', 'TA_TANH', 'TA_TEMA', 'TA_TRANGE', 'TA_TRIMA', 'TA_TRIX', 'TA_TSF', 'TA_TYPPRICE', 'TA_ULTOSC', 'TA_VAR', 'TA_WCLPRICE', 'TA_WILLR', 'TA_WMA', 'TC_FixedA', 'TC_FixedA2015', 'TC_FixedA2017', 'TC_TestStub', 'TC_Zero', 'TIME', 'TIMELINE', 'TIMELINEVOL', 'TR', 'TRACE', 'TURNOVER', 'TestOrderBroker', 'TimeDelta', 'TimeDelta_timedelta', 'TimeLineList', 'TimeLineRecord', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'UTCOffset', 'VALUE', 'VAR', 'VARP', 'VIGOR', 'VOL', 'WARN', 'WEAVE', 'WEEK', 'WINNER', 'WITHDAY', 'WITHHALFYEAR', 'WITHHOUR', 'WITHHOUR2', 'WITHHOUR4', 'WITHKTYPE', 'WITHMIN', 'WITHMIN15', 'WITHMIN30', 'WITHMIN5', 'WITHMIN60', 'WITHMONTH', 'WITHQUARTER', 'WITHWEEK', 'WITHYEAR', 'WMA', 'YEAR', 'ZHBOND10', 'ZONGGUBEN', 'ZSCORE', 'active_device', 'add_class_logger_handler', 'atexit', 'backtest', 'batch_calculate_inds', 'bind_email', 'broker', 'broker_easytrader', 'broker_mail', 'can_upgrade', 'capture_multiprocess_all_logger', 'check_data', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'crtBrokerTM', 'crtOB', 'crtSEOptimal', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'current_path', 'date', 'dates_to_np', 'datetime', 'df_to_ind', 'df_to_krecords', 'dll_directory', 'extend', 'fetch_trial_license', 'find_optimal_system', 'find_optimal_system_multi', 'get_block', 'get_business_name', 'get_data_from_buffer_server', 'get_date_range', 'get_expire_date', 'get_funds_list', 'get_kdata', 'get_latest_version_info', 'get_log_level', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'hikyuu_init', 'hku_benchmark', 'hku_catch', 'hku_check', 'hku_check_ignore', 'hku_check_throw', 'hku_debug', 'hku_debug_if', 'hku_error', 'hku_error_if', 'hku_fatal', 'hku_fatal_if', 'hku_info', 'hku_info_if', 'hku_logger', 'hku_run_ignore_exception', 'hku_to_async', 'hku_trace', 'hku_trace_if', 'hku_warn', 'hku_warn_if', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'io', 'is_valid_license', 'isinf', 'isnan', 'krecords_to_df', 'krecords_to_np', 'locale', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'parallel_run_pf', 'parallel_run_sys', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'pyind', 'register_extra_ktype', 'release_extra_ktype', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'set_log_level', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', 'spend_time', 'spot_agent_is_connected', 'spot_agent_is_running', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'sys', 'systemweights_to_df', 'systemweights_to_np', 'timedelta', 'timeline_to_df', 'timeline_to_np', 'timeout', 'toPriceList', 'traceback', 'trade', 'trades_to_df', 'trades_to_np', 'translist_to_df', 'translist_to_np', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'with_trace']
657
661
  AMO: hikyuu.cpp.core310.Indicator # value = Indicator{...
658
662
  BASE_DIR: str = 'D:\\workspace\\hikyuu\\hikyuu'
659
663
  CLOSE: hikyuu.cpp.core310.Indicator # value = Indicator{...
@@ -26,7 +26,9 @@ from hikyuu.cpp.core310 import Indicator
26
26
  from hikyuu.cpp.core310 import IndicatorImp
27
27
  from hikyuu.cpp.core310 import KData
28
28
  from hikyuu.cpp.core310 import KDataDriver
29
+ from hikyuu.cpp.core310 import KDataToClickHouseImporter
29
30
  from hikyuu.cpp.core310 import KDataToHdf5Importer
31
+ from hikyuu.cpp.core310 import KDataToMySQLImporter
30
32
  from hikyuu.cpp.core310 import KRecord
31
33
  from hikyuu.cpp.core310 import KRecordList
32
34
  from hikyuu.cpp.core310 import LOG_LEVEL
@@ -77,6 +79,7 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
77
79
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AD
78
80
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ADVANCE
79
81
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_EqualWeight
82
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_FixedAmount
80
83
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_FixedWeight
81
84
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_FixedWeightList
82
85
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import AF_MultiFactor
@@ -180,10 +183,10 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
180
183
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KALMAN
181
184
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KDATA_PART
182
185
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LAST
183
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE
184
186
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
185
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN as CAPITAL
187
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE
186
188
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN
189
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN as CAPITAL
187
190
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLV
188
191
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLVBARS
189
192
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LN
@@ -294,8 +297,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
294
297
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SP_TruncNormal
295
298
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SP_Uniform
296
299
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import SQRT
297
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV
298
300
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV as STD
301
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDEV
299
302
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import STDP
300
303
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ST_FixedPercent
301
304
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ST_Indicator
@@ -511,6 +514,7 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
511
514
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import batch_calculate_inds
512
515
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import bind_email
513
516
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import can_upgrade
517
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import check_data
514
518
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import close_ostream_to_python
515
519
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import close_spend_time
516
520
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import combinate_ind
@@ -532,7 +536,7 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
532
536
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_expire_date
533
537
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_funds_list
534
538
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_kdata
535
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_last_version
539
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_latest_version_info
536
540
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_log_level
537
541
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_spot_from_buffer_server
538
542
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import get_stock
@@ -617,8 +621,8 @@ from hikyuu.util.mylog import class_logger
617
621
  from hikyuu.util.mylog import hku_benchmark
618
622
  from hikyuu.util.mylog import hku_debug as hku_trace
619
623
  from hikyuu.util.mylog import hku_debug
620
- from hikyuu.util.mylog import hku_debug_if
621
624
  from hikyuu.util.mylog import hku_debug_if as hku_trace_if
625
+ from hikyuu.util.mylog import hku_debug_if
622
626
  from hikyuu.util.mylog import hku_error
623
627
  from hikyuu.util.mylog import hku_error_if
624
628
  from hikyuu.util.mylog import hku_fatal
@@ -643,7 +647,7 @@ from pathlib import Path
643
647
  import pickle as pickle
644
648
  import sys as sys
645
649
  import traceback as traceback
646
- __all__ = ['ABS', 'ACOS', 'AD', 'ADVANCE', 'AF_EqualWeight', 'AF_FixedWeight', 'AF_FixedWeightList', 'AF_MultiFactor', 'AGG_COUNT', 'AGG_FUNC', 'AGG_MAD', 'AGG_MAX', 'AGG_MEAN', 'AGG_MEDIAN', 'AGG_MIN', 'AGG_PROD', 'AGG_QUANTILE', 'AGG_STD', 'AGG_SUM', 'AGG_VAR', 'ALIGN', 'AMA', 'AMO', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSLASTCOUNT', 'BARSSINCE', 'BARSSINCEN', 'BASE_DIR', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CAPITAL', 'CEILING', 'CLOSE', 'CN_Bool', 'CN_OPLine', 'CONST', 'CONTEXT', 'CONTEXT_K', 'CORR', 'COS', 'COST', 'COUNT', 'CROSS', 'CVAL', 'CYCLE', 'C_AMO', 'C_CLOSE', 'C_HIGH', 'C_KDATA', 'C_LOW', 'C_OPEN', 'C_VOL', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'DatetimeList_to_df', 'DatetimeList_to_np', 'Datetime_date', 'Datetime_datetime', 'Days', 'EMA', 'ERROR', 'EVERY', 'EV_Bool', 'EV_TwoLine', 'EXIST', 'EXP', 'EnvironmentBase', 'FATAL', 'FILTER', 'FINANCE', 'FLOOR', 'FundsRecord', 'GROUP_COUNT', 'GROUP_FUNC', 'GROUP_MAX', 'GROUP_MEAN', 'GROUP_MIN', 'GROUP_PROD', 'GROUP_SUM', 'HHV', 'HHVBARS', 'HIGH', 'HKUCheckError', 'HKUException', 'HOUR', 'HSL', 'Hours', 'IC', 'ICIR', 'IF', 'INBLOCK', 'INDEXA', 'INDEXADV', 'INDEXC', 'INDEXDEC', 'INDEXH', 'INDEXL', 'INDEXO', 'INDEXV', 'INFO', 'INSUM', 'INTPART', 'IR', 'ISINF', 'ISINFA', 'ISLASTBAR', 'ISNA', 'IndParam', 'Indicator', 'IndicatorImp', 'JUMPDOWN', 'JUMPUP', 'KALMAN', 'KDATA', 'KDATA_PART', 'KDJ', 'KData', 'KDataDriver', 'KDataToHdf5Importer', 'KRecord', 'KRecordList', 'LAST', 'LASTVALUE', 'LIUTONGPAN', 'LLV', 'LLVBARS', 'LN', 'LOG', 'LOG_LEVEL', 'LONGCROSS', 'LOW', 'LoanRecord', 'LoggingContext', 'MA', 'MACD', 'MAX', 'MDD', 'MF_EqualWeight', 'MF_ICIRWeight', 'MF_ICWeight', 'MF_Weight', 'MIN', 'MINUTE', 'MM_FixedCapital', 'MM_FixedCapitalFunds', 'MM_FixedCount', 'MM_FixedCountTps', 'MM_FixedPercent', 'MM_FixedRisk', 'MM_FixedUnits', 'MM_Nothing', 'MM_WilliamsFixedRisk', 'MOD', 'MONTH', 'MRR', 'MarketInfo', 'Microseconds', 'Milliseconds', 'Minutes', 'MoneyManagerBase', 'MultiFactorBase', 'NDAY', 'NORM_MinMax', 'NORM_NOTHING', 'NORM_Quantile', 'NORM_Quantile_Uniform', 'NORM_Zscore', 'NOT', 'NormalizeBase', 'OFF', 'OPEN', 'OrderBrokerBase', 'PF_Simple', 'PF_WithoutAF', 'PG_FixedHoldDays', 'PG_FixedPercent', 'PG_NoGoal', 'POS', 'POW', 'PRICELIST', 'Parameter', 'Parameter_items', 'Parameter_iter', 'Parameter_keys', 'Parameter_to_dict', 'Path', 'Performance', 'Performance_to_df', 'Portfolio', 'PositionRecord', 'PositionRecordList', 'ProfitGoalBase', 'QUANTILE_TRUNC', 'Query', 'RANK', 'RECOVER_BACKWARD', 'RECOVER_EQUAL_BACKWARD', 'RECOVER_EQUAL_FORWARD', 'RECOVER_FORWARD', 'REF', 'REFX', 'REPLACE', 'RESULT', 'REVERSE', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'SAFTYLOSS', 'SCFilter_AmountLimit', 'SCFilter_Group', 'SCFilter_IgnoreNan', 'SCFilter_LessOrEqualValue', 'SCFilter_Price', 'SCFilter_TopN', 'SE_EvaluateOptimal', 'SE_Fixed', 'SE_MaxFundsOptimal', 'SE_MultiFactor', 'SE_MultiFactor2', 'SE_PerformanceOptimal', 'SE_Signal', 'SGN', 'SG_Add', 'SG_AllwaysBuy', 'SG_And', 'SG_Band', 'SG_Bool', 'SG_Buy', 'SG_Cross', 'SG_CrossGold', 'SG_Cycle', 'SG_Div', 'SG_Flex', 'SG_Mul', 'SG_OneSide', 'SG_Or', 'SG_Sell', 'SG_Single', 'SG_Single2', 'SG_Sub', 'SIN', 'SLICE', 'SLOPE', 'SMA', 'SPEARMAN', 'SP_FixedPercent', 'SP_FixedValue', 'SP_LogNormal', 'SP_Normal', 'SP_TruncNormal', 'SP_Uniform', 'SQRT', 'STD', 'STDEV', 'STDP', 'ST_FixedPercent', 'ST_Indicator', 'ST_Saftyloss', 'SUM', 'SUMBARS', 'SYS_Simple', 'SYS_WalkForward', 'ScoreRecord', 'ScoreRecordList', 'ScoresFilterBase', 'Seconds', 'SelectorBase', 'SignalBase', 'SlippageBase', 'SpotRecord', 'Stock', 'StockManager', 'StockTypeInfo', 'StockWeight', 'StockWeightList', 'StoplossBase', 'Strategy', 'StrategyContext', 'System', 'SystemPart', 'SystemWeight', 'SystemWeightList', 'TAN', 'TA_ACCBANDS', 'TA_ACOS', 'TA_AD', 'TA_ADD', 'TA_ADOSC', 'TA_ADX', 'TA_ADXR', 'TA_APO', 'TA_AROON', 'TA_AROONOSC', 'TA_ASIN', 'TA_ATAN', 'TA_ATR', 'TA_AVGDEV', 'TA_AVGPRICE', 'TA_BBANDS', 'TA_BETA', 'TA_BOP', 'TA_CCI', 'TA_CDL2CROWS', 'TA_CDL3BLACKCROWS', 'TA_CDL3INSIDE', 'TA_CDL3LINESTRIKE', 'TA_CDL3OUTSIDE', 'TA_CDL3STARSINSOUTH', 'TA_CDL3WHITESOLDIERS', 'TA_CDLABANDONEDBABY', 'TA_CDLADVANCEBLOCK', 'TA_CDLBELTHOLD', 'TA_CDLBREAKAWAY', 'TA_CDLCLOSINGMARUBOZU', 'TA_CDLCONCEALBABYSWALL', 'TA_CDLCOUNTERATTACK', 'TA_CDLDARKCLOUDCOVER', 'TA_CDLDOJI', 'TA_CDLDOJISTAR', 'TA_CDLDRAGONFLYDOJI', 'TA_CDLENGULFING', 'TA_CDLEVENINGDOJISTAR', 'TA_CDLEVENINGSTAR', 'TA_CDLGAPSIDESIDEWHITE', 'TA_CDLGRAVESTONEDOJI', 'TA_CDLHAMMER', 'TA_CDLHANGINGMAN', 'TA_CDLHARAMI', 'TA_CDLHARAMICROSS', 'TA_CDLHIGHWAVE', 'TA_CDLHIKKAKE', 'TA_CDLHIKKAKEMOD', 'TA_CDLHOMINGPIGEON', 'TA_CDLIDENTICAL3CROWS', 'TA_CDLINNECK', 'TA_CDLINVERTEDHAMMER', 'TA_CDLKICKING', 'TA_CDLKICKINGBYLENGTH', 'TA_CDLLADDERBOTTOM', 'TA_CDLLONGLEGGEDDOJI', 'TA_CDLLONGLINE', 'TA_CDLMARUBOZU', 'TA_CDLMATCHINGLOW', 'TA_CDLMATHOLD', 'TA_CDLMORNINGDOJISTAR', 'TA_CDLMORNINGSTAR', 'TA_CDLONNECK', 'TA_CDLPIERCING', 'TA_CDLRICKSHAWMAN', 'TA_CDLRISEFALL3METHODS', 'TA_CDLSEPARATINGLINES', 'TA_CDLSHOOTINGSTAR', 'TA_CDLSHORTLINE', 'TA_CDLSPINNINGTOP', 'TA_CDLSTALLEDPATTERN', 'TA_CDLSTICKSANDWICH', 'TA_CDLTAKURI', 'TA_CDLTASUKIGAP', 'TA_CDLTHRUSTING', 'TA_CDLTRISTAR', 'TA_CDLUNIQUE3RIVER', 'TA_CDLUPSIDEGAP2CROWS', 'TA_CDLXSIDEGAP3METHODS', 'TA_CEIL', 'TA_CMO', 'TA_CORREL', 'TA_COS', 'TA_COSH', 'TA_DEMA', 'TA_DIV', 'TA_DX', 'TA_EMA', 'TA_EXP', 'TA_FLOOR', 'TA_HT_DCPERIOD', 'TA_HT_DCPHASE', 'TA_HT_PHASOR', 'TA_HT_SINE', 'TA_HT_TRENDLINE', 'TA_HT_TRENDMODE', 'TA_IMI', 'TA_KAMA', 'TA_LINEARREG', 'TA_LINEARREG_ANGLE', 'TA_LINEARREG_INTERCEPT', 'TA_LINEARREG_SLOPE', 'TA_LN', 'TA_LOG10', 'TA_MA', 'TA_MACD', 'TA_MACDEXT', 'TA_MACDFIX', 'TA_MAMA', 'TA_MAVP', 'TA_MAX', 'TA_MAXINDEX', 'TA_MEDPRICE', 'TA_MFI', 'TA_MIDPOINT', 'TA_MIDPRICE', 'TA_MIN', 'TA_MININDEX', 'TA_MINMAX', 'TA_MINMAXINDEX', 'TA_MINUS_DI', 'TA_MINUS_DM', 'TA_MOM', 'TA_MULT', 'TA_NATR', 'TA_OBV', 'TA_PLUS_DI', 'TA_PLUS_DM', 'TA_PPO', 'TA_ROC', 'TA_ROCP', 'TA_ROCR', 'TA_ROCR100', 'TA_RSI', 'TA_SAR', 'TA_SAREXT', 'TA_SIN', 'TA_SINH', 'TA_SMA', 'TA_SQRT', 'TA_STDDEV', 'TA_STOCH', 'TA_STOCHF', 'TA_STOCHRSI', 'TA_SUB', 'TA_SUM', 'TA_T3', 'TA_TAN', 'TA_TANH', 'TA_TEMA', 'TA_TRANGE', 'TA_TRIMA', 'TA_TRIX', 'TA_TSF', 'TA_TYPPRICE', 'TA_ULTOSC', 'TA_VAR', 'TA_WCLPRICE', 'TA_WILLR', 'TA_WMA', 'TC_FixedA', 'TC_FixedA2015', 'TC_FixedA2017', 'TC_TestStub', 'TC_Zero', 'TIME', 'TIMELINE', 'TIMELINEVOL', 'TR', 'TRACE', 'TURNOVER', 'TimeDelta', 'TimeDelta_timedelta', 'TimeLineList', 'TimeLineRecord', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'UTCOffset', 'VALUE', 'VAR', 'VARP', 'VIGOR', 'VOL', 'WARN', 'WEAVE', 'WEEK', 'WINNER', 'WITHDAY', 'WITHHALFYEAR', 'WITHHOUR', 'WITHHOUR2', 'WITHHOUR4', 'WITHKTYPE', 'WITHMIN', 'WITHMIN15', 'WITHMIN30', 'WITHMIN5', 'WITHMIN60', 'WITHMONTH', 'WITHQUARTER', 'WITHWEEK', 'WITHYEAR', 'WMA', 'YEAR', 'ZHBOND10', 'ZONGGUBEN', 'ZSCORE', 'active_device', 'add_class_logger_handler', 'atexit', 'backtest', 'batch_calculate_inds', 'bind_email', 'can_upgrade', 'capture_multiprocess_all_logger', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'crtBrokerTM', 'crtSEOptimal', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'current_path', 'date', 'dates_to_np', 'datetime', 'df_to_ind', 'df_to_krecords', 'dll_directory', 'extend', 'fetch_trial_license', 'find_optimal_system', 'find_optimal_system_multi', 'get_block', 'get_business_name', 'get_data_from_buffer_server', 'get_date_range', 'get_expire_date', 'get_funds_list', 'get_kdata', 'get_last_version', 'get_log_level', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'hikyuu_init', 'hku_benchmark', 'hku_catch', 'hku_check', 'hku_check_ignore', 'hku_check_throw', 'hku_debug', 'hku_debug_if', 'hku_error', 'hku_error_if', 'hku_fatal', 'hku_fatal_if', 'hku_info', 'hku_info_if', 'hku_logger', 'hku_run_ignore_exception', 'hku_to_async', 'hku_trace', 'hku_trace_if', 'hku_warn', 'hku_warn_if', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'io', 'is_valid_license', 'isinf', 'isnan', 'krecords_to_df', 'krecords_to_np', 'locale', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'parallel_run_pf', 'parallel_run_sys', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'pyind', 'register_extra_ktype', 'release_extra_ktype', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'set_log_level', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', 'spend_time', 'spot_agent_is_connected', 'spot_agent_is_running', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'sys', 'systemweights_to_df', 'systemweights_to_np', 'timedelta', 'timeline_to_df', 'timeline_to_np', 'timeout', 'toPriceList', 'traceback', 'trades_to_df', 'trades_to_np', 'translist_to_df', 'translist_to_np', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'with_trace']
650
+ __all__ = ['ABS', 'ACOS', 'AD', 'ADVANCE', 'AF_EqualWeight', 'AF_FixedAmount', 'AF_FixedWeight', 'AF_FixedWeightList', 'AF_MultiFactor', 'AGG_COUNT', 'AGG_FUNC', 'AGG_MAD', 'AGG_MAX', 'AGG_MEAN', 'AGG_MEDIAN', 'AGG_MIN', 'AGG_PROD', 'AGG_QUANTILE', 'AGG_STD', 'AGG_SUM', 'AGG_VAR', 'ALIGN', 'AMA', 'AMO', 'ASIN', 'ATAN', 'ATR', 'AVEDEV', 'AllocateFundsBase', 'BACKSET', 'BARSCOUNT', 'BARSLAST', 'BARSLASTCOUNT', 'BARSSINCE', 'BARSSINCEN', 'BASE_DIR', 'BETWEEN', 'BLOCKSETNUM', 'BUSINESS', 'Block', 'BlockInfoDriver', 'BorrowRecord', 'BrokerPositionRecord', 'CAPITAL', 'CEILING', 'CLOSE', 'CN_Bool', 'CN_OPLine', 'CONST', 'CONTEXT', 'CONTEXT_K', 'CORR', 'COS', 'COST', 'COUNT', 'CROSS', 'CVAL', 'CYCLE', 'C_AMO', 'C_CLOSE', 'C_HIGH', 'C_KDATA', 'C_LOW', 'C_OPEN', 'C_VOL', 'ConditionBase', 'Constant', 'CostRecord', 'DATE', 'DAY', 'DEBUG', 'DECLINE', 'DEVSQ', 'DIFF', 'DISCARD', 'DMA', 'DOWNNDAY', 'DROPNA', 'DataDriverFactory', 'Datetime', 'DatetimeList', 'DatetimeList_to_df', 'DatetimeList_to_np', 'Datetime_date', 'Datetime_datetime', 'Days', 'EMA', 'ERROR', 'EVERY', 'EV_Bool', 'EV_TwoLine', 'EXIST', 'EXP', 'EnvironmentBase', 'FATAL', 'FILTER', 'FINANCE', 'FLOOR', 'FundsRecord', 'GROUP_COUNT', 'GROUP_FUNC', 'GROUP_MAX', 'GROUP_MEAN', 'GROUP_MIN', 'GROUP_PROD', 'GROUP_SUM', 'HHV', 'HHVBARS', 'HIGH', 'HKUCheckError', 'HKUException', 'HOUR', 'HSL', 'Hours', 'IC', 'ICIR', 'IF', 'INBLOCK', 'INDEXA', 'INDEXADV', 'INDEXC', 'INDEXDEC', 'INDEXH', 'INDEXL', 'INDEXO', 'INDEXV', 'INFO', 'INSUM', 'INTPART', 'IR', 'ISINF', 'ISINFA', 'ISLASTBAR', 'ISNA', 'IndParam', 'Indicator', 'IndicatorImp', 'JUMPDOWN', 'JUMPUP', 'KALMAN', 'KDATA', 'KDATA_PART', 'KDJ', 'KData', 'KDataDriver', 'KDataToClickHouseImporter', 'KDataToHdf5Importer', 'KDataToMySQLImporter', 'KRecord', 'KRecordList', 'LAST', 'LASTVALUE', 'LIUTONGPAN', 'LLV', 'LLVBARS', 'LN', 'LOG', 'LOG_LEVEL', 'LONGCROSS', 'LOW', 'LoanRecord', 'LoggingContext', 'MA', 'MACD', 'MAX', 'MDD', 'MF_EqualWeight', 'MF_ICIRWeight', 'MF_ICWeight', 'MF_Weight', 'MIN', 'MINUTE', 'MM_FixedCapital', 'MM_FixedCapitalFunds', 'MM_FixedCount', 'MM_FixedCountTps', 'MM_FixedPercent', 'MM_FixedRisk', 'MM_FixedUnits', 'MM_Nothing', 'MM_WilliamsFixedRisk', 'MOD', 'MONTH', 'MRR', 'MarketInfo', 'Microseconds', 'Milliseconds', 'Minutes', 'MoneyManagerBase', 'MultiFactorBase', 'NDAY', 'NORM_MinMax', 'NORM_NOTHING', 'NORM_Quantile', 'NORM_Quantile_Uniform', 'NORM_Zscore', 'NOT', 'NormalizeBase', 'OFF', 'OPEN', 'OrderBrokerBase', 'PF_Simple', 'PF_WithoutAF', 'PG_FixedHoldDays', 'PG_FixedPercent', 'PG_NoGoal', 'POS', 'POW', 'PRICELIST', 'Parameter', 'Parameter_items', 'Parameter_iter', 'Parameter_keys', 'Parameter_to_dict', 'Path', 'Performance', 'Performance_to_df', 'Portfolio', 'PositionRecord', 'PositionRecordList', 'ProfitGoalBase', 'QUANTILE_TRUNC', 'Query', 'RANK', 'RECOVER_BACKWARD', 'RECOVER_EQUAL_BACKWARD', 'RECOVER_EQUAL_FORWARD', 'RECOVER_FORWARD', 'REF', 'REFX', 'REPLACE', 'RESULT', 'REVERSE', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'SAFTYLOSS', 'SCFilter_AmountLimit', 'SCFilter_Group', 'SCFilter_IgnoreNan', 'SCFilter_LessOrEqualValue', 'SCFilter_Price', 'SCFilter_TopN', 'SE_EvaluateOptimal', 'SE_Fixed', 'SE_MaxFundsOptimal', 'SE_MultiFactor', 'SE_MultiFactor2', 'SE_PerformanceOptimal', 'SE_Signal', 'SGN', 'SG_Add', 'SG_AllwaysBuy', 'SG_And', 'SG_Band', 'SG_Bool', 'SG_Buy', 'SG_Cross', 'SG_CrossGold', 'SG_Cycle', 'SG_Div', 'SG_Flex', 'SG_Mul', 'SG_OneSide', 'SG_Or', 'SG_Sell', 'SG_Single', 'SG_Single2', 'SG_Sub', 'SIN', 'SLICE', 'SLOPE', 'SMA', 'SPEARMAN', 'SP_FixedPercent', 'SP_FixedValue', 'SP_LogNormal', 'SP_Normal', 'SP_TruncNormal', 'SP_Uniform', 'SQRT', 'STD', 'STDEV', 'STDP', 'ST_FixedPercent', 'ST_Indicator', 'ST_Saftyloss', 'SUM', 'SUMBARS', 'SYS_Simple', 'SYS_WalkForward', 'ScoreRecord', 'ScoreRecordList', 'ScoresFilterBase', 'Seconds', 'SelectorBase', 'SignalBase', 'SlippageBase', 'SpotRecord', 'Stock', 'StockManager', 'StockTypeInfo', 'StockWeight', 'StockWeightList', 'StoplossBase', 'Strategy', 'StrategyContext', 'System', 'SystemPart', 'SystemWeight', 'SystemWeightList', 'TAN', 'TA_ACCBANDS', 'TA_ACOS', 'TA_AD', 'TA_ADD', 'TA_ADOSC', 'TA_ADX', 'TA_ADXR', 'TA_APO', 'TA_AROON', 'TA_AROONOSC', 'TA_ASIN', 'TA_ATAN', 'TA_ATR', 'TA_AVGDEV', 'TA_AVGPRICE', 'TA_BBANDS', 'TA_BETA', 'TA_BOP', 'TA_CCI', 'TA_CDL2CROWS', 'TA_CDL3BLACKCROWS', 'TA_CDL3INSIDE', 'TA_CDL3LINESTRIKE', 'TA_CDL3OUTSIDE', 'TA_CDL3STARSINSOUTH', 'TA_CDL3WHITESOLDIERS', 'TA_CDLABANDONEDBABY', 'TA_CDLADVANCEBLOCK', 'TA_CDLBELTHOLD', 'TA_CDLBREAKAWAY', 'TA_CDLCLOSINGMARUBOZU', 'TA_CDLCONCEALBABYSWALL', 'TA_CDLCOUNTERATTACK', 'TA_CDLDARKCLOUDCOVER', 'TA_CDLDOJI', 'TA_CDLDOJISTAR', 'TA_CDLDRAGONFLYDOJI', 'TA_CDLENGULFING', 'TA_CDLEVENINGDOJISTAR', 'TA_CDLEVENINGSTAR', 'TA_CDLGAPSIDESIDEWHITE', 'TA_CDLGRAVESTONEDOJI', 'TA_CDLHAMMER', 'TA_CDLHANGINGMAN', 'TA_CDLHARAMI', 'TA_CDLHARAMICROSS', 'TA_CDLHIGHWAVE', 'TA_CDLHIKKAKE', 'TA_CDLHIKKAKEMOD', 'TA_CDLHOMINGPIGEON', 'TA_CDLIDENTICAL3CROWS', 'TA_CDLINNECK', 'TA_CDLINVERTEDHAMMER', 'TA_CDLKICKING', 'TA_CDLKICKINGBYLENGTH', 'TA_CDLLADDERBOTTOM', 'TA_CDLLONGLEGGEDDOJI', 'TA_CDLLONGLINE', 'TA_CDLMARUBOZU', 'TA_CDLMATCHINGLOW', 'TA_CDLMATHOLD', 'TA_CDLMORNINGDOJISTAR', 'TA_CDLMORNINGSTAR', 'TA_CDLONNECK', 'TA_CDLPIERCING', 'TA_CDLRICKSHAWMAN', 'TA_CDLRISEFALL3METHODS', 'TA_CDLSEPARATINGLINES', 'TA_CDLSHOOTINGSTAR', 'TA_CDLSHORTLINE', 'TA_CDLSPINNINGTOP', 'TA_CDLSTALLEDPATTERN', 'TA_CDLSTICKSANDWICH', 'TA_CDLTAKURI', 'TA_CDLTASUKIGAP', 'TA_CDLTHRUSTING', 'TA_CDLTRISTAR', 'TA_CDLUNIQUE3RIVER', 'TA_CDLUPSIDEGAP2CROWS', 'TA_CDLXSIDEGAP3METHODS', 'TA_CEIL', 'TA_CMO', 'TA_CORREL', 'TA_COS', 'TA_COSH', 'TA_DEMA', 'TA_DIV', 'TA_DX', 'TA_EMA', 'TA_EXP', 'TA_FLOOR', 'TA_HT_DCPERIOD', 'TA_HT_DCPHASE', 'TA_HT_PHASOR', 'TA_HT_SINE', 'TA_HT_TRENDLINE', 'TA_HT_TRENDMODE', 'TA_IMI', 'TA_KAMA', 'TA_LINEARREG', 'TA_LINEARREG_ANGLE', 'TA_LINEARREG_INTERCEPT', 'TA_LINEARREG_SLOPE', 'TA_LN', 'TA_LOG10', 'TA_MA', 'TA_MACD', 'TA_MACDEXT', 'TA_MACDFIX', 'TA_MAMA', 'TA_MAVP', 'TA_MAX', 'TA_MAXINDEX', 'TA_MEDPRICE', 'TA_MFI', 'TA_MIDPOINT', 'TA_MIDPRICE', 'TA_MIN', 'TA_MININDEX', 'TA_MINMAX', 'TA_MINMAXINDEX', 'TA_MINUS_DI', 'TA_MINUS_DM', 'TA_MOM', 'TA_MULT', 'TA_NATR', 'TA_OBV', 'TA_PLUS_DI', 'TA_PLUS_DM', 'TA_PPO', 'TA_ROC', 'TA_ROCP', 'TA_ROCR', 'TA_ROCR100', 'TA_RSI', 'TA_SAR', 'TA_SAREXT', 'TA_SIN', 'TA_SINH', 'TA_SMA', 'TA_SQRT', 'TA_STDDEV', 'TA_STOCH', 'TA_STOCHF', 'TA_STOCHRSI', 'TA_SUB', 'TA_SUM', 'TA_T3', 'TA_TAN', 'TA_TANH', 'TA_TEMA', 'TA_TRANGE', 'TA_TRIMA', 'TA_TRIX', 'TA_TSF', 'TA_TYPPRICE', 'TA_ULTOSC', 'TA_VAR', 'TA_WCLPRICE', 'TA_WILLR', 'TA_WMA', 'TC_FixedA', 'TC_FixedA2015', 'TC_FixedA2017', 'TC_TestStub', 'TC_Zero', 'TIME', 'TIMELINE', 'TIMELINEVOL', 'TR', 'TRACE', 'TURNOVER', 'TimeDelta', 'TimeDelta_timedelta', 'TimeLineList', 'TimeLineRecord', 'TradeCostBase', 'TradeManager', 'TradeRecord', 'TradeRecordList', 'TradeRequest', 'TransList', 'TransRecord', 'UPNDAY', 'UTCOffset', 'VALUE', 'VAR', 'VARP', 'VIGOR', 'VOL', 'WARN', 'WEAVE', 'WEEK', 'WINNER', 'WITHDAY', 'WITHHALFYEAR', 'WITHHOUR', 'WITHHOUR2', 'WITHHOUR4', 'WITHKTYPE', 'WITHMIN', 'WITHMIN15', 'WITHMIN30', 'WITHMIN5', 'WITHMIN60', 'WITHMONTH', 'WITHQUARTER', 'WITHWEEK', 'WITHYEAR', 'WMA', 'YEAR', 'ZHBOND10', 'ZONGGUBEN', 'ZSCORE', 'active_device', 'add_class_logger_handler', 'atexit', 'backtest', 'batch_calculate_inds', 'bind_email', 'can_upgrade', 'capture_multiprocess_all_logger', 'check_data', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'combinate_ind', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'crtBrokerTM', 'crtSEOptimal', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'current_path', 'date', 'dates_to_np', 'datetime', 'df_to_ind', 'df_to_krecords', 'dll_directory', 'extend', 'fetch_trial_license', 'find_optimal_system', 'find_optimal_system_multi', 'get_block', 'get_business_name', 'get_data_from_buffer_server', 'get_date_range', 'get_expire_date', 'get_funds_list', 'get_kdata', 'get_latest_version_info', 'get_log_level', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'hikyuu_init', 'hku_benchmark', 'hku_catch', 'hku_check', 'hku_check_ignore', 'hku_check_throw', 'hku_debug', 'hku_debug_if', 'hku_error', 'hku_error_if', 'hku_fatal', 'hku_fatal_if', 'hku_info', 'hku_info_if', 'hku_logger', 'hku_run_ignore_exception', 'hku_to_async', 'hku_trace', 'hku_trace_if', 'hku_warn', 'hku_warn_if', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'io', 'is_valid_license', 'isinf', 'isnan', 'krecords_to_df', 'krecords_to_np', 'locale', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'parallel_run_pf', 'parallel_run_sys', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'pyind', 'register_extra_ktype', 'release_extra_ktype', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'set_log_level', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', 'spend_time', 'spot_agent_is_connected', 'spot_agent_is_running', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'sys', 'systemweights_to_df', 'systemweights_to_np', 'timedelta', 'timeline_to_df', 'timeline_to_np', 'timeout', 'toPriceList', 'traceback', 'trades_to_df', 'trades_to_np', 'translist_to_df', 'translist_to_np', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'with_trace']
647
651
  def Performance_to_df(per):
648
652
  """
649
653
  将 Performance 统计结果转换为 DataFrame 格式
@@ -154,7 +154,9 @@ def crtSG(func, params={}, name='crtSG'):
154
154
  """
155
155
  meta_x = type(name, (SignalBase, ), {'__init__': part_init, '_clone': part_clone})
156
156
  meta_x._calculate = func
157
- return meta_x(name, params)
157
+ ret = meta_x(name, params)
158
+ globals().update(dict(_=ret))
159
+ return ret
158
160
 
159
161
 
160
162
  # ------------------------------------------------------------------
hikyuu/util/__init__.pyi CHANGED
@@ -20,8 +20,8 @@ from hikyuu.util.mylog import get_default_logger
20
20
  from hikyuu.util.mylog import hku_benchmark
21
21
  from hikyuu.util.mylog import hku_debug as hku_trace
22
22
  from hikyuu.util.mylog import hku_debug
23
- from hikyuu.util.mylog import hku_debug_if as hku_trace_if
24
23
  from hikyuu.util.mylog import hku_debug_if
24
+ from hikyuu.util.mylog import hku_debug_if as hku_trace_if
25
25
  from hikyuu.util.mylog import hku_error
26
26
  from hikyuu.util.mylog import hku_error_if
27
27
  from hikyuu.util.mylog import hku_fatal
hikyuu/util/singleton.pyi CHANGED
@@ -12,7 +12,7 @@ class SingletonType(type):
12
12
  self.name = name
13
13
 
14
14
  """
15
- _instance_lock: typing.ClassVar[_thread.lock] # value = <unlocked _thread.lock object at 0x0000024E96E151C0>
15
+ _instance_lock: typing.ClassVar[_thread.lock] # value = <unlocked _thread.lock object at 0x00000295E28AA2C0>
16
16
  @classmethod
17
17
  def __call__(cls, *args, **kwargs):
18
18
  ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hikyuu
3
- Version: 2.7.1.1
3
+ Version: 2.7.2
4
4
  Summary: Hikyuu Quant Framework for System Trading Analysis and backtester
5
5
  Home-page: http://hikyuu.org/
6
6
  Author: fasiondog
@@ -148,6 +148,10 @@ Hikyuu Quant Framework是一款基于C++/Python的开源量化交易研究框架
148
148
 
149
149
  ![img](https://api.star-history.com/svg?repos=fasiondog/hikyuu&type=Date "Star History Chart")
150
150
 
151
+ ## 私域定制
152
+
153
+ ![img](docs/source/_static/hikyuu_ads_640px.png)
154
+
151
155
  ## 项目依赖说明
152
156
 
153
157
  Hikyuu C++部分直接依赖以下开源项目(由以下项目间接依赖的项目及 python 项目未列出, python依赖项目请参考 requirements.txt),感谢所有开源作者的贡献: