hikyuu 2.7.0.4__py3-none-win_amd64.whl → 2.7.1__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 (46) hide show
  1. hikyuu/__init__.py +3 -0
  2. hikyuu/__init__.pyi +11 -7
  3. hikyuu/core.pyi +1 -1
  4. hikyuu/cpp/boost_date_time-mt.dll +0 -0
  5. hikyuu/cpp/boost_serialization-mt.dll +0 -0
  6. hikyuu/cpp/boost_wserialization-mt.dll +0 -0
  7. hikyuu/cpp/core310.pyd +0 -0
  8. hikyuu/cpp/core310.pyi +2 -2
  9. hikyuu/cpp/core311.pyd +0 -0
  10. hikyuu/cpp/core311.pyi +2 -2
  11. hikyuu/cpp/core312.pyd +0 -0
  12. hikyuu/cpp/core312.pyi +2 -2
  13. hikyuu/cpp/core313.pyd +0 -0
  14. hikyuu/cpp/core313.pyi +2 -2
  15. hikyuu/cpp/hikyuu.dll +0 -0
  16. hikyuu/cpp/hikyuu.lib +0 -0
  17. hikyuu/data/download_block.py +1 -1
  18. hikyuu/data/hku_config_template.py +4 -1
  19. hikyuu/data/pytdx_to_clickhouse.py +1 -1
  20. hikyuu/draw/drawplot/bokeh_draw.pyi +7 -5
  21. hikyuu/draw/drawplot/echarts_draw.pyi +7 -5
  22. hikyuu/draw/drawplot/matplotlib_draw.pyi +7 -5
  23. hikyuu/extend.pyi +2 -2
  24. hikyuu/gui/HikyuuTDX.py +10 -1
  25. hikyuu/hub.pyi +6 -6
  26. hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +9 -10
  27. hikyuu/include/hikyuu/version.h +4 -4
  28. hikyuu/plugin/backtest.dll +0 -0
  29. hikyuu/plugin/clickhousedriver.dll +0 -0
  30. hikyuu/plugin/dataserver.dll +0 -0
  31. hikyuu/plugin/dataserver_parquet.dll +0 -0
  32. hikyuu/plugin/device.dll +0 -0
  33. hikyuu/plugin/extind.dll +0 -0
  34. hikyuu/plugin/hkuextra.dll +0 -0
  35. hikyuu/plugin/import2hdf5.dll +0 -0
  36. hikyuu/plugin/tmreport.dll +0 -0
  37. hikyuu/trade_manage/__init__.pyi +3 -3
  38. hikyuu/trade_manage/trade.pyi +3 -3
  39. hikyuu/trade_sys/trade_sys.py +51 -4
  40. hikyuu/util/singleton.pyi +1 -1
  41. {hikyuu-2.7.0.4.dist-info → hikyuu-2.7.1.dist-info}/METADATA +5 -1
  42. {hikyuu-2.7.0.4.dist-info → hikyuu-2.7.1.dist-info}/RECORD +45 -46
  43. hikyuu/cpp/boost_system-mt.dll +0 -0
  44. {hikyuu-2.7.0.4.dist-info → hikyuu-2.7.1.dist-info}/WHEEL +0 -0
  45. {hikyuu-2.7.0.4.dist-info → hikyuu-2.7.1.dist-info}/entry_points.txt +0 -0
  46. {hikyuu-2.7.0.4.dist-info → hikyuu-2.7.1.dist-info}/top_level.txt +0 -0
@@ -189,8 +189,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
189
189
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KALMAN
190
190
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KDATA_PART
191
191
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LAST
192
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
193
192
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE
193
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
194
194
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN as CAPITAL
195
195
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN
196
196
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLV
@@ -237,8 +237,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
237
237
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PG_NoGoal
238
238
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import POS
239
239
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import POW
240
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST
241
240
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST as VALUE
241
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST
242
242
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import QUANTILE_TRUNC
243
243
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import RANK
244
244
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import RECOVER_BACKWARD
@@ -619,8 +619,8 @@ from hikyuu.hub import get_part_info
619
619
  from hikyuu.hub import get_part_list
620
620
  from hikyuu.hub import get_part_module
621
621
  from hikyuu.hub import get_part_name_list
622
- from hikyuu.hub import print_part_info
623
622
  from hikyuu.hub import print_part_info as help_part
623
+ from hikyuu.hub import print_part_info
624
624
  from hikyuu.hub import remove_hub
625
625
  from hikyuu.hub import search_part
626
626
  from hikyuu.hub import update_hub
@@ -646,7 +646,9 @@ from hikyuu.trade_sys.trade_sys import crtCN
646
646
  from hikyuu.trade_sys.trade_sys import crtEV
647
647
  from hikyuu.trade_sys.trade_sys import crtMF
648
648
  from hikyuu.trade_sys.trade_sys import crtMM
649
+ from hikyuu.trade_sys.trade_sys import crtNorm
649
650
  from hikyuu.trade_sys.trade_sys import crtPG
651
+ from hikyuu.trade_sys.trade_sys import crtSCFilter
650
652
  from hikyuu.trade_sys.trade_sys import crtSE
651
653
  from hikyuu.trade_sys.trade_sys import crtSG
652
654
  from hikyuu.trade_sys.trade_sys import crtSP
@@ -667,8 +669,8 @@ from hikyuu.util.mylog import add_class_logger_handler
667
669
  from hikyuu.util.mylog import capture_multiprocess_all_logger
668
670
  from hikyuu.util.mylog import class_logger
669
671
  from hikyuu.util.mylog import hku_benchmark
670
- from hikyuu.util.mylog import hku_debug
671
672
  from hikyuu.util.mylog import hku_debug as hku_trace
673
+ from hikyuu.util.mylog import hku_debug
672
674
  from hikyuu.util.mylog import hku_debug_if
673
675
  from hikyuu.util.mylog import hku_debug_if as hku_trace_if
674
676
  from hikyuu.util.mylog import hku_error
@@ -710,7 +712,7 @@ import pickle as pickle
710
712
  import seaborn as sns
711
713
  import sys as sys
712
714
  import traceback as traceback
713
- __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', 'DRAWBAND', 'DRAWBMP', 'DRAWICON', 'DRAWIMG', 'DRAWLINE', 'DRAWNULL', 'DRAWNUMBER', 'DRAWNUMBER_FIX', 'DRAWRECTREL', 'DRAWSL', 'DRAWTEXT', 'DRAWTEXT_FIX', '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', 'FixedLocator', 'FontManager', 'FuncFormatter', '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', 'ICON_PATH', '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', 'Line2D', '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', 'PLOYLINE', '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', 'RGB', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'Rectangle', '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', 'SHOWICONS', 'SIN', 'SLICE', 'SLOPE', 'SMA', 'SPEARMAN', 'SP_FixedPercent', 'SP_FixedValue', 'SP_LogNormal', 'SP_Normal', 'SP_TruncNormal', 'SP_Uniform', 'SQRT', 'STD', 'STDEV', 'STDP', 'STICKLINE', 'ST_FixedPercent', 'ST_Indicator', 'ST_Saftyloss', 'SUM', 'SUMBARS', 'SYS_Simple', 'SYS_WalkForward', 'ScoreRecord', 'ScoreRecordList', 'ScoresFilterBase', 'Seconds', 'SelectorBase', 'SignalBase', 'SlippageBase', 'SpotRecord', 'Stock', 'StockFuncFormatter', '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', 'TICKLEFT', 'TICKRIGHT', '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', 'add_local_hub', 'add_remote_hub', 'adjust_axes_show', 'analysis', 'analysis_sys_list', 'analysis_sys_list_multi', 'atexit', 'ax_draw_macd', 'ax_draw_macd2', 'ax_set_locator_formatter', 'axes', 'backtest', 'batch_calculate_inds', 'bind_email', 'broker', 'broker_easytrader', 'broker_mail', 'build_hub', 'can_upgrade', 'capture_multiprocess_all_logger', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'cnplot', 'combinate_ind', 'combinate_ind_analysis', 'combinate_ind_analysis_multi', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'create_figure', 'create_four_axes_figure', 'create_one_axes_figure', 'create_three_axes_figure', 'create_two_axes_figure', 'crtAF', 'crtBrokerTM', 'crtCN', 'crtEV', 'crtMF', 'crtMM', 'crtOB', 'crtPG', 'crtSE', 'crtSEOptimal', 'crtSG', 'crtSP', 'crtST', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'current_path', 'date', 'dates_to_np', 'datetime', 'df_to_ind', 'df_to_krecords', 'dll_directory', 'draw', 'evplot', 'extend', 'fetch_trial_license', 'figure', 'find_optimal_system', 'find_optimal_system_multi', 'fm_logger', 'gca', 'gcf', 'getDayLocatorAndFormatter', 'getMinLocatorAndFormatter', 'get_block', 'get_business_name', 'get_current_hub', 'get_data_from_buffer_server', 'get_date_range', 'get_draw_title', 'get_expire_date', 'get_funds_list', 'get_hub_name_list', 'get_hub_path', 'get_kdata', 'get_last_version', 'get_log_level', 'get_part', 'get_part_info', 'get_part_list', 'get_part_module', 'get_part_name_list', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'help_part', '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', 'hub', 'ibar', 'iheatmap', 'imread', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'io', 'iplot', 'is_valid_license', 'isinf', 'isnan', 'kplot', 'krecords_to_df', 'krecords_to_np', 'locale', 'logging', 'math', 'matplotlib', 'mkplot', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'parallel_run_pf', 'parallel_run_sys', 'part_clone', 'part_init', 'part_iter', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'print_part_info', 'pyind', 'rcParams', 'register_extra_ktype', 'release_extra_ktype', 'remove_hub', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'search_part', 'set_log_level', 'set_mpl_params', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', 'sgplot', 'sns', 'spend_time', 'spot_agent_is_connected', 'spot_agent_is_running', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'sys', 'sys_heatmap', 'sys_performance', 'sysplot', 'systemweights_to_df', 'systemweights_to_np', 'timedelta', 'timeline_to_df', 'timeline_to_np', 'timeout', 'tm_heatmap', 'tm_performance', 'toPriceList', 'traceback', 'trade', 'trade_manage', 'trade_sys', 'trades_to_df', 'trades_to_np', 'translist_to_df', 'translist_to_np', 'update_hub', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'with_trace', 'ylabel']
715
+ __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', 'DRAWBAND', 'DRAWBMP', 'DRAWICON', 'DRAWIMG', 'DRAWLINE', 'DRAWNULL', 'DRAWNUMBER', 'DRAWNUMBER_FIX', 'DRAWRECTREL', 'DRAWSL', 'DRAWTEXT', 'DRAWTEXT_FIX', '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', 'FixedLocator', 'FontManager', 'FuncFormatter', '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', 'ICON_PATH', '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', 'Line2D', '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', 'PLOYLINE', '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', 'RGB', 'ROC', 'ROCP', 'ROCR', 'ROCR100', 'ROUND', 'ROUNDDOWN', 'ROUNDUP', 'RSI', 'Rectangle', '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', 'SHOWICONS', 'SIN', 'SLICE', 'SLOPE', 'SMA', 'SPEARMAN', 'SP_FixedPercent', 'SP_FixedValue', 'SP_LogNormal', 'SP_Normal', 'SP_TruncNormal', 'SP_Uniform', 'SQRT', 'STD', 'STDEV', 'STDP', 'STICKLINE', 'ST_FixedPercent', 'ST_Indicator', 'ST_Saftyloss', 'SUM', 'SUMBARS', 'SYS_Simple', 'SYS_WalkForward', 'ScoreRecord', 'ScoreRecordList', 'ScoresFilterBase', 'Seconds', 'SelectorBase', 'SignalBase', 'SlippageBase', 'SpotRecord', 'Stock', 'StockFuncFormatter', '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', 'TICKLEFT', 'TICKRIGHT', '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', 'add_local_hub', 'add_remote_hub', 'adjust_axes_show', 'analysis', 'analysis_sys_list', 'analysis_sys_list_multi', 'atexit', 'ax_draw_macd', 'ax_draw_macd2', 'ax_set_locator_formatter', 'axes', 'backtest', 'batch_calculate_inds', 'bind_email', 'broker', 'broker_easytrader', 'broker_mail', 'build_hub', 'can_upgrade', 'capture_multiprocess_all_logger', 'class_logger', 'close_ostream_to_python', 'close_spend_time', 'cnplot', 'combinate_ind', 'combinate_ind_analysis', 'combinate_ind_analysis_multi', 'combinate_index', 'concat_to_df', 'constant', 'core', 'cpp', 'create_figure', 'create_four_axes_figure', 'create_one_axes_figure', 'create_three_axes_figure', 'create_two_axes_figure', 'crtAF', 'crtBrokerTM', 'crtCN', 'crtEV', 'crtMF', 'crtMM', 'crtNorm', 'crtOB', 'crtPG', 'crtSCFilter', 'crtSE', 'crtSEOptimal', 'crtSG', 'crtSP', 'crtST', 'crtTM', 'crt_pf_strategy', 'crt_sys_strategy', 'current_path', 'date', 'dates_to_np', 'datetime', 'df_to_ind', 'df_to_krecords', 'dll_directory', 'draw', 'evplot', 'extend', 'fetch_trial_license', 'figure', 'find_optimal_system', 'find_optimal_system_multi', 'fm_logger', 'gca', 'gcf', 'getDayLocatorAndFormatter', 'getMinLocatorAndFormatter', 'get_block', 'get_business_name', 'get_current_hub', 'get_data_from_buffer_server', 'get_date_range', 'get_draw_title', 'get_expire_date', 'get_funds_list', 'get_hub_name_list', 'get_hub_path', 'get_kdata', 'get_last_version', 'get_log_level', 'get_part', 'get_part_info', 'get_part_list', 'get_part_module', 'get_part_name_list', 'get_spot_from_buffer_server', 'get_stock', 'get_system_part_enum', 'get_system_part_name', 'get_version', 'get_version_git', 'get_version_with_build', 'help_part', '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', 'hub', 'ibar', 'iheatmap', 'imread', 'in_interactive_session', 'in_ipython_frontend', 'indicator', 'inner_analysis_sys_list', 'inner_combinate_ind_analysis', 'inner_combinate_ind_analysis_with_block', 'io', 'iplot', 'is_valid_license', 'isinf', 'isnan', 'kplot', 'krecords_to_df', 'krecords_to_np', 'locale', 'logging', 'math', 'matplotlib', 'mkplot', 'new_Query_init', 'new_path', 'np', 'old_Query_init', 'open_ostream_to_python', 'open_spend_time', 'os', 'parallel_run_pf', 'parallel_run_sys', 'part_clone', 'part_init', 'part_iter', 'pd', 'pickle', 'positions_to_df', 'positions_to_np', 'print_part_info', 'pyind', 'rcParams', 'register_extra_ktype', 'release_extra_ktype', 'remove_hub', 'remove_license', 'roundDown', 'roundEx', 'roundUp', 'run_in_strategy', 'scorerecords_to_df', 'scorerecords_to_np', 'search_part', 'set_log_level', 'set_mpl_params', 'set_my_logger_file', 'set_python_in_interactive', 'set_python_in_jupyter', 'sgplot', 'sns', 'spend_time', 'spot_agent_is_connected', 'spot_agent_is_running', 'start_data_server', 'start_spot_agent', 'stop_data_server', 'stop_spot_agent', 'sys', 'sys_heatmap', 'sys_performance', 'sysplot', 'systemweights_to_df', 'systemweights_to_np', 'timedelta', 'timeline_to_df', 'timeline_to_np', 'timeout', 'tm_heatmap', 'tm_performance', 'toPriceList', 'traceback', 'trade', 'trade_manage', 'trade_sys', 'trades_to_df', 'trades_to_np', 'translist_to_df', 'translist_to_np', 'update_hub', 'util', 'view_license', 'weights_to_df', 'weights_to_np', 'with_trace', 'ylabel']
714
716
  class StockFuncFormatter:
715
717
  """
716
718
  用于坐标轴显示日期
hikyuu/extend.pyi CHANGED
@@ -498,13 +498,13 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
498
498
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ZHBOND10
499
499
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ZONGGUBEN
500
500
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import ZSCORE
501
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import __add__ as __old_TimeDelta_add__
502
501
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import __add__ as __old_Datetime_add__
502
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import __add__ as __old_TimeDelta_add__
503
503
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import __init__ as __old_Datetime_init__
504
504
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import __init__ as old_Query_init
505
505
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import __init__ as __old_TimeDelta_init__
506
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import __sub__ as __old_Datetime_sub__
507
506
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import __sub__ as __old_TimeDelta_sub__
507
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import __sub__ as __old_Datetime_sub__
508
508
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import active_device
509
509
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import backtest
510
510
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import batch_calculate_inds
hikyuu/gui/HikyuuTDX.py CHANGED
@@ -105,6 +105,13 @@ class MyMainWindow(QMainWindow, Ui_MainWindow):
105
105
  with open(filename, 'w', encoding='utf-8') as f:
106
106
  current_config.write(f)
107
107
  filename = self.getHikyuuConfigFileName()
108
+ old_config = ConfigParser()
109
+ if os.path.exists(filename):
110
+ old_config.read(filename, encoding='utf-8')
111
+ old_reload_time = "00:00"
112
+ if old_config.has_section('hikyuu'):
113
+ old_reload_time = old_config.get('hikyuu', 'reload_time', fallback="00:00")
114
+
108
115
  if current_config.getboolean('hdf5', 'enable', fallback=True):
109
116
  data_dir = current_config['hdf5']['dir']
110
117
  if not os.path.lexists(data_dir + '/tmp'):
@@ -116,7 +123,7 @@ class MyMainWindow(QMainWindow, Ui_MainWindow):
116
123
  with open(filename, 'w', encoding='utf-8') as f:
117
124
  f.write(
118
125
  hku_config_template.hdf5_template.format(
119
- dir=data_dir,
126
+ dir=data_dir, reload_time=old_reload_time,
120
127
  quotation_server=current_config.get(
121
128
  'collect', 'quotation_server', fallback='ipc:///tmp/hikyuu_real.ipc'),
122
129
  day=current_config.getboolean('preload', 'day', fallback=True),
@@ -157,6 +164,7 @@ class MyMainWindow(QMainWindow, Ui_MainWindow):
157
164
  f.write(
158
165
  hku_config_template.mysql_template.format(
159
166
  dir=data_dir,
167
+ reload_time=old_reload_time,
160
168
  quotation_server=current_config.get(
161
169
  'collect', 'quotation_server', fallback='ipc:///tmp/hikyuu_real.ipc'),
162
170
  host=current_config['mysql']['host'],
@@ -200,6 +208,7 @@ class MyMainWindow(QMainWindow, Ui_MainWindow):
200
208
  f.write(
201
209
  hku_config_template.clickhouse_template.format(
202
210
  dir=data_dir,
211
+ reload_time=old_reload_time,
203
212
  quotation_server=current_config.get(
204
213
  'collect', 'quotation_server', fallback='ipc:///tmp/hikyuu_real.ipc'),
205
214
  host=current_config['clickhouse']['host'],
hikyuu/hub.pyi CHANGED
@@ -28,11 +28,11 @@ import sys as sys
28
28
  import typing
29
29
  __all__: list = ['add_remote_hub', 'add_local_hub', 'update_hub', 'remove_hub', 'build_hub', 'help_part', 'get_part', 'get_part_list', 'get_hub_path', 'get_part_info', 'get_part_module', 'print_part_info', 'get_hub_name_list', 'get_part_name_list', 'get_current_hub', 'search_part']
30
30
  class ConfigModel(sqlalchemy.orm.decl_api.Base):
31
- __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x1cf0514acb0; ConfigModel>
31
+ __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x24e9715af20; ConfigModel>
32
32
  __table__: typing.ClassVar[sqlalchemy.sql.schema.Table] # value = Table('hub_config', MetaData(), Column('id', Integer(), table=<hub_config>, primary_key=True, nullable=False, default=Sequence('config_id_seq', metadata=MetaData())), Column('key', String(), table=<hub_config>), Column('value', String(), table=<hub_config>), schema=None)
33
33
  __table_args__: typing.ClassVar[tuple] # value = (UniqueConstraint(Column('key', String(), table=<hub_config>)))
34
34
  __tablename__: typing.ClassVar[str] = 'hub_config'
35
- _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.ConfigModel'> at 1cf05160b30>
35
+ _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.ConfigModel'> at 24e97170e50>
36
36
  def __init__(self, **kwargs):
37
37
  """
38
38
  A simple constructor that allows initialization from kwargs.
@@ -109,11 +109,11 @@ class HubManager:
109
109
  def print_part_info(self, name):
110
110
  ...
111
111
  class HubModel(sqlalchemy.orm.decl_api.Base):
112
- __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x1cf0514bdc0; HubModel>
112
+ __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x24e9715bdc0; HubModel>
113
113
  __table__: typing.ClassVar[sqlalchemy.sql.schema.Table] # value = Table('hub_repo', MetaData(), Column('id', Integer(), table=<hub_repo>, primary_key=True, nullable=False, default=Sequence('remote_id_seq', metadata=MetaData())), Column('name', String(), table=<hub_repo>), Column('hub_type', String(), table=<hub_repo>), Column('local_base', String(), table=<hub_repo>), Column('local', String(), table=<hub_repo>), Column('url', String(), table=<hub_repo>), Column('branch', String(), table=<hub_repo>), schema=None)
114
114
  __table_args__: typing.ClassVar[tuple] # value = (UniqueConstraint(Column('name', String(), table=<hub_repo>)))
115
115
  __tablename__: typing.ClassVar[str] = 'hub_repo'
116
- _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.HubModel'> at 1cf05189850>
116
+ _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.HubModel'> at 24e97199b20>
117
117
  def __init__(self, **kwargs):
118
118
  """
119
119
  A simple constructor that allows initialization from kwargs.
@@ -146,11 +146,11 @@ class ModuleConflictError(Exception):
146
146
  def __str__(self):
147
147
  ...
148
148
  class PartModel(sqlalchemy.orm.decl_api.Base):
149
- __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x1cf05198280; PartModel>
149
+ __mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x24e971a84f0; PartModel>
150
150
  __table__: typing.ClassVar[sqlalchemy.sql.schema.Table] # value = Table('hub_part', MetaData(), Column('id', Integer(), table=<hub_part>, primary_key=True, nullable=False, default=Sequence('part_id_seq', metadata=MetaData())), Column('hub_name', String(), table=<hub_part>), Column('part', String(), table=<hub_part>), Column('name', String(), table=<hub_part>), Column('author', String(), table=<hub_part>), Column('version', String(), table=<hub_part>), Column('doc', String(), table=<hub_part>), Column('module_name', String(), table=<hub_part>), Column('label', String(), table=<hub_part>), schema=None)
151
151
  __table_args__: typing.ClassVar[tuple] # value = (UniqueConstraint(Column('name', String(), table=<hub_part>)))
152
152
  __tablename__: typing.ClassVar[str] = 'hub_part'
153
- _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.PartModel'> at 1cf0518a7f0>
153
+ _sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.PartModel'> at 24e9719aa70>
154
154
  def __init__(self, **kwargs):
155
155
  """
156
156
  A simple constructor that allows initialization from kwargs.
@@ -62,8 +62,8 @@ public:
62
62
 
63
63
  /**
64
64
  * 买入时计算目标价格
65
- * @param datetime 买入时间
66
- * @param price 买入价格
65
+ * @param datetime 当前时间
66
+ * @param price 当前价格
67
67
  * @return 返回Null<price_t>时,表示未限定目标; 返回0,意味着需要卖出
68
68
  */
69
69
  virtual price_t getGoal(const Datetime& datetime, price_t price) = 0;
@@ -80,7 +80,7 @@ public:
80
80
  virtual ProfitGoalPtr _clone() = 0;
81
81
 
82
82
  /** 子类计算接口,由setTO调用 */
83
- virtual void _calculate() = 0;
83
+ virtual void _calculate() {}
84
84
 
85
85
  protected:
86
86
  virtual bool isPythonObject() const {
@@ -143,13 +143,12 @@ private: \
143
143
  #define PROFIT_GOAL_NO_PRIVATE_MEMBER_SERIALIZATION
144
144
  #endif
145
145
 
146
- #define PROFITGOAL_IMP(classname) \
147
- public: \
148
- virtual ProfitGoalPtr _clone() override { \
149
- return std::make_shared<classname>(); \
150
- } \
151
- virtual price_t getGoal(const Datetime&, price_t) override; \
152
- virtual void _calculate() override;
146
+ #define PROFITGOAL_IMP(classname) \
147
+ public: \
148
+ virtual ProfitGoalPtr _clone() override { \
149
+ return std::make_shared<classname>(); \
150
+ } \
151
+ virtual price_t getGoal(const Datetime&, price_t) override;
153
152
 
154
153
  /**
155
154
  * 客户程序都应使用该指针类型
@@ -12,13 +12,13 @@
12
12
  #define HKU_VERSION_H
13
13
 
14
14
  // clang-format off
15
- #define HKU_VERSION "2.7.0"
15
+ #define HKU_VERSION "2.7.1"
16
16
  #define HKU_VERSION_MAJOR 2
17
17
  #define HKU_VERSION_MINOR 7
18
- #define HKU_VERSION_ALTER 0
19
- #define HKU_VERSION_BUILD 202511111311
18
+ #define HKU_VERSION_ALTER 1
19
+ #define HKU_VERSION_BUILD 202512011218
20
20
  #define HKU_VERSION_MODE "RELEASE"
21
- #define HKU_VERSION_GIT "2.7.0 master.b2b9d24b (RELEASE)"
21
+ #define HKU_VERSION_GIT "2.7.1 release.4c964718 (RELEASE)"
22
22
  // clang-format on
23
23
 
24
24
  #endif /* HKU_VERSION_H */
Binary file
Binary file
Binary file
Binary file
hikyuu/plugin/device.dll CHANGED
Binary file
hikyuu/plugin/extind.dll CHANGED
Binary file
Binary file
Binary file
Binary file
@@ -180,8 +180,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
180
180
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KALMAN
181
181
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KDATA_PART
182
182
  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 as CONST
184
183
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE
184
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
185
185
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN as CAPITAL
186
186
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN
187
187
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLV
@@ -228,8 +228,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
228
228
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PG_NoGoal
229
229
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import POS
230
230
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import POW
231
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST
232
231
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST as VALUE
232
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST
233
233
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import QUANTILE_TRUNC
234
234
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import RANK
235
235
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import RECOVER_BACKWARD
@@ -621,8 +621,8 @@ from hikyuu.util.mylog import add_class_logger_handler
621
621
  from hikyuu.util.mylog import capture_multiprocess_all_logger
622
622
  from hikyuu.util.mylog import class_logger
623
623
  from hikyuu.util.mylog import hku_benchmark
624
- from hikyuu.util.mylog import hku_debug
625
624
  from hikyuu.util.mylog import hku_debug as hku_trace
625
+ from hikyuu.util.mylog import hku_debug
626
626
  from hikyuu.util.mylog import hku_debug_if
627
627
  from hikyuu.util.mylog import hku_debug_if as hku_trace_if
628
628
  from hikyuu.util.mylog import hku_error
@@ -180,8 +180,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
180
180
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KALMAN
181
181
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import KDATA_PART
182
182
  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 as CONST
184
183
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE
184
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LASTVALUE as CONST
185
185
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN as CAPITAL
186
186
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LIUTONGPAN
187
187
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import LLV
@@ -228,8 +228,8 @@ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 impo
228
228
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PG_NoGoal
229
229
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import POS
230
230
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import POW
231
- from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST
232
231
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST as VALUE
232
+ from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import PRICELIST
233
233
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import QUANTILE_TRUNC
234
234
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import RANK
235
235
  from hikyuu.cpp.core310.pybind11_detail_function_record_v1_msvc_md_mscver19 import RECOVER_BACKWARD
@@ -615,8 +615,8 @@ from hikyuu.util.mylog import add_class_logger_handler
615
615
  from hikyuu.util.mylog import capture_multiprocess_all_logger
616
616
  from hikyuu.util.mylog import class_logger
617
617
  from hikyuu.util.mylog import hku_benchmark
618
- from hikyuu.util.mylog import hku_debug
619
618
  from hikyuu.util.mylog import hku_debug as hku_trace
619
+ from hikyuu.util.mylog import hku_debug
620
620
  from hikyuu.util.mylog import hku_debug_if
621
621
  from hikyuu.util.mylog import hku_debug_if as hku_trace_if
622
622
  from hikyuu.util.mylog import hku_error
@@ -3,7 +3,7 @@
3
3
  from hikyuu.core import (
4
4
  System, SystemPart, ConditionBase, EnvironmentBase, MoneyManagerBase,
5
5
  ProfitGoalBase, SelectorBase, SignalBase, SlippageBase, StoplossBase, AllocateFundsBase,
6
- MultiFactorBase
6
+ MultiFactorBase, ScoresFilterBase, NormalizeBase
7
7
  )
8
8
 
9
9
 
@@ -115,17 +115,26 @@ def crtMM(get_buy_num, get_sell_num=None, params={}, name='crtMM', buy_notify=No
115
115
  # ------------------------------------------------------------------
116
116
  # profitgoal
117
117
  # ------------------------------------------------------------------
118
- def crtPG(func, params={}, name='crtPG'):
118
+ def crtPG(get_goal, calculate=None, params={}, name='crtPG', buy_notify=None, sell_notify=None):
119
119
  """
120
120
  快速创建盈利目标策略
121
121
 
122
- :param func: 盈利目标策略函数
122
+ :param get_goal: 获取目标价格接口
123
+ :param calculate: 内部计算接口(在指定交易标的时被调用)
123
124
  :param {} params: 参数字典
124
125
  :param str name: 自定义名称
126
+ :param buy_notify: 接收买入交易记录通知
127
+ :param sell_notify: 接收卖出交易记录通知
125
128
  :return: 盈利目标策略实例
126
129
  """
127
130
  meta_x = type(name, (ProfitGoalBase, ), {'__init__': part_init, '_clone': part_clone})
128
- meta_x._calculate = func
131
+ meta_x.get_goal = get_goal
132
+ if calculate is not None:
133
+ meta_x._calculate = calculate
134
+ if buy_notify is not None:
135
+ meta_x._buy_notify = buy_notify
136
+ if sell_notify is not None:
137
+ meta_x._sell_notify = sell_notify
129
138
  ret = meta_x(name, params)
130
139
  globals().update(dict(_=ret))
131
140
  return ret
@@ -250,3 +259,41 @@ def crtST(func, params={}, name='crtST'):
250
259
  ret = meta_x(name, params)
251
260
  globals().update(dict(_=ret))
252
261
  return ret
262
+
263
+
264
+ # ------------------------------------------------------------------
265
+ # SCFilter
266
+ # ------------------------------------------------------------------
267
+ def crtSCFilter(filter_func, params={}, name='crtSCFilter'):
268
+ """
269
+ 快速创建评分过滤器
270
+
271
+ :param filter_func: 评分过滤器函数
272
+ :param {} params: 参数字典
273
+ :param str name: 自定义名称
274
+ :return: 评分过滤器实例
275
+ """
276
+ meta_x = type(name, (ScoresFilterBase, ), {'__init__': part_init, '_clone': part_clone})
277
+ meta_x._filter = filter_func
278
+ ret = meta_x(name, params)
279
+ globals().update(dict(_=ret))
280
+ return ret
281
+
282
+
283
+ # ------------------------------------------------------------------
284
+ # Normalize
285
+ # ------------------------------------------------------------------
286
+ def crtNorm(normalize_func, params={}, name='crtNorm'):
287
+ """
288
+ 快速创建标准化/归一化等算法函数
289
+
290
+ :param normalize_func: 算法函数
291
+ :param {} params: 参数字典
292
+ :param str name: 自定义名称
293
+ :return: 函数实例
294
+ """
295
+ meta_x = type(name, (NormalizeBase, ), {'__init__': part_init, '_clone': part_clone})
296
+ meta_x._normalize = normalize_func
297
+ ret = meta_x(name, params)
298
+ globals().update(dict(_=ret))
299
+ return ret
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 0x000001CF04E04E80>
15
+ _instance_lock: typing.ClassVar[_thread.lock] # value = <unlocked _thread.lock object at 0x0000024E96E151C0>
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.0.4
3
+ Version: 2.7.1
4
4
  Summary: Hikyuu Quant Framework for System Trading Analysis and backtester
5
5
  Home-page: http://hikyuu.org/
6
6
  Author: fasiondog
@@ -78,6 +78,8 @@ Hikyuu Quant Framework是一款基于C++/Python的开源量化交易研究框架
78
78
 
79
79
  👉 **帮助文档:**[https://hikyuu.readthedocs.io/zh-cn/latest/index.html](https://hikyuu.readthedocs.io/zh-cn/latest/index.html)
80
80
 
81
+ 👉 **Wiki文档(AI生成):**[https://github.com/fasiondog/hikyuu/wiki](https://github.com/fasiondog/hikyuu/wiki)
82
+
81
83
  👉 **入门示例:** [https://nbviewer.org/github/fasiondog/hikyuu/blob/master/hikyuu/examples/notebook/000-Index.ipynb?flush_cache=True](https://nbviewer.org/github/fasiondog/hikyuu/blob/master/hikyuu/examples/notebook/000-Index.ipynb?flush_cache=True)
82
84
 
83
85
  👉 **策略部件库:**[https://gitee.com/fasiondog/hikyuu_hub](https://gitee.com/fasiondog/hikyuu_hub)
@@ -121,6 +123,8 @@ Hikyuu Quant Framework是一款基于C++/Python的开源量化交易研究框架
121
123
 
122
124
  **作者精力有限,仅保证对捐赠用户的有问必答,其他渠道视情况,当然另发红包的除外😁**
123
125
 
126
+ *微信群为主,QQ群为辅。*
127
+
124
128
  ![img](docs/source/_static/qun.png)
125
129
 
126
130
  ## 🎉 项目捐赠,感谢你的支持 🎉