hikyuu 2.2.4__py3-none-macosx_11_1_arm64.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 (818) hide show
  1. hikyuu/LICENSE.txt +21 -0
  2. hikyuu/__init__.py +137 -0
  3. hikyuu/analysis/__init__.py +14 -0
  4. hikyuu/analysis/analysis.py +151 -0
  5. hikyuu/config/__init__.py +1 -0
  6. hikyuu/config/block/__init__.py +0 -0
  7. hikyuu/config/block/dybk.ini +5357 -0
  8. hikyuu/config/block/gnbk.ini +50024 -0
  9. hikyuu/config/block/hybk.ini +5464 -0
  10. hikyuu/config/block/self.ini +10 -0
  11. hikyuu/config/block/zsbk.ini +65543 -0
  12. hikyuu/core.py +27 -0
  13. hikyuu/cpp/__init__.py +1 -0
  14. hikyuu/cpp/core310.so +0 -0
  15. hikyuu/cpp/core311.so +0 -0
  16. hikyuu/cpp/core312.so +0 -0
  17. hikyuu/cpp/core313.so +0 -0
  18. hikyuu/cpp/libcrypto.3.dylib +0 -0
  19. hikyuu/cpp/libcrypto.dylib +0 -0
  20. hikyuu/cpp/libhku_hdf5.200.2.0.dylib +0 -0
  21. hikyuu/cpp/libhku_hdf5.200.dylib +0 -0
  22. hikyuu/cpp/libhku_hdf5.dylib +0 -0
  23. hikyuu/cpp/libhku_hdf5_cpp.200.2.0.dylib +0 -0
  24. hikyuu/cpp/libhku_hdf5_cpp.200.dylib +0 -0
  25. hikyuu/cpp/libhku_hdf5_cpp.dylib +0 -0
  26. hikyuu/cpp/libhku_hdf5_hl.200.1.0.dylib +0 -0
  27. hikyuu/cpp/libhku_hdf5_hl.200.dylib +0 -0
  28. hikyuu/cpp/libhku_hdf5_hl.dylib +0 -0
  29. hikyuu/cpp/libhku_hdf5_hl_cpp.200.1.0.dylib +0 -0
  30. hikyuu/cpp/libhku_hdf5_hl_cpp.200.dylib +0 -0
  31. hikyuu/cpp/libhku_hdf5_hl_cpp.dylib +0 -0
  32. hikyuu/cpp/libhku_hdf5_tools.200.1.1.dylib +0 -0
  33. hikyuu/cpp/libhku_hdf5_tools.200.dylib +0 -0
  34. hikyuu/cpp/libhku_hdf5_tools.dylib +0 -0
  35. hikyuu/cpp/libmysqlclient.21.dylib +0 -0
  36. hikyuu/cpp/libmysqlclient.dylib +0 -0
  37. hikyuu/cpp/libsqlite3.dylib +0 -0
  38. hikyuu/cpp/libssl.3.dylib +0 -0
  39. hikyuu/cpp/libssl.dylib +0 -0
  40. hikyuu/data/__init__.py +1 -0
  41. hikyuu/data/common.py +248 -0
  42. hikyuu/data/common_h5.py +398 -0
  43. hikyuu/data/common_mysql.py +485 -0
  44. hikyuu/data/common_pytdx.py +108 -0
  45. hikyuu/data/common_sqlite3.py +140 -0
  46. hikyuu/data/em_block_to_mysql.py +120 -0
  47. hikyuu/data/em_block_to_sqlite.py +117 -0
  48. hikyuu/data/hku_config_template.py +266 -0
  49. hikyuu/data/mysql_upgrade/0001.sql +5 -0
  50. hikyuu/data/mysql_upgrade/0002.sql +3 -0
  51. hikyuu/data/mysql_upgrade/0003.sql +9 -0
  52. hikyuu/data/mysql_upgrade/0004.sql +26 -0
  53. hikyuu/data/mysql_upgrade/0005.sql +3 -0
  54. hikyuu/data/mysql_upgrade/0006.sql +2 -0
  55. hikyuu/data/mysql_upgrade/0007.sql +20 -0
  56. hikyuu/data/mysql_upgrade/0008.sql +6 -0
  57. hikyuu/data/mysql_upgrade/0009.sql +36 -0
  58. hikyuu/data/mysql_upgrade/0010.sql +5 -0
  59. hikyuu/data/mysql_upgrade/0011.sql +5 -0
  60. hikyuu/data/mysql_upgrade/0012.sql +5 -0
  61. hikyuu/data/mysql_upgrade/0013.sql +2389 -0
  62. hikyuu/data/mysql_upgrade/0014.sql +3 -0
  63. hikyuu/data/mysql_upgrade/0015.sql +4 -0
  64. hikyuu/data/mysql_upgrade/0016.sql +4 -0
  65. hikyuu/data/mysql_upgrade/0017.sql +5 -0
  66. hikyuu/data/mysql_upgrade/0018.sql +2 -0
  67. hikyuu/data/mysql_upgrade/0019.sql +6 -0
  68. hikyuu/data/mysql_upgrade/0020.sql +4 -0
  69. hikyuu/data/mysql_upgrade/0021.sql +4 -0
  70. hikyuu/data/mysql_upgrade/0022.sql +5 -0
  71. hikyuu/data/mysql_upgrade/0023.sql +4 -0
  72. hikyuu/data/mysql_upgrade/0024.sql +2 -0
  73. hikyuu/data/mysql_upgrade/__init__.py +1 -0
  74. hikyuu/data/mysql_upgrade/createdb.sql +265 -0
  75. hikyuu/data/pytdx_finance_to_mysql.py +129 -0
  76. hikyuu/data/pytdx_finance_to_sqlite.py +162 -0
  77. hikyuu/data/pytdx_to_h5.py +662 -0
  78. hikyuu/data/pytdx_to_mysql.py +803 -0
  79. hikyuu/data/pytdx_weight_to_mysql.py +196 -0
  80. hikyuu/data/pytdx_weight_to_sqlite.py +192 -0
  81. hikyuu/data/sqlite_mem.py +84 -0
  82. hikyuu/data/sqlite_mem_sql/__init__.py +1 -0
  83. hikyuu/data/sqlite_mem_sql/createdb.sql +126 -0
  84. hikyuu/data/sqlite_upgrade/0001.sql +4 -0
  85. hikyuu/data/sqlite_upgrade/0002.sql +48 -0
  86. hikyuu/data/sqlite_upgrade/0003.sql +18 -0
  87. hikyuu/data/sqlite_upgrade/0004.sql +11 -0
  88. hikyuu/data/sqlite_upgrade/0005.sql +28 -0
  89. hikyuu/data/sqlite_upgrade/0006.sql +5 -0
  90. hikyuu/data/sqlite_upgrade/0007.sql +4 -0
  91. hikyuu/data/sqlite_upgrade/0008.sql +22 -0
  92. hikyuu/data/sqlite_upgrade/0009.sql +8 -0
  93. hikyuu/data/sqlite_upgrade/0010.sql +5 -0
  94. hikyuu/data/sqlite_upgrade/0011.sql +16 -0
  95. hikyuu/data/sqlite_upgrade/0012.sql +15 -0
  96. hikyuu/data/sqlite_upgrade/0013.sql +9 -0
  97. hikyuu/data/sqlite_upgrade/0014.sql +607 -0
  98. hikyuu/data/sqlite_upgrade/0015.sql +7 -0
  99. hikyuu/data/sqlite_upgrade/0016.sql +8 -0
  100. hikyuu/data/sqlite_upgrade/0017.sql +16 -0
  101. hikyuu/data/sqlite_upgrade/0018.sql +5 -0
  102. hikyuu/data/sqlite_upgrade/0019.sql +4 -0
  103. hikyuu/data/sqlite_upgrade/0020.sql +4 -0
  104. hikyuu/data/sqlite_upgrade/0021.sql +6 -0
  105. hikyuu/data/sqlite_upgrade/0022.sql +6 -0
  106. hikyuu/data/sqlite_upgrade/0023.sql +7 -0
  107. hikyuu/data/sqlite_upgrade/0024.sql +22 -0
  108. hikyuu/data/sqlite_upgrade/__init__.py +1 -0
  109. hikyuu/data/sqlite_upgrade/createdb.sql +61 -0
  110. hikyuu/data/tdx_to_h5.py +464 -0
  111. hikyuu/data/tdx_to_mysql.py +464 -0
  112. hikyuu/data/weight_to_mysql.py +72 -0
  113. hikyuu/data/weight_to_sqlite.py +70 -0
  114. hikyuu/data/zh_bond10_to_mysql.py +30 -0
  115. hikyuu/data/zh_bond10_to_sqlite.py +42 -0
  116. hikyuu/data_driver/__init__.py +49 -0
  117. hikyuu/data_driver/jqdata_data_driver.py +277 -0
  118. hikyuu/data_driver/pytdx_data_driver.py +292 -0
  119. hikyuu/deprecated.py +651 -0
  120. hikyuu/draw/__init__.py +59 -0
  121. hikyuu/draw/drawplot/__init__.py +291 -0
  122. hikyuu/draw/drawplot/bokeh_draw.py +583 -0
  123. hikyuu/draw/drawplot/common.py +89 -0
  124. hikyuu/draw/drawplot/echarts_draw.py +402 -0
  125. hikyuu/draw/drawplot/matplotlib_draw.py +837 -0
  126. hikyuu/draw/elder.py +135 -0
  127. hikyuu/draw/kaufman.py +192 -0
  128. hikyuu/draw/volume.py +122 -0
  129. hikyuu/examples/Turtle_SG.py +47 -0
  130. hikyuu/examples/__init__.py +1 -0
  131. hikyuu/examples/examples_init.py +33 -0
  132. hikyuu/examples/notebook/000-Index.ipynb +76 -0
  133. hikyuu/examples/notebook/001-overview.ipynb +345 -0
  134. hikyuu/examples/notebook/002-HowToGetStock.ipynb +265 -0
  135. hikyuu/examples/notebook/003-HowToGetKDataAndDraw.ipynb +375 -0
  136. hikyuu/examples/notebook/004-IndicatorOverview.ipynb +501 -0
  137. hikyuu/examples/notebook/005-Drawplot.ipynb +321 -0
  138. hikyuu/examples/notebook/006-TradeManager.ipynb +381 -0
  139. hikyuu/examples/notebook/007-SystemDetails.ipynb +380 -0
  140. hikyuu/examples/notebook/008-Pickle.ipynb +127 -0
  141. hikyuu/examples/notebook/009-RealData.ipynb +110 -0
  142. hikyuu/examples/notebook/010-Portfolio.ipynb +333 -0
  143. hikyuu/examples/notebook/011-PyechartsDrawplot.ipynb +21821 -0
  144. hikyuu/examples/notebook/Demo/Demo1.ipynb +623 -0
  145. hikyuu/examples/notebook/Demo/Demo2.ipynb +665 -0
  146. hikyuu/examples/notebook/Demo/__init__.py +1 -0
  147. hikyuu/examples/notebook/README.md +1 -0
  148. hikyuu/examples/notebook/__init__.py +1 -0
  149. hikyuu/examples/notebook/images/002_01_block_config.png +0 -0
  150. hikyuu/examples/notebook/images/008_01_tocsv.png +0 -0
  151. hikyuu/examples/notebook/images/008_02_tocsv_look.png +0 -0
  152. hikyuu/examples/notebook/images/008_03_pickle.png +0 -0
  153. hikyuu/examples/notebook/images/__init__.py +1 -0
  154. hikyuu/examples/quick_crtsg.py +40 -0
  155. hikyuu/extend.py +387 -0
  156. hikyuu/fetcher/__init__.py +8 -0
  157. hikyuu/fetcher/proxy/__init__.py +12 -0
  158. hikyuu/fetcher/proxy/proxy.py +39 -0
  159. hikyuu/fetcher/proxy/zhima.py +63 -0
  160. hikyuu/fetcher/stock/__init__.py +8 -0
  161. hikyuu/fetcher/stock/zh_block_em.py +140 -0
  162. hikyuu/fetcher/stock/zh_stock_a_huatai.py +51 -0
  163. hikyuu/fetcher/stock/zh_stock_a_pytdx.py +139 -0
  164. hikyuu/fetcher/stock/zh_stock_a_qmt.py +58 -0
  165. hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +229 -0
  166. hikyuu/flat/Spot.py +440 -0
  167. hikyuu/flat/SpotList.py +74 -0
  168. hikyuu/flat/__init__.py +4 -0
  169. hikyuu/gui/HikyuuTDX.py +840 -0
  170. hikyuu/gui/__init__.py +1 -0
  171. hikyuu/gui/data/CollectSpotThread.py +43 -0
  172. hikyuu/gui/data/CollectToMemThread.py +123 -0
  173. hikyuu/gui/data/CollectToMySQLThread.py +178 -0
  174. hikyuu/gui/data/EscapetimeThread.py +32 -0
  175. hikyuu/gui/data/ImportBlockInfoTask.py +55 -0
  176. hikyuu/gui/data/ImportHistoryFinanceTask.py +141 -0
  177. hikyuu/gui/data/ImportPytdxTimeToH5Task.py +94 -0
  178. hikyuu/gui/data/ImportPytdxToH5Task.py +98 -0
  179. hikyuu/gui/data/ImportPytdxTransToH5Task.py +94 -0
  180. hikyuu/gui/data/ImportTdxToH5Task.py +111 -0
  181. hikyuu/gui/data/ImportWeightToSqliteTask.py +114 -0
  182. hikyuu/gui/data/ImportZhBond10Task.py +48 -0
  183. hikyuu/gui/data/MainWindow.py +824 -0
  184. hikyuu/gui/data/SchedImportThread.py +62 -0
  185. hikyuu/gui/data/UsePytdxImportToH5Thread.py +371 -0
  186. hikyuu/gui/data/UseTdxImportToH5Thread.py +182 -0
  187. hikyuu/gui/data/__init__.py +1 -0
  188. hikyuu/gui/data/tool.py +43 -0
  189. hikyuu/gui/hikyuu.ico +0 -0
  190. hikyuu/gui/importdata.py +166 -0
  191. hikyuu/gui/spot_server.py +336 -0
  192. hikyuu/gui/start_huatai_insight.py +510 -0
  193. hikyuu/gui/start_qmt.py +122 -0
  194. hikyuu/hub.py +634 -0
  195. hikyuu/include/__init__.py +1 -0
  196. hikyuu/include/hikyuu/Block.h +173 -0
  197. hikyuu/include/hikyuu/DataType.h +173 -0
  198. hikyuu/include/hikyuu/GlobalInitializer.h +46 -0
  199. hikyuu/include/hikyuu/HistoryFinanceInfo.h +35 -0
  200. hikyuu/include/hikyuu/KData.h +271 -0
  201. hikyuu/include/hikyuu/KDataImp.h +94 -0
  202. hikyuu/include/hikyuu/KQuery.h +275 -0
  203. hikyuu/include/hikyuu/KRecord.h +94 -0
  204. hikyuu/include/hikyuu/MarketInfo.h +132 -0
  205. hikyuu/include/hikyuu/Stock.h +351 -0
  206. hikyuu/include/hikyuu/StockManager.h +371 -0
  207. hikyuu/include/hikyuu/StockMapIterator.h +72 -0
  208. hikyuu/include/hikyuu/StockTypeInfo.h +127 -0
  209. hikyuu/include/hikyuu/StockWeight.h +148 -0
  210. hikyuu/include/hikyuu/StrategyContext.h +107 -0
  211. hikyuu/include/hikyuu/TimeLineRecord.h +71 -0
  212. hikyuu/include/hikyuu/TransRecord.h +79 -0
  213. hikyuu/include/hikyuu/ZhBond10.h +36 -0
  214. hikyuu/include/hikyuu/__init__.py +1 -0
  215. hikyuu/include/hikyuu/analysis/__init__.py +1 -0
  216. hikyuu/include/hikyuu/analysis/analysis_sys.h +76 -0
  217. hikyuu/include/hikyuu/analysis/combinate.h +115 -0
  218. hikyuu/include/hikyuu/config.h +48 -0
  219. hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +201 -0
  220. hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +108 -0
  221. hikyuu/include/hikyuu/data_driver/DataDriverFactory.h +58 -0
  222. hikyuu/include/hikyuu/data_driver/DriverConnectPool.h +146 -0
  223. hikyuu/include/hikyuu/data_driver/HistoryFinanceReader.h +36 -0
  224. hikyuu/include/hikyuu/data_driver/KDataDriver.h +194 -0
  225. hikyuu/include/hikyuu/data_driver/__init__.py +1 -0
  226. hikyuu/include/hikyuu/data_driver/base_info/__init__.py +1 -0
  227. hikyuu/include/hikyuu/data_driver/base_info/mysql/MySQLBaseInfoDriver.h +54 -0
  228. hikyuu/include/hikyuu/data_driver/base_info/mysql/__init__.py +1 -0
  229. hikyuu/include/hikyuu/data_driver/base_info/sqlite/SQLiteBaseInfoDriver.h +50 -0
  230. hikyuu/include/hikyuu/data_driver/base_info/sqlite/__init__.py +1 -0
  231. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceFieldTable.h +19 -0
  232. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceTable.h +23 -0
  233. hikyuu/include/hikyuu/data_driver/base_info/table/HolidayTable.h +29 -0
  234. hikyuu/include/hikyuu/data_driver/base_info/table/MarketInfoTable.h +127 -0
  235. hikyuu/include/hikyuu/data_driver/base_info/table/StockTable.h +64 -0
  236. hikyuu/include/hikyuu/data_driver/base_info/table/StockTypeInfoTable.h +108 -0
  237. hikyuu/include/hikyuu/data_driver/base_info/table/StockWeightTable.h +52 -0
  238. hikyuu/include/hikyuu/data_driver/base_info/table/ZhBond10Table.h +20 -0
  239. hikyuu/include/hikyuu/data_driver/base_info/table/__init__.py +1 -0
  240. hikyuu/include/hikyuu/data_driver/block_info/__init__.py +1 -0
  241. hikyuu/include/hikyuu/data_driver/block_info/mysql/MySQLBlockInfoDriver.h +36 -0
  242. hikyuu/include/hikyuu/data_driver/block_info/mysql/__init__.py +1 -0
  243. hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +31 -0
  244. hikyuu/include/hikyuu/data_driver/block_info/qianlong/__init__.py +1 -0
  245. hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +36 -0
  246. hikyuu/include/hikyuu/data_driver/block_info/sqlite/__init__.py +1 -0
  247. hikyuu/include/hikyuu/data_driver/kdata/DoNothingKDataDriver.h +33 -0
  248. hikyuu/include/hikyuu/data_driver/kdata/__init__.py +1 -0
  249. hikyuu/include/hikyuu/data_driver/kdata/cvs/KDataTempCsvDriver.h +106 -0
  250. hikyuu/include/hikyuu/data_driver/kdata/cvs/__init__.py +1 -0
  251. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5KDataDriver.h +89 -0
  252. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5Record.h +50 -0
  253. hikyuu/include/hikyuu/data_driver/kdata/hdf5/__init__.py +1 -0
  254. hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +124 -0
  255. hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +78 -0
  256. hikyuu/include/hikyuu/data_driver/kdata/mysql/__init__.py +1 -0
  257. hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +62 -0
  258. hikyuu/include/hikyuu/data_driver/kdata/sqlite/__init__.py +1 -0
  259. hikyuu/include/hikyuu/data_driver/kdata/tdx/TdxKDataDriver.h +63 -0
  260. hikyuu/include/hikyuu/data_driver/kdata/tdx/__init__.py +1 -0
  261. hikyuu/include/hikyuu/debug.h +32 -0
  262. hikyuu/include/hikyuu/doc.h +166 -0
  263. hikyuu/include/hikyuu/global/GlobalSpotAgent.h +33 -0
  264. hikyuu/include/hikyuu/global/SpotRecord.h +52 -0
  265. hikyuu/include/hikyuu/global/__init__.py +1 -0
  266. hikyuu/include/hikyuu/global/agent/SpotAgent.h +143 -0
  267. hikyuu/include/hikyuu/global/agent/__init__.py +1 -0
  268. hikyuu/include/hikyuu/global/agent/hikyuu/__init__.py +1 -0
  269. hikyuu/include/hikyuu/global/agent/hikyuu/flat/__init__.py +1 -0
  270. hikyuu/include/hikyuu/global/agent/spot_generated.h +527 -0
  271. hikyuu/include/hikyuu/global/schedule/__init__.py +1 -0
  272. hikyuu/include/hikyuu/global/schedule/inner_tasks.h +16 -0
  273. hikyuu/include/hikyuu/global/schedule/scheduler.h +24 -0
  274. hikyuu/include/hikyuu/global/sysinfo.h +67 -0
  275. hikyuu/include/hikyuu/hikyuu.h +55 -0
  276. hikyuu/include/hikyuu/indicator/IndParam.h +39 -0
  277. hikyuu/include/hikyuu/indicator/Indicator.h +403 -0
  278. hikyuu/include/hikyuu/indicator/IndicatorImp.h +413 -0
  279. hikyuu/include/hikyuu/indicator/__init__.py +1 -0
  280. hikyuu/include/hikyuu/indicator/build_in.h +114 -0
  281. hikyuu/include/hikyuu/indicator/crt/ABS.h +34 -0
  282. hikyuu/include/hikyuu/indicator/crt/ACOS.h +36 -0
  283. hikyuu/include/hikyuu/indicator/crt/AD.h +28 -0
  284. hikyuu/include/hikyuu/indicator/crt/ADVANCE.h +32 -0
  285. hikyuu/include/hikyuu/indicator/crt/ALIGN.h +42 -0
  286. hikyuu/include/hikyuu/indicator/crt/AMA.h +113 -0
  287. hikyuu/include/hikyuu/indicator/crt/ASIN.h +36 -0
  288. hikyuu/include/hikyuu/indicator/crt/ATAN.h +36 -0
  289. hikyuu/include/hikyuu/indicator/crt/ATR.h +44 -0
  290. hikyuu/include/hikyuu/indicator/crt/AVEDEV.h +45 -0
  291. hikyuu/include/hikyuu/indicator/crt/BACKSET.h +44 -0
  292. hikyuu/include/hikyuu/indicator/crt/BARSCOUNT.h +37 -0
  293. hikyuu/include/hikyuu/indicator/crt/BARSLAST.h +41 -0
  294. hikyuu/include/hikyuu/indicator/crt/BARSSINCE.h +41 -0
  295. hikyuu/include/hikyuu/indicator/crt/BETWEEN.h +85 -0
  296. hikyuu/include/hikyuu/indicator/crt/BLOCKSETNUM.h +23 -0
  297. hikyuu/include/hikyuu/indicator/crt/CEILING.h +38 -0
  298. hikyuu/include/hikyuu/indicator/crt/CORR.h +24 -0
  299. hikyuu/include/hikyuu/indicator/crt/COS.h +36 -0
  300. hikyuu/include/hikyuu/indicator/crt/COST.h +34 -0
  301. hikyuu/include/hikyuu/indicator/crt/COUNT.h +54 -0
  302. hikyuu/include/hikyuu/indicator/crt/CROSS.h +48 -0
  303. hikyuu/include/hikyuu/indicator/crt/CVAL.h +35 -0
  304. hikyuu/include/hikyuu/indicator/crt/DECLINE.h +32 -0
  305. hikyuu/include/hikyuu/indicator/crt/DEVSQ.h +40 -0
  306. hikyuu/include/hikyuu/indicator/crt/DIFF.h +31 -0
  307. hikyuu/include/hikyuu/indicator/crt/DMA.h +34 -0
  308. hikyuu/include/hikyuu/indicator/crt/DOWNNDAY.h +43 -0
  309. hikyuu/include/hikyuu/indicator/crt/DROPNA.h +31 -0
  310. hikyuu/include/hikyuu/indicator/crt/EMA.h +44 -0
  311. hikyuu/include/hikyuu/indicator/crt/EVERY.h +44 -0
  312. hikyuu/include/hikyuu/indicator/crt/EXIST.h +44 -0
  313. hikyuu/include/hikyuu/indicator/crt/EXP.h +34 -0
  314. hikyuu/include/hikyuu/indicator/crt/FILTER.h +44 -0
  315. hikyuu/include/hikyuu/indicator/crt/FINANCE.h +20 -0
  316. hikyuu/include/hikyuu/indicator/crt/FLOOR.h +38 -0
  317. hikyuu/include/hikyuu/indicator/crt/HHV.h +44 -0
  318. hikyuu/include/hikyuu/indicator/crt/HHVBARS.h +44 -0
  319. hikyuu/include/hikyuu/indicator/crt/HSL.h +39 -0
  320. hikyuu/include/hikyuu/indicator/crt/IC.h +41 -0
  321. hikyuu/include/hikyuu/indicator/crt/ICIR.h +51 -0
  322. hikyuu/include/hikyuu/indicator/crt/INSUM.h +33 -0
  323. hikyuu/include/hikyuu/indicator/crt/INTPART.h +38 -0
  324. hikyuu/include/hikyuu/indicator/crt/IR.h +44 -0
  325. hikyuu/include/hikyuu/indicator/crt/KDATA.h +72 -0
  326. hikyuu/include/hikyuu/indicator/crt/LAST.h +100 -0
  327. hikyuu/include/hikyuu/indicator/crt/LIUTONGPAN.h +23 -0
  328. hikyuu/include/hikyuu/indicator/crt/LLV.h +46 -0
  329. hikyuu/include/hikyuu/indicator/crt/LLVBARS.h +44 -0
  330. hikyuu/include/hikyuu/indicator/crt/LN.h +36 -0
  331. hikyuu/include/hikyuu/indicator/crt/LOG.h +35 -0
  332. hikyuu/include/hikyuu/indicator/crt/LONGCROSS.h +68 -0
  333. hikyuu/include/hikyuu/indicator/crt/MA.h +44 -0
  334. hikyuu/include/hikyuu/indicator/crt/MACD.h +62 -0
  335. hikyuu/include/hikyuu/indicator/crt/MAX.h +45 -0
  336. hikyuu/include/hikyuu/indicator/crt/MDD.h +29 -0
  337. hikyuu/include/hikyuu/indicator/crt/MIN.h +45 -0
  338. hikyuu/include/hikyuu/indicator/crt/MOD.h +49 -0
  339. hikyuu/include/hikyuu/indicator/crt/MRR.h +29 -0
  340. hikyuu/include/hikyuu/indicator/crt/NDAY.h +43 -0
  341. hikyuu/include/hikyuu/indicator/crt/NOT.h +35 -0
  342. hikyuu/include/hikyuu/indicator/crt/POS.h +21 -0
  343. hikyuu/include/hikyuu/indicator/crt/POW.h +48 -0
  344. hikyuu/include/hikyuu/indicator/crt/PRICELIST.h +59 -0
  345. hikyuu/include/hikyuu/indicator/crt/RECOVER.h +45 -0
  346. hikyuu/include/hikyuu/indicator/crt/REF.h +48 -0
  347. hikyuu/include/hikyuu/indicator/crt/RESULT.h +20 -0
  348. hikyuu/include/hikyuu/indicator/crt/REVERSE.h +36 -0
  349. hikyuu/include/hikyuu/indicator/crt/ROC.h +39 -0
  350. hikyuu/include/hikyuu/indicator/crt/ROCP.h +39 -0
  351. hikyuu/include/hikyuu/indicator/crt/ROCR.h +39 -0
  352. hikyuu/include/hikyuu/indicator/crt/ROCR100.h +39 -0
  353. hikyuu/include/hikyuu/indicator/crt/ROUND.h +36 -0
  354. hikyuu/include/hikyuu/indicator/crt/ROUNDDOWN.h +36 -0
  355. hikyuu/include/hikyuu/indicator/crt/ROUNDUP.h +36 -0
  356. hikyuu/include/hikyuu/indicator/crt/RSI.h +43 -0
  357. hikyuu/include/hikyuu/indicator/crt/SAFTYLOSS.h +79 -0
  358. hikyuu/include/hikyuu/indicator/crt/SGN.h +34 -0
  359. hikyuu/include/hikyuu/indicator/crt/SIN.h +36 -0
  360. hikyuu/include/hikyuu/indicator/crt/SLICE.h +44 -0
  361. hikyuu/include/hikyuu/indicator/crt/SLOPE.h +44 -0
  362. hikyuu/include/hikyuu/indicator/crt/SMA.h +72 -0
  363. hikyuu/include/hikyuu/indicator/crt/SPEARMAN.h +23 -0
  364. hikyuu/include/hikyuu/indicator/crt/SQRT.h +41 -0
  365. hikyuu/include/hikyuu/indicator/crt/STDEV.h +44 -0
  366. hikyuu/include/hikyuu/indicator/crt/STDP.h +38 -0
  367. hikyuu/include/hikyuu/indicator/crt/SUM.h +44 -0
  368. hikyuu/include/hikyuu/indicator/crt/SUMBARS.h +44 -0
  369. hikyuu/include/hikyuu/indicator/crt/TAN.h +36 -0
  370. hikyuu/include/hikyuu/indicator/crt/TIME.h +69 -0
  371. hikyuu/include/hikyuu/indicator/crt/TIMELINE.h +23 -0
  372. hikyuu/include/hikyuu/indicator/crt/TIMELINEVOL.h +21 -0
  373. hikyuu/include/hikyuu/indicator/crt/TURNOVER.h +21 -0
  374. hikyuu/include/hikyuu/indicator/crt/UPNDAY.h +43 -0
  375. hikyuu/include/hikyuu/indicator/crt/VAR.h +40 -0
  376. hikyuu/include/hikyuu/indicator/crt/VARP.h +40 -0
  377. hikyuu/include/hikyuu/indicator/crt/VIGOR.h +34 -0
  378. hikyuu/include/hikyuu/indicator/crt/ZHBOND10.h +27 -0
  379. hikyuu/include/hikyuu/indicator/crt/ZONGGUBEN.h +17 -0
  380. hikyuu/include/hikyuu/indicator/crt/ZSCORE.h +30 -0
  381. hikyuu/include/hikyuu/indicator/crt/__init__.py +1 -0
  382. hikyuu/include/hikyuu/indicator/imp/IAbs.h +26 -0
  383. hikyuu/include/hikyuu/indicator/imp/IAcos.h +28 -0
  384. hikyuu/include/hikyuu/indicator/imp/IAd.h +30 -0
  385. hikyuu/include/hikyuu/indicator/imp/IAdvance.h +29 -0
  386. hikyuu/include/hikyuu/indicator/imp/IAlign.h +28 -0
  387. hikyuu/include/hikyuu/indicator/imp/IAma.h +38 -0
  388. hikyuu/include/hikyuu/indicator/imp/IAsin.h +28 -0
  389. hikyuu/include/hikyuu/indicator/imp/IAtan.h +28 -0
  390. hikyuu/include/hikyuu/indicator/imp/IAtr.h +28 -0
  391. hikyuu/include/hikyuu/indicator/imp/IBackset.h +33 -0
  392. hikyuu/include/hikyuu/indicator/imp/IBarsCount.h +28 -0
  393. hikyuu/include/hikyuu/indicator/imp/IBarsLast.h +28 -0
  394. hikyuu/include/hikyuu/indicator/imp/IBarsSince.h +28 -0
  395. hikyuu/include/hikyuu/indicator/imp/IBlockSetNum.h +28 -0
  396. hikyuu/include/hikyuu/indicator/imp/ICeil.h +31 -0
  397. hikyuu/include/hikyuu/indicator/imp/ICorr.h +42 -0
  398. hikyuu/include/hikyuu/indicator/imp/ICos.h +28 -0
  399. hikyuu/include/hikyuu/indicator/imp/ICount.h +32 -0
  400. hikyuu/include/hikyuu/indicator/imp/ICval.h +29 -0
  401. hikyuu/include/hikyuu/indicator/imp/IDecline.h +29 -0
  402. hikyuu/include/hikyuu/indicator/imp/IDevsq.h +29 -0
  403. hikyuu/include/hikyuu/indicator/imp/IDiff.h +29 -0
  404. hikyuu/include/hikyuu/indicator/imp/IDma.h +47 -0
  405. hikyuu/include/hikyuu/indicator/imp/IDropna.h +28 -0
  406. hikyuu/include/hikyuu/indicator/imp/IEma.h +29 -0
  407. hikyuu/include/hikyuu/indicator/imp/IEvery.h +32 -0
  408. hikyuu/include/hikyuu/indicator/imp/IExist.h +32 -0
  409. hikyuu/include/hikyuu/indicator/imp/IExp.h +28 -0
  410. hikyuu/include/hikyuu/indicator/imp/IFilter.h +34 -0
  411. hikyuu/include/hikyuu/indicator/imp/IFinance.h +25 -0
  412. hikyuu/include/hikyuu/indicator/imp/IFloor.h +31 -0
  413. hikyuu/include/hikyuu/indicator/imp/IHhvbars.h +29 -0
  414. hikyuu/include/hikyuu/indicator/imp/IHighLine.h +34 -0
  415. hikyuu/include/hikyuu/indicator/imp/IIc.h +45 -0
  416. hikyuu/include/hikyuu/indicator/imp/IInSum.h +28 -0
  417. hikyuu/include/hikyuu/indicator/imp/IIntpart.h +31 -0
  418. hikyuu/include/hikyuu/indicator/imp/IKData.h +29 -0
  419. hikyuu/include/hikyuu/indicator/imp/ILiuTongPan.h +29 -0
  420. hikyuu/include/hikyuu/indicator/imp/ILn.h +28 -0
  421. hikyuu/include/hikyuu/indicator/imp/ILog.h +28 -0
  422. hikyuu/include/hikyuu/indicator/imp/ILowLine.h +30 -0
  423. hikyuu/include/hikyuu/indicator/imp/ILowLineBars.h +29 -0
  424. hikyuu/include/hikyuu/indicator/imp/IMa.h +27 -0
  425. hikyuu/include/hikyuu/indicator/imp/IMacd.h +41 -0
  426. hikyuu/include/hikyuu/indicator/imp/IMdd.h +23 -0
  427. hikyuu/include/hikyuu/indicator/imp/IMrr.h +23 -0
  428. hikyuu/include/hikyuu/indicator/imp/INot.h +26 -0
  429. hikyuu/include/hikyuu/indicator/imp/IPow.h +32 -0
  430. hikyuu/include/hikyuu/indicator/imp/IPriceList.h +29 -0
  431. hikyuu/include/hikyuu/indicator/imp/IRecover.h +29 -0
  432. hikyuu/include/hikyuu/indicator/imp/IRef.h +34 -0
  433. hikyuu/include/hikyuu/indicator/imp/IResult.h +26 -0
  434. hikyuu/include/hikyuu/indicator/imp/IReverse.h +28 -0
  435. hikyuu/include/hikyuu/indicator/imp/IRoc.h +29 -0
  436. hikyuu/include/hikyuu/indicator/imp/IRocp.h +29 -0
  437. hikyuu/include/hikyuu/indicator/imp/IRocr.h +29 -0
  438. hikyuu/include/hikyuu/indicator/imp/IRocr100.h +29 -0
  439. hikyuu/include/hikyuu/indicator/imp/IRound.h +32 -0
  440. hikyuu/include/hikyuu/indicator/imp/IRoundDown.h +32 -0
  441. hikyuu/include/hikyuu/indicator/imp/IRoundUp.h +32 -0
  442. hikyuu/include/hikyuu/indicator/imp/ISaftyLoss.h +44 -0
  443. hikyuu/include/hikyuu/indicator/imp/ISign.h +28 -0
  444. hikyuu/include/hikyuu/indicator/imp/ISin.h +28 -0
  445. hikyuu/include/hikyuu/indicator/imp/ISlice.h +25 -0
  446. hikyuu/include/hikyuu/indicator/imp/ISlope.h +25 -0
  447. hikyuu/include/hikyuu/indicator/imp/ISma.h +34 -0
  448. hikyuu/include/hikyuu/indicator/imp/ISpearman.h +42 -0
  449. hikyuu/include/hikyuu/indicator/imp/ISqrt.h +31 -0
  450. hikyuu/include/hikyuu/indicator/imp/IStdev.h +31 -0
  451. hikyuu/include/hikyuu/indicator/imp/IStdp.h +33 -0
  452. hikyuu/include/hikyuu/indicator/imp/ISum.h +27 -0
  453. hikyuu/include/hikyuu/indicator/imp/ISumBars.h +30 -0
  454. hikyuu/include/hikyuu/indicator/imp/ITan.h +28 -0
  455. hikyuu/include/hikyuu/indicator/imp/ITime.h +33 -0
  456. hikyuu/include/hikyuu/indicator/imp/ITimeLine.h +32 -0
  457. hikyuu/include/hikyuu/indicator/imp/IVar.h +32 -0
  458. hikyuu/include/hikyuu/indicator/imp/IVarp.h +32 -0
  459. hikyuu/include/hikyuu/indicator/imp/IVigor.h +35 -0
  460. hikyuu/include/hikyuu/indicator/imp/IZScore.h +25 -0
  461. hikyuu/include/hikyuu/indicator/imp/IZhBond10.h +30 -0
  462. hikyuu/include/hikyuu/indicator/imp/IZongGuBen.h +25 -0
  463. hikyuu/include/hikyuu/indicator/imp/__init__.py +1 -0
  464. hikyuu/include/hikyuu/python/__init__.py +1 -0
  465. hikyuu/include/hikyuu/python/pickle_support.h +90 -0
  466. hikyuu/include/hikyuu/python/pybind_utils.h +103 -0
  467. hikyuu/include/hikyuu/serialization/Block_serialization.h +55 -0
  468. hikyuu/include/hikyuu/serialization/Datetime_serialization.h +40 -0
  469. hikyuu/include/hikyuu/serialization/KData_serialization.h +45 -0
  470. hikyuu/include/hikyuu/serialization/KQuery_serialization.h +79 -0
  471. hikyuu/include/hikyuu/serialization/KRecord_serialization.h +50 -0
  472. hikyuu/include/hikyuu/serialization/MarketInfo_serialization.h +68 -0
  473. hikyuu/include/hikyuu/serialization/PriceList_serialization.h +66 -0
  474. hikyuu/include/hikyuu/serialization/StockTypeInfo_serialization.h +62 -0
  475. hikyuu/include/hikyuu/serialization/StockWeight_serialization.h +65 -0
  476. hikyuu/include/hikyuu/serialization/Stock_serialization.h +47 -0
  477. hikyuu/include/hikyuu/serialization/TimeDelta_serialization.h +44 -0
  478. hikyuu/include/hikyuu/serialization/TimeLineRecord_serialization.h +42 -0
  479. hikyuu/include/hikyuu/serialization/TransRecord_serialization.h +44 -0
  480. hikyuu/include/hikyuu/serialization/__init__.py +1 -0
  481. hikyuu/include/hikyuu/serialization/all.h +26 -0
  482. hikyuu/include/hikyuu/strategy/BrokerTradeManager.h +433 -0
  483. hikyuu/include/hikyuu/strategy/RunPortfolioInStrategy.h +37 -0
  484. hikyuu/include/hikyuu/strategy/RunSystemInStrategy.h +38 -0
  485. hikyuu/include/hikyuu/strategy/Strategy.h +191 -0
  486. hikyuu/include/hikyuu/strategy/__init__.py +1 -0
  487. hikyuu/include/hikyuu/trade_manage/BorrowRecord.h +91 -0
  488. hikyuu/include/hikyuu/trade_manage/CostRecord.h +67 -0
  489. hikyuu/include/hikyuu/trade_manage/FundsRecord.h +110 -0
  490. hikyuu/include/hikyuu/trade_manage/LoanRecord.h +64 -0
  491. hikyuu/include/hikyuu/trade_manage/OrderBrokerBase.h +207 -0
  492. hikyuu/include/hikyuu/trade_manage/Performance.h +80 -0
  493. hikyuu/include/hikyuu/trade_manage/PositionRecord.h +108 -0
  494. hikyuu/include/hikyuu/trade_manage/TradeCostBase.h +174 -0
  495. hikyuu/include/hikyuu/trade_manage/TradeManager.h +487 -0
  496. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +778 -0
  497. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +151 -0
  498. hikyuu/include/hikyuu/trade_manage/__init__.py +1 -0
  499. hikyuu/include/hikyuu/trade_manage/build_in.h +19 -0
  500. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA.h +45 -0
  501. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2015.h +43 -0
  502. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2017.h +44 -0
  503. hikyuu/include/hikyuu/trade_manage/crt/TC_TestStub.h +21 -0
  504. hikyuu/include/hikyuu/trade_manage/crt/TC_Zero.h +25 -0
  505. hikyuu/include/hikyuu/trade_manage/crt/__init__.py +1 -0
  506. hikyuu/include/hikyuu/trade_manage/crt/crtTM.h +33 -0
  507. hikyuu/include/hikyuu/trade_manage/imp/FixedA2015TradeCost.h +53 -0
  508. hikyuu/include/hikyuu/trade_manage/imp/FixedA2017TradeCost.h +56 -0
  509. hikyuu/include/hikyuu/trade_manage/imp/FixedATradeCost.h +88 -0
  510. hikyuu/include/hikyuu/trade_manage/imp/TradeCostStub.h +48 -0
  511. hikyuu/include/hikyuu/trade_manage/imp/ZeroTradeCost.h +50 -0
  512. hikyuu/include/hikyuu/trade_manage/imp/__init__.py +1 -0
  513. hikyuu/include/hikyuu/trade_sys/__init__.py +1 -0
  514. hikyuu/include/hikyuu/trade_sys/all.h +24 -0
  515. hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +229 -0
  516. hikyuu/include/hikyuu/trade_sys/allocatefunds/__init__.py +1 -0
  517. hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +16 -0
  518. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_EqualWeight.h +25 -0
  519. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeight.h +26 -0
  520. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_MultiFactor.h +21 -0
  521. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/__init__.py +1 -0
  522. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/EqualWeightAllocateFunds.h +27 -0
  523. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightAllocateFunds.h +28 -0
  524. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/MultiFactorAllocaterFunds.h +23 -0
  525. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/__init__.py +1 -0
  526. hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +241 -0
  527. hikyuu/include/hikyuu/trade_sys/condition/__init__.py +1 -0
  528. hikyuu/include/hikyuu/trade_sys/condition/build_in.h +17 -0
  529. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Bool.h +22 -0
  530. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Logic.h +35 -0
  531. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Manual.h +20 -0
  532. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_OPLine.h +26 -0
  533. hikyuu/include/hikyuu/trade_sys/condition/crt/__init__.py +1 -0
  534. hikyuu/include/hikyuu/trade_sys/condition/imp/BoolCondition.h +40 -0
  535. hikyuu/include/hikyuu/trade_sys/condition/imp/ManualCondition.h +23 -0
  536. hikyuu/include/hikyuu/trade_sys/condition/imp/OPLineCondition.h +44 -0
  537. hikyuu/include/hikyuu/trade_sys/condition/imp/SubCondition.h +42 -0
  538. hikyuu/include/hikyuu/trade_sys/condition/imp/__init__.py +1 -0
  539. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AddCondition.h +42 -0
  540. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AndCondition.h +42 -0
  541. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/DivCondition.h +42 -0
  542. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/MultiCondition.h +42 -0
  543. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/OrCondition.h +42 -0
  544. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/__init__.py +1 -0
  545. hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +178 -0
  546. hikyuu/include/hikyuu/trade_sys/environment/__init__.py +1 -0
  547. hikyuu/include/hikyuu/trade_sys/environment/build_in.h +16 -0
  548. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Bool.h +23 -0
  549. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Manual.h +20 -0
  550. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_TwoLine.h +28 -0
  551. hikyuu/include/hikyuu/trade_sys/environment/crt/__init__.py +1 -0
  552. hikyuu/include/hikyuu/trade_sys/environment/imp/BoolEnvironment.h +41 -0
  553. hikyuu/include/hikyuu/trade_sys/environment/imp/ManualEnvironment.h +23 -0
  554. hikyuu/include/hikyuu/trade_sys/environment/imp/TwoLineEnvironment.h +47 -0
  555. hikyuu/include/hikyuu/trade_sys/environment/imp/__init__.py +1 -0
  556. hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +230 -0
  557. hikyuu/include/hikyuu/trade_sys/moneymanager/__init__.py +1 -0
  558. hikyuu/include/hikyuu/trade_sys/moneymanager/build_in.h +20 -0
  559. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapital.h +20 -0
  560. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCount.h +28 -0
  561. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedPercent.h +27 -0
  562. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedRisk.h +20 -0
  563. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedUnits.h +20 -0
  564. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_Nothing.h +24 -0
  565. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_WilliamsFixedRisk.h +20 -0
  566. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/__init__.py +1 -0
  567. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalMoneyManager.h +28 -0
  568. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountMoneyManager.h +38 -0
  569. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedPercentMoneyManager.h +34 -0
  570. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedRiskMoneyManager.h +28 -0
  571. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedUnitsMoneyManager.h +28 -0
  572. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/NotMoneyManager.h +30 -0
  573. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/WilliamsFixedRiskMoneyManager.h +28 -0
  574. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/__init__.py +1 -0
  575. hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +275 -0
  576. hikyuu/include/hikyuu/trade_sys/multifactor/ScoreRecord.h +51 -0
  577. hikyuu/include/hikyuu/trade_sys/multifactor/__init__.py +1 -0
  578. hikyuu/include/hikyuu/trade_sys/multifactor/build_in.h +12 -0
  579. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_EqualWeight.h +29 -0
  580. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICIRWeight.h +30 -0
  581. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICWeight.h +30 -0
  582. hikyuu/include/hikyuu/trade_sys/multifactor/crt/__init__.py +1 -0
  583. hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +25 -0
  584. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +27 -0
  585. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +27 -0
  586. hikyuu/include/hikyuu/trade_sys/multifactor/imp/__init__.py +1 -0
  587. hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +256 -0
  588. hikyuu/include/hikyuu/trade_sys/portfolio/__init__.py +1 -0
  589. hikyuu/include/hikyuu/trade_sys/portfolio/build_in.h +14 -0
  590. hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_Simple.h +23 -0
  591. hikyuu/include/hikyuu/trade_sys/portfolio/crt/__init__.py +1 -0
  592. hikyuu/include/hikyuu/trade_sys/portfolio/imp/__init__.py +1 -0
  593. hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +189 -0
  594. hikyuu/include/hikyuu/trade_sys/profitgoal/__init__.py +1 -0
  595. hikyuu/include/hikyuu/trade_sys/profitgoal/build_in.h +16 -0
  596. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedHoldDays.h +26 -0
  597. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedPercent.h +25 -0
  598. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_NoGoal.h +24 -0
  599. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/__init__.py +1 -0
  600. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedHoldDays.h +29 -0
  601. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedPercentProfitGoal.h +28 -0
  602. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/NoGoalProfitGoal.h +27 -0
  603. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/__init__.py +1 -0
  604. hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +245 -0
  605. hikyuu/include/hikyuu/trade_sys/selector/SystemWeight.h +70 -0
  606. hikyuu/include/hikyuu/trade_sys/selector/__init__.py +1 -0
  607. hikyuu/include/hikyuu/trade_sys/selector/build_in.h +18 -0
  608. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Fixed.h +38 -0
  609. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Logic.h +43 -0
  610. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor.h +40 -0
  611. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Optimal.h +26 -0
  612. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Signal.h +30 -0
  613. hikyuu/include/hikyuu/trade_sys/selector/crt/__init__.py +1 -0
  614. hikyuu/include/hikyuu/trade_sys/selector/imp/FixedSelector.h +28 -0
  615. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +52 -0
  616. hikyuu/include/hikyuu/trade_sys/selector/imp/SignalSelector.h +30 -0
  617. hikyuu/include/hikyuu/trade_sys/selector/imp/__init__.py +1 -0
  618. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddSelector.h +19 -0
  619. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddValueSelector.h +19 -0
  620. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivSelector.h +19 -0
  621. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivValueSelector.h +19 -0
  622. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertDivValueSelector.h +19 -0
  623. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertSubValueSelector.h +19 -0
  624. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulSelector.h +19 -0
  625. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulValueSelector.h +19 -0
  626. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSelector.h +108 -0
  627. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubSelector.h +19 -0
  628. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubValueSelector.h +19 -0
  629. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorValueSelector.h +94 -0
  630. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/__init__.py +1 -0
  631. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/MaxFundsOptimalSelector.h +27 -0
  632. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +86 -0
  633. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/PerformanceOptimalSelector.h +42 -0
  634. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/__init__.py +1 -0
  635. hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +249 -0
  636. hikyuu/include/hikyuu/trade_sys/signal/__init__.py +1 -0
  637. hikyuu/include/hikyuu/trade_sys/signal/build_in.h +22 -0
  638. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_AllwaysBuy.h +20 -0
  639. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Band.h +37 -0
  640. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Bool.h +28 -0
  641. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cross.h +28 -0
  642. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_CrossGold.h +29 -0
  643. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cycle.h +20 -0
  644. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Flex.h +29 -0
  645. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Manual.h +20 -0
  646. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Single.h +56 -0
  647. hikyuu/include/hikyuu/trade_sys/signal/crt/__init__.py +1 -0
  648. hikyuu/include/hikyuu/trade_sys/signal/imp/AllwaysBuySignal.h +25 -0
  649. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal.h +46 -0
  650. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal2.h +47 -0
  651. hikyuu/include/hikyuu/trade_sys/signal/imp/BoolSignal.h +46 -0
  652. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossGoldSignal.h +46 -0
  653. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossSignal.h +46 -0
  654. hikyuu/include/hikyuu/trade_sys/signal/imp/CycleSignal.h +25 -0
  655. hikyuu/include/hikyuu/trade_sys/signal/imp/ManualSignal.h +23 -0
  656. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal.h +45 -0
  657. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal2.h +45 -0
  658. hikyuu/include/hikyuu/trade_sys/signal/imp/__init__.py +1 -0
  659. hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +170 -0
  660. hikyuu/include/hikyuu/trade_sys/slippage/__init__.py +1 -0
  661. hikyuu/include/hikyuu/trade_sys/slippage/build_in.h +15 -0
  662. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedPercent.h +26 -0
  663. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedValue.h +26 -0
  664. hikyuu/include/hikyuu/trade_sys/slippage/crt/__init__.py +1 -0
  665. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedPercentSlippage.h +28 -0
  666. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedValueSlippage.h +28 -0
  667. hikyuu/include/hikyuu/trade_sys/slippage/imp/__init__.py +1 -0
  668. hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +199 -0
  669. hikyuu/include/hikyuu/trade_sys/stoploss/__init__.py +1 -0
  670. hikyuu/include/hikyuu/trade_sys/stoploss/build_in.h +16 -0
  671. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_FixedPercent.h +25 -0
  672. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Indicator.h +21 -0
  673. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Saftyloss.h +37 -0
  674. hikyuu/include/hikyuu/trade_sys/stoploss/crt/__init__.py +1 -0
  675. hikyuu/include/hikyuu/trade_sys/stoploss/imp/FixedPercentStoploss.h +30 -0
  676. hikyuu/include/hikyuu/trade_sys/stoploss/imp/IndicatorStoploss.h +50 -0
  677. hikyuu/include/hikyuu/trade_sys/stoploss/imp/__init__.py +1 -0
  678. hikyuu/include/hikyuu/trade_sys/system/System.h +639 -0
  679. hikyuu/include/hikyuu/trade_sys/system/SystemPart.h +54 -0
  680. hikyuu/include/hikyuu/trade_sys/system/TradeRequest.h +94 -0
  681. hikyuu/include/hikyuu/trade_sys/system/__init__.py +1 -0
  682. hikyuu/include/hikyuu/trade_sys/system/build_in.h +15 -0
  683. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_Simple.h +50 -0
  684. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_WalkForward.h +21 -0
  685. hikyuu/include/hikyuu/trade_sys/system/crt/__init__.py +1 -0
  686. hikyuu/include/hikyuu/trade_sys/system/imp/DelegateSystem.h +51 -0
  687. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardSystem.h +70 -0
  688. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardTradeManager.h +465 -0
  689. hikyuu/include/hikyuu/trade_sys/system/imp/__init__.py +1 -0
  690. hikyuu/include/hikyuu/utilities/ConnectPool.h +163 -0
  691. hikyuu/include/hikyuu/utilities/FilterNode.h +267 -0
  692. hikyuu/include/hikyuu/utilities/LRUCache11.h +230 -0
  693. hikyuu/include/hikyuu/utilities/Log.h +411 -0
  694. hikyuu/include/hikyuu/utilities/Null.h +143 -0
  695. hikyuu/include/hikyuu/utilities/Parameter.h +511 -0
  696. hikyuu/include/hikyuu/utilities/ResourcePool.h +636 -0
  697. hikyuu/include/hikyuu/utilities/SpendTimer.h +305 -0
  698. hikyuu/include/hikyuu/utilities/TimerManager.h +552 -0
  699. hikyuu/include/hikyuu/utilities/__init__.py +1 -0
  700. hikyuu/include/hikyuu/utilities/any_to_string.h +142 -0
  701. hikyuu/include/hikyuu/utilities/arithmetic.h +401 -0
  702. hikyuu/include/hikyuu/utilities/base64.h +52 -0
  703. hikyuu/include/hikyuu/utilities/config.h +41 -0
  704. hikyuu/include/hikyuu/utilities/cppdef.h +25 -0
  705. hikyuu/include/hikyuu/utilities/datetime/Datetime.h +438 -0
  706. hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +343 -0
  707. hikyuu/include/hikyuu/utilities/datetime/__init__.py +1 -0
  708. hikyuu/include/hikyuu/utilities/db_connect/AutoTransAction.h +124 -0
  709. hikyuu/include/hikyuu/utilities/db_connect/DBCondition.h +248 -0
  710. hikyuu/include/hikyuu/utilities/db_connect/DBConnect.h +30 -0
  711. hikyuu/include/hikyuu/utilities/db_connect/DBConnectBase.h +658 -0
  712. hikyuu/include/hikyuu/utilities/db_connect/DBUpgrade.h +28 -0
  713. hikyuu/include/hikyuu/utilities/db_connect/SQLException.h +62 -0
  714. hikyuu/include/hikyuu/utilities/db_connect/SQLResultSet.h +248 -0
  715. hikyuu/include/hikyuu/utilities/db_connect/SQLStatementBase.h +305 -0
  716. hikyuu/include/hikyuu/utilities/db_connect/TableMacro.h +2579 -0
  717. hikyuu/include/hikyuu/utilities/db_connect/__init__.py +1 -0
  718. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +56 -0
  719. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLStatement.h +88 -0
  720. hikyuu/include/hikyuu/utilities/db_connect/mysql/__init__.py +1 -0
  721. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteConnect.h +89 -0
  722. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteStatement.h +71 -0
  723. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteUtil.h +80 -0
  724. hikyuu/include/hikyuu/utilities/db_connect/sqlite/__init__.py +1 -0
  725. hikyuu/include/hikyuu/utilities/exception.h +52 -0
  726. hikyuu/include/hikyuu/utilities/http_client/HttpClient.h +229 -0
  727. hikyuu/include/hikyuu/utilities/http_client/__init__.py +1 -0
  728. hikyuu/include/hikyuu/utilities/http_client/nng_wrap.h +517 -0
  729. hikyuu/include/hikyuu/utilities/http_client/url.h +25 -0
  730. hikyuu/include/hikyuu/utilities/ini_parser/IniParser.h +104 -0
  731. hikyuu/include/hikyuu/utilities/ini_parser/__init__.py +1 -0
  732. hikyuu/include/hikyuu/utilities/md5.h +41 -0
  733. hikyuu/include/hikyuu/utilities/mo/__init__.py +1 -0
  734. hikyuu/include/hikyuu/utilities/mo/mo.h +48 -0
  735. hikyuu/include/hikyuu/utilities/mo/moFileReader.h +836 -0
  736. hikyuu/include/hikyuu/utilities/node/NodeClient.h +175 -0
  737. hikyuu/include/hikyuu/utilities/node/NodeError.h +66 -0
  738. hikyuu/include/hikyuu/utilities/node/NodeMessage.h +80 -0
  739. hikyuu/include/hikyuu/utilities/node/NodeServer.h +246 -0
  740. hikyuu/include/hikyuu/utilities/node/__init__.py +1 -0
  741. hikyuu/include/hikyuu/utilities/os.h +102 -0
  742. hikyuu/include/hikyuu/utilities/osdef.h +159 -0
  743. hikyuu/include/hikyuu/utilities/runtimeinfo.h +35 -0
  744. hikyuu/include/hikyuu/utilities/snowflake.h +110 -0
  745. hikyuu/include/hikyuu/utilities/string_view.h +70 -0
  746. hikyuu/include/hikyuu/utilities/thread/FuncWrapper.h +85 -0
  747. hikyuu/include/hikyuu/utilities/thread/InterruptFlag.h +30 -0
  748. hikyuu/include/hikyuu/utilities/thread/MQStealQueue.h +112 -0
  749. hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +315 -0
  750. hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +275 -0
  751. hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +309 -0
  752. hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +231 -0
  753. hikyuu/include/hikyuu/utilities/thread/ThreadSafeQueue.h +101 -0
  754. hikyuu/include/hikyuu/utilities/thread/WorkStealQueue.h +105 -0
  755. hikyuu/include/hikyuu/utilities/thread/__init__.py +1 -0
  756. hikyuu/include/hikyuu/utilities/thread/algorithm.h +110 -0
  757. hikyuu/include/hikyuu/utilities/thread/thread.h +10 -0
  758. hikyuu/include/hikyuu/version.h +24 -0
  759. hikyuu/indicator/__init__.py +29 -0
  760. hikyuu/indicator/indicator.py +157 -0
  761. hikyuu/indicator/pyind.py +47 -0
  762. hikyuu/indicator/talib_wrap.py +1264 -0
  763. hikyuu/interactive.py +331 -0
  764. hikyuu/setup.py +104 -0
  765. hikyuu/shell/__init__.py +0 -0
  766. hikyuu/shell/cmdserver.py +126 -0
  767. hikyuu/shell/hkucmd.py +110 -0
  768. hikyuu/shell/hkushell.py +20 -0
  769. hikyuu/strategy/__init__.py +2 -0
  770. hikyuu/strategy/strategy_demo1.py +54 -0
  771. hikyuu/strategy/strategy_demo2.py +47 -0
  772. hikyuu/strategy/strategy_demo3.py +24 -0
  773. hikyuu/test/AllocateFunds.py +25 -0
  774. hikyuu/test/Condition.py +95 -0
  775. hikyuu/test/Datetime.py +61 -0
  776. hikyuu/test/Environment.py +88 -0
  777. hikyuu/test/Indicator.py +233 -0
  778. hikyuu/test/KData.py +64 -0
  779. hikyuu/test/MarketInfo.py +26 -0
  780. hikyuu/test/MoneyManager.py +88 -0
  781. hikyuu/test/Parameter.py +62 -0
  782. hikyuu/test/ProfitGoal.py +83 -0
  783. hikyuu/test/Signal.py +160 -0
  784. hikyuu/test/Slippage.py +88 -0
  785. hikyuu/test/Stock.py +127 -0
  786. hikyuu/test/StockTypeInfo.py +47 -0
  787. hikyuu/test/Stoploss.py +86 -0
  788. hikyuu/test/TradeCost.py +71 -0
  789. hikyuu/test/__init__.py +0 -0
  790. hikyuu/test/test.py +63 -0
  791. hikyuu/test/test_init.py +36 -0
  792. hikyuu/tools/__init__.py +1 -0
  793. hikyuu/tools/copy_file.py +16 -0
  794. hikyuu/tools/delete_index.py +50 -0
  795. hikyuu/tools/fenge.py +139 -0
  796. hikyuu/tools/h5_data_clear.py +163 -0
  797. hikyuu/tools/mysql_clear_last_day_data.py +61 -0
  798. hikyuu/tools/update_block_info.py +168 -0
  799. hikyuu/trade_manage/__init__.py +30 -0
  800. hikyuu/trade_manage/broker.py +95 -0
  801. hikyuu/trade_manage/broker_easytrader.py +63 -0
  802. hikyuu/trade_manage/broker_mail.py +101 -0
  803. hikyuu/trade_manage/trade.py +111 -0
  804. hikyuu/trade_sys/__init__.py +27 -0
  805. hikyuu/trade_sys/trade_sys.py +251 -0
  806. hikyuu/util/__init__.py +49 -0
  807. hikyuu/util/check.py +153 -0
  808. hikyuu/util/mylog.py +264 -0
  809. hikyuu/util/notebook.py +47 -0
  810. hikyuu/util/singleton.py +29 -0
  811. hikyuu/util/slice.py +43 -0
  812. hikyuu/util/timeout.py +83 -0
  813. hikyuu-2.2.4.dist-info/LICENSE +201 -0
  814. hikyuu-2.2.4.dist-info/METADATA +150 -0
  815. hikyuu-2.2.4.dist-info/RECORD +818 -0
  816. hikyuu-2.2.4.dist-info/WHEEL +5 -0
  817. hikyuu-2.2.4.dist-info/entry_points.txt +3 -0
  818. hikyuu-2.2.4.dist-info/top_level.txt +112 -0
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright (c) 2023 hikyuu.org
3
+ *
4
+ * Created on: 2023-12-21
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/indicator/Indicator.h"
11
+ #include "hikyuu/trade_sys/condition/ConditionBase.h"
12
+
13
+ namespace hku {
14
+
15
+ /**
16
+ * 布尔信号指标系统有效条件
17
+ * @param ind bool类型的指标,指标中相应位置>0则代表系统有效,否则无效
18
+ * @return
19
+ */
20
+ CNPtr HKU_API CN_Bool(const Indicator& ind);
21
+
22
+ } /* namespace hku */
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright (c) 2024 hikyuu.org
3
+ *
4
+ * Created on: 2024-02-16
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/trade_sys/condition/ConditionBase.h"
11
+
12
+ namespace hku {
13
+
14
+ /**
15
+ * 两个系统有效条件相与,等效于两者的交集
16
+ * @param cond1 系统有效条件1
17
+ * @param cond2 系统有效条件2
18
+ * @return AndCondition 实例指针
19
+ */
20
+ HKU_API ConditionPtr operator&(const ConditionPtr& cond1, const ConditionPtr& cond2);
21
+
22
+ /**
23
+ * 两个系统有效条件相或,等效于两者的并集
24
+ * @param cond1 系统有效条件1
25
+ * @param cond2 系统有效条件2
26
+ * @return OrCondition 实例指针
27
+ */
28
+ HKU_API ConditionPtr operator|(const ConditionPtr& cond1, const ConditionPtr& cond2);
29
+
30
+ HKU_API ConditionPtr operator+(const ConditionPtr& cond1, const ConditionPtr& cond2);
31
+ HKU_API ConditionPtr operator-(const ConditionPtr& cond1, const ConditionPtr& cond2);
32
+ HKU_API ConditionPtr operator*(const ConditionPtr& cond1, const ConditionPtr& cond2);
33
+ HKU_API ConditionPtr operator/(const ConditionPtr& cond1, const ConditionPtr& cond2);
34
+
35
+ } // namespace hku
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Copyright (c) 2019~2023, hikyuu.org
3
+ *
4
+ * History:
5
+ * 1. 20240916 added by fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "../ConditionBase.h"
11
+
12
+ namespace hku {
13
+
14
+ /**
15
+ * 仅能手工添加有效性的CN,用于测试或其他特殊用途
16
+ * @return CNPtr
17
+ */
18
+ CNPtr HKU_API CN_Manual();
19
+
20
+ } // namespace hku
@@ -0,0 +1,26 @@
1
+ /*
2
+ * CN_OPLine.h
3
+ *
4
+ * Created on: 2016年5月10日
5
+ * Author: Administrator
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_CONDITION_CRT_CN_OPLINE_H_
10
+ #define TRADE_SYS_CONDITION_CRT_CN_OPLINE_H_
11
+
12
+ #include "../../../indicator/Indicator.h"
13
+ #include "../ConditionBase.h"
14
+
15
+ namespace hku {
16
+
17
+ /**
18
+ * 固定使用股票最小交易量进行交易,计算权益曲线的op值,当权益曲线高于op时,系统有效,否则无效。
19
+ * @param op
20
+ * @return
21
+ */
22
+ CNPtr HKU_API CN_OPLine(const Indicator& op);
23
+
24
+ } /* namespace hku */
25
+
26
+ #endif /* TRADE_SYS_CONDITION_CRT_CN_OPLINE_H_ */
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Copyright (c) 2023 hikyuu.org
3
+ *
4
+ * Created on: 2023-12-21
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/indicator/Indicator.h"
11
+ #include "../ConditionBase.h"
12
+
13
+ namespace hku {
14
+
15
+ class BoolCondition : public ConditionBase {
16
+ public:
17
+ BoolCondition();
18
+ explicit BoolCondition(const Indicator&);
19
+ virtual ~BoolCondition();
20
+
21
+ virtual void _calculate() override;
22
+ virtual ConditionPtr _clone() override;
23
+
24
+ private:
25
+ Indicator m_ind;
26
+
27
+ //============================================
28
+ // 序列化支持
29
+ //============================================
30
+ #if HKU_SUPPORT_SERIALIZATION
31
+ friend class boost::serialization::access;
32
+ template <class Archive>
33
+ void serialize(Archive& ar, const unsigned int version) {
34
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(ConditionBase);
35
+ ar& BOOST_SERIALIZATION_NVP(m_ind);
36
+ }
37
+ #endif
38
+ };
39
+
40
+ } // namespace hku
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2019~2023, hikyuu.org
3
+ *
4
+ * History:
5
+ * 1. 20240916 added by fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "../ConditionBase.h"
11
+
12
+ namespace hku {
13
+
14
+ class ManualCondition : public ConditionBase {
15
+ CONDITION_IMP(ManualCondition)
16
+ CONDITION_NO_PRIVATE_MEMBER_SERIALIZATION
17
+
18
+ public:
19
+ ManualCondition();
20
+ virtual ~ManualCondition() = default;
21
+ };
22
+
23
+ } // namespace hku
@@ -0,0 +1,44 @@
1
+ /*
2
+ * OPCondition.h
3
+ *
4
+ * Created on: 2016年5月9日
5
+ * Author: Administrator
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_CONDITION_IMP_OPLINECONDITION_H_
10
+ #define TRADE_SYS_CONDITION_IMP_OPLINECONDITION_H_
11
+
12
+ #include "../ConditionBase.h"
13
+ #include "../../../indicator/Indicator.h"
14
+
15
+ namespace hku {
16
+
17
+ class OPLineCondition : public ConditionBase {
18
+ public:
19
+ OPLineCondition();
20
+ explicit OPLineCondition(const Indicator&);
21
+ virtual ~OPLineCondition();
22
+
23
+ virtual void _calculate() override;
24
+ virtual ConditionPtr _clone() override;
25
+
26
+ private:
27
+ Indicator m_op;
28
+
29
+ //============================================
30
+ // 序列化支持
31
+ //============================================
32
+ #if HKU_SUPPORT_SERIALIZATION
33
+ friend class boost::serialization::access;
34
+ template <class Archive>
35
+ void serialize(Archive& ar, const unsigned int version) {
36
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(ConditionBase);
37
+ ar& BOOST_SERIALIZATION_NVP(m_op);
38
+ }
39
+ #endif
40
+ };
41
+
42
+ } /* namespace hku */
43
+
44
+ #endif /* TRADE_SYS_CONDITION_IMP_OPLINECONDITION_H_ */
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright (c) 2019~2023, hikyuu.org
3
+ *
4
+ * History:
5
+ * 1. 20240223 added by fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "../ConditionBase.h"
11
+
12
+ namespace hku {
13
+
14
+ class HKU_API SubCondition : public ConditionBase {
15
+ public:
16
+ SubCondition();
17
+ SubCondition(const ConditionPtr& cond1, const ConditionPtr& cond2);
18
+ virtual ~SubCondition();
19
+
20
+ virtual void _calculate() override;
21
+ virtual void _reset() override;
22
+ virtual ConditionPtr _clone() override;
23
+
24
+ private:
25
+ ConditionPtr m_cond1;
26
+ ConditionPtr m_cond2;
27
+
28
+ //============================================
29
+ // 序列化支持
30
+ //============================================
31
+ #if HKU_SUPPORT_SERIALIZATION
32
+ friend class boost::serialization::access;
33
+ template <class Archive>
34
+ void serialize(Archive& ar, const unsigned int version) {
35
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(ConditionBase);
36
+ ar& BOOST_SERIALIZATION_NVP(m_cond1);
37
+ ar& BOOST_SERIALIZATION_NVP(m_cond2);
38
+ }
39
+ #endif
40
+ };
41
+
42
+ } // namespace hku
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright (c) 2019~2023, hikyuu.org
3
+ *
4
+ * History:
5
+ * 1. 20240223 added by fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/trade_sys/condition/ConditionBase.h"
11
+
12
+ namespace hku {
13
+
14
+ class HKU_API AddCondition : public ConditionBase {
15
+ public:
16
+ AddCondition();
17
+ AddCondition(const ConditionPtr& cond1, const ConditionPtr& cond2);
18
+ virtual ~AddCondition();
19
+
20
+ virtual void _calculate() override;
21
+ virtual void _reset() override;
22
+ virtual ConditionPtr _clone() override;
23
+
24
+ private:
25
+ ConditionPtr m_cond1;
26
+ ConditionPtr m_cond2;
27
+
28
+ //============================================
29
+ // 序列化支持
30
+ //============================================
31
+ #if HKU_SUPPORT_SERIALIZATION
32
+ friend class boost::serialization::access;
33
+ template <class Archive>
34
+ void serialize(Archive& ar, const unsigned int version) {
35
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(ConditionBase);
36
+ ar& BOOST_SERIALIZATION_NVP(m_cond1);
37
+ ar& BOOST_SERIALIZATION_NVP(m_cond2);
38
+ }
39
+ #endif
40
+ };
41
+
42
+ } // namespace hku
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright (c) 2024 hikyuu.org
3
+ *
4
+ * Created on: 2024-02-16
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/trade_sys/condition/ConditionBase.h"
11
+
12
+ namespace hku {
13
+
14
+ class HKU_API AndCondition : public ConditionBase {
15
+ public:
16
+ AndCondition();
17
+ AndCondition(const ConditionPtr& cond1, const ConditionPtr& cond2);
18
+ virtual ~AndCondition();
19
+
20
+ virtual void _calculate() override;
21
+ virtual void _reset() override;
22
+ virtual ConditionPtr _clone() override;
23
+
24
+ private:
25
+ ConditionPtr m_cond1;
26
+ ConditionPtr m_cond2;
27
+
28
+ //============================================
29
+ // 序列化支持
30
+ //============================================
31
+ #if HKU_SUPPORT_SERIALIZATION
32
+ friend class boost::serialization::access;
33
+ template <class Archive>
34
+ void serialize(Archive& ar, const unsigned int version) {
35
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(ConditionBase);
36
+ ar& BOOST_SERIALIZATION_NVP(m_cond1);
37
+ ar& BOOST_SERIALIZATION_NVP(m_cond2);
38
+ }
39
+ #endif
40
+ };
41
+
42
+ } // namespace hku
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright (c) 2019~2023, hikyuu.org
3
+ *
4
+ * History:
5
+ * 1. 20240223 added by fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/trade_sys/condition/ConditionBase.h"
11
+
12
+ namespace hku {
13
+
14
+ class HKU_API DivCondition : public ConditionBase {
15
+ public:
16
+ DivCondition();
17
+ DivCondition(const ConditionPtr& cond1, const ConditionPtr& cond2);
18
+ virtual ~DivCondition();
19
+
20
+ virtual void _calculate() override;
21
+ virtual void _reset() override;
22
+ virtual ConditionPtr _clone() override;
23
+
24
+ private:
25
+ ConditionPtr m_cond1;
26
+ ConditionPtr m_cond2;
27
+
28
+ //============================================
29
+ // 序列化支持
30
+ //============================================
31
+ #if HKU_SUPPORT_SERIALIZATION
32
+ friend class boost::serialization::access;
33
+ template <class Archive>
34
+ void serialize(Archive& ar, const unsigned int version) {
35
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(ConditionBase);
36
+ ar& BOOST_SERIALIZATION_NVP(m_cond1);
37
+ ar& BOOST_SERIALIZATION_NVP(m_cond2);
38
+ }
39
+ #endif
40
+ };
41
+
42
+ } // namespace hku
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright (c) 2019~2023, hikyuu.org
3
+ *
4
+ * History:
5
+ * 1. 20240223 added by fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/trade_sys/condition/ConditionBase.h"
11
+
12
+ namespace hku {
13
+
14
+ class HKU_API MultiCondition : public ConditionBase {
15
+ public:
16
+ MultiCondition();
17
+ MultiCondition(const ConditionPtr& cond1, const ConditionPtr& cond2);
18
+ virtual ~MultiCondition();
19
+
20
+ virtual void _calculate() override;
21
+ virtual void _reset() override;
22
+ virtual ConditionPtr _clone() override;
23
+
24
+ private:
25
+ ConditionPtr m_cond1;
26
+ ConditionPtr m_cond2;
27
+
28
+ //============================================
29
+ // 序列化支持
30
+ //============================================
31
+ #if HKU_SUPPORT_SERIALIZATION
32
+ friend class boost::serialization::access;
33
+ template <class Archive>
34
+ void serialize(Archive& ar, const unsigned int version) {
35
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(ConditionBase);
36
+ ar& BOOST_SERIALIZATION_NVP(m_cond1);
37
+ ar& BOOST_SERIALIZATION_NVP(m_cond2);
38
+ }
39
+ #endif
40
+ };
41
+
42
+ } // namespace hku
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright (c) 2019~2023, hikyuu.org
3
+ *
4
+ * History:
5
+ * 1. 20240223 added by fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/trade_sys/condition/ConditionBase.h"
11
+
12
+ namespace hku {
13
+
14
+ class HKU_API OrCondition : public ConditionBase {
15
+ public:
16
+ OrCondition();
17
+ OrCondition(const ConditionPtr& cond1, const ConditionPtr& cond2);
18
+ virtual ~OrCondition();
19
+
20
+ virtual void _calculate() override;
21
+ virtual void _reset() override;
22
+ virtual ConditionPtr _clone() override;
23
+
24
+ private:
25
+ ConditionPtr m_cond1;
26
+ ConditionPtr m_cond2;
27
+
28
+ //============================================
29
+ // 序列化支持
30
+ //============================================
31
+ #if HKU_SUPPORT_SERIALIZATION
32
+ friend class boost::serialization::access;
33
+ template <class Archive>
34
+ void serialize(Archive& ar, const unsigned int version) {
35
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(ConditionBase);
36
+ ar& BOOST_SERIALIZATION_NVP(m_cond1);
37
+ ar& BOOST_SERIALIZATION_NVP(m_cond2);
38
+ }
39
+ #endif
40
+ };
41
+
42
+ } // namespace hku
@@ -0,0 +1,178 @@
1
+ /*
2
+ * Environment.h
3
+ *
4
+ * Created on: 2013-2-28
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef ENVIRONMENT_H_
10
+ #define ENVIRONMENT_H_
11
+
12
+ #include <set>
13
+ #include <shared_mutex>
14
+ #include "../../KQuery.h"
15
+ #include "../../utilities/Parameter.h"
16
+
17
+ namespace hku {
18
+
19
+ /**
20
+ * 环境判定策略基类
21
+ * @note 外部环境应该和具体的交易对象没有关系
22
+ * @ingroup Environment
23
+ */
24
+ class HKU_API EnvironmentBase : public enable_shared_from_this<EnvironmentBase> {
25
+ PARAMETER_SUPPORT_WITH_CHECK
26
+
27
+ public:
28
+ EnvironmentBase();
29
+ explicit EnvironmentBase(const string& name);
30
+ virtual ~EnvironmentBase();
31
+
32
+ // 用于 python clone, 但由于 mutex, 是非线程安全的
33
+ EnvironmentBase(const EnvironmentBase&);
34
+
35
+ /** 获取名称 */
36
+ const string& name() const {
37
+ return m_name;
38
+ }
39
+
40
+ /** 设置名称 */
41
+ void name(const string& name) {
42
+ m_name = name;
43
+ }
44
+
45
+ /** 复位 */
46
+ void reset();
47
+
48
+ /** 设置查询条件 */
49
+ void setQuery(const KQuery& query);
50
+
51
+ /** 获取查询条件 */
52
+ const KQuery& getQuery() const {
53
+ return m_query;
54
+ }
55
+
56
+ typedef shared_ptr<EnvironmentBase> EnvironmentPtr;
57
+ /**
58
+ * 克隆操作
59
+ * @note Environment不同于其他的系统策略组件,它是不和特定的交易对象绑定的,可以共享,本质是
60
+ * 上是不需要clone操作的,这里仅仅是为了整齐以及可能存在的特殊场景使用。
61
+ */
62
+ EnvironmentPtr clone();
63
+
64
+ /**
65
+ * 加入有效时间,在_calculate中调用
66
+ * @param datetime 系统有效日期
67
+ */
68
+ void _addValid(const Datetime& datetime);
69
+
70
+ /**
71
+ * 判断指定日期的外部环境是否有效
72
+ * @param datetime 指定日期
73
+ * @return true 有效 | false 无效
74
+ */
75
+ bool isValid(const Datetime& datetime);
76
+
77
+ /** 子类计算接口 */
78
+ virtual void _calculate() = 0;
79
+
80
+ /** 子类复位接口 */
81
+ virtual void _reset() {}
82
+
83
+ /** 子类克隆接口 */
84
+ virtual EnvironmentPtr _clone() = 0;
85
+
86
+ protected:
87
+ string m_name;
88
+ KQuery m_query;
89
+ std::set<Datetime> m_valid;
90
+ std::shared_mutex m_mutex;
91
+
92
+ //============================================
93
+ // 序列化支持
94
+ //============================================
95
+ #if HKU_SUPPORT_SERIALIZATION
96
+ private:
97
+ friend class boost::serialization::access;
98
+ template <class Archive>
99
+ void save(Archive& ar, const unsigned int version) const {
100
+ ar& BOOST_SERIALIZATION_NVP(m_name);
101
+ ar& BOOST_SERIALIZATION_NVP(m_params);
102
+ // ev可能多个系统共享,保留m_query可能用于查错
103
+ ar& BOOST_SERIALIZATION_NVP(m_query);
104
+ ar& BOOST_SERIALIZATION_NVP(m_valid);
105
+ }
106
+
107
+ template <class Archive>
108
+ void load(Archive& ar, const unsigned int version) {
109
+ ar& BOOST_SERIALIZATION_NVP(m_name);
110
+ ar& BOOST_SERIALIZATION_NVP(m_query);
111
+ ar& BOOST_SERIALIZATION_NVP(m_valid);
112
+ }
113
+
114
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
115
+ #endif /* HKU_SUPPORT_SERIALIZATION */
116
+ };
117
+
118
+ #if HKU_SUPPORT_SERIALIZATION
119
+ BOOST_SERIALIZATION_ASSUME_ABSTRACT(EnvironmentBase)
120
+ #endif
121
+
122
+ #if HKU_SUPPORT_SERIALIZATION
123
+ /**
124
+ * 对于没有私有变量的继承子类,可直接使用该宏定义序列化
125
+ * @code
126
+ * class Drived: public EnvironmentBase {
127
+ * ENVIRONMENT_NO_PRIVATE_MEMBER_SERIALIZATION
128
+ *
129
+ * public:
130
+ * Drived();
131
+ * ...
132
+ * };
133
+ * @endcode
134
+ * @ingroup Environment
135
+ */
136
+ #define ENVIRONMENT_NO_PRIVATE_MEMBER_SERIALIZATION \
137
+ private: \
138
+ friend class boost::serialization::access; \
139
+ template <class Archive> \
140
+ void serialize(Archive& ar, const unsigned int version) { \
141
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(EnvironmentBase); \
142
+ }
143
+ #else
144
+ #define ENVIRONMENT_NO_PRIVATE_MEMBER_SERIALIZATION
145
+ #endif
146
+
147
+ /**
148
+ * 客户程序都应使用该指针类型
149
+ * @ingroup Environment
150
+ */
151
+ typedef shared_ptr<EnvironmentBase> EnvironmentPtr;
152
+ typedef shared_ptr<EnvironmentBase> EVPtr;
153
+
154
+ #define ENVIRONMENT_IMP(classname) \
155
+ public: \
156
+ virtual EnvironmentPtr _clone() override { \
157
+ return std::make_shared<classname>(); \
158
+ } \
159
+ virtual void _calculate() override;
160
+
161
+ /**
162
+ * 输出Environment信息,如:Environment(name, params[...])
163
+ * @ingroup Environment
164
+ */
165
+ HKU_API std::ostream& operator<<(std::ostream& os, const EnvironmentPtr&);
166
+ HKU_API std::ostream& operator<<(std::ostream& os, const EnvironmentBase&);
167
+
168
+ } /* namespace hku */
169
+
170
+ #if FMT_VERSION >= 90000
171
+ template <>
172
+ struct fmt::formatter<hku::EnvironmentBase> : ostream_formatter {};
173
+
174
+ template <>
175
+ struct fmt::formatter<hku::EnvironmentPtr> : ostream_formatter {};
176
+ #endif
177
+
178
+ #endif /* ENVIRONMENT_H_ */
@@ -0,0 +1,16 @@
1
+ /*
2
+ * build_in.h
3
+ *
4
+ * Created on: 2013-5-5
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef ENVIRONMENT_BUILD_IN_H_
10
+ #define ENVIRONMENT_BUILD_IN_H_
11
+
12
+ #include "crt/EV_TwoLine.h"
13
+ #include "crt/EV_Bool.h"
14
+ #include "crt/EV_Manual.h"
15
+
16
+ #endif /* ENVIRONMENT_BUILD_IN_H */