hikyuu 2.6.8.3__py3-none-win_amd64.whl → 2.6.8.5__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.
- hikyuu/__init__.py +0 -1
- hikyuu/__init__.pyi +586 -586
- hikyuu/analysis/__init__.pyi +563 -563
- hikyuu/analysis/analysis.pyi +563 -563
- hikyuu/core.pyi +563 -563
- hikyuu/cpp/__init__.pyi +2 -2
- hikyuu/cpp/core310.pyd +0 -0
- hikyuu/cpp/core310.pyi +0 -4
- hikyuu/cpp/core311.pyd +0 -0
- hikyuu/cpp/core311.pyi +0 -4
- hikyuu/cpp/core312.pyd +0 -0
- hikyuu/cpp/core312.pyi +0 -4
- hikyuu/cpp/core313.pyd +0 -0
- hikyuu/cpp/core313.pyi +0 -4
- hikyuu/cpp/core39.pyd +0 -0
- hikyuu/cpp/core39.pyi +0 -4
- hikyuu/cpp/hikyuu.dll +0 -0
- hikyuu/cpp/hikyuu.lib +0 -0
- hikyuu/cpp/i18n/zh_CN/hikyuu.mo +0 -0
- hikyuu/cpp/sqlite3.dll +0 -0
- hikyuu/draw/drawplot/__init__.pyi +9 -9
- hikyuu/draw/drawplot/bokeh_draw.pyi +578 -578
- hikyuu/draw/drawplot/common.pyi +1 -1
- hikyuu/draw/drawplot/echarts_draw.pyi +580 -580
- hikyuu/draw/drawplot/matplotlib_draw.pyi +590 -590
- hikyuu/draw/elder.pyi +11 -11
- hikyuu/draw/kaufman.pyi +18 -18
- hikyuu/draw/volume.pyi +10 -10
- hikyuu/extend.py +1 -0
- hikyuu/extend.pyi +574 -573
- hikyuu/gui/importdata.py +4 -0
- hikyuu/hub.pyi +6 -6
- hikyuu/include/hikyuu/config.h +3 -0
- hikyuu/include/hikyuu/lang.h +15 -2
- hikyuu/include/hikyuu/plugin/hkuextra.h +0 -18
- hikyuu/include/hikyuu/plugin/hkuviews.h +36 -0
- hikyuu/include/hikyuu/plugin/interface/HkuExtraPluginInterface.h +0 -14
- hikyuu/include/hikyuu/plugin/interface/HkuViewsPluginInterface.h +34 -0
- hikyuu/include/hikyuu/plugin/interface/plugins.h +8 -1
- hikyuu/include/hikyuu/python/pybind_utils.h +8 -3
- hikyuu/include/hikyuu/utilities/arithmetic.h +10 -0
- hikyuu/include/hikyuu/version.h +2 -2
- hikyuu/plugin/backtest.dll +0 -0
- hikyuu/plugin/clickhousedriver.dll +0 -0
- hikyuu/plugin/dataserver.dll +0 -0
- hikyuu/plugin/device.dll +0 -0
- hikyuu/plugin/extind.dll +0 -0
- hikyuu/plugin/hkuextra.dll +0 -0
- hikyuu/plugin/hkuviews.dll +0 -0
- hikyuu/plugin/import2hdf5.dll +0 -0
- hikyuu/plugin/tmreport.dll +0 -0
- hikyuu/trade_manage/__init__.pyi +578 -578
- hikyuu/trade_manage/broker.pyi +3 -3
- hikyuu/trade_manage/broker_easytrader.pyi +1 -1
- hikyuu/trade_manage/trade.pyi +578 -578
- hikyuu/util/__init__.pyi +1 -1
- hikyuu/util/singleton.pyi +1 -1
- {hikyuu-2.6.8.3.dist-info → hikyuu-2.6.8.5.dist-info}/METADATA +1 -1
- {hikyuu-2.6.8.3.dist-info → hikyuu-2.6.8.5.dist-info}/RECORD +62 -59
- {hikyuu-2.6.8.3.dist-info → hikyuu-2.6.8.5.dist-info}/WHEEL +0 -0
- {hikyuu-2.6.8.3.dist-info → hikyuu-2.6.8.5.dist-info}/entry_points.txt +0 -0
- {hikyuu-2.6.8.3.dist-info → hikyuu-2.6.8.5.dist-info}/top_level.txt +0 -0
hikyuu/gui/importdata.py
CHANGED
|
@@ -9,6 +9,7 @@ from configparser import ConfigParser
|
|
|
9
9
|
|
|
10
10
|
from hikyuu.data.weight_to_sqlite import qianlong_import_weight
|
|
11
11
|
from hikyuu.data.common_pytdx import search_best_tdx
|
|
12
|
+
from hikyuu.data.hku_config_template import generate_default_config
|
|
12
13
|
|
|
13
14
|
from hikyuu.gui.data.UseTdxImportToH5Thread import UseTdxImportToH5Thread
|
|
14
15
|
from hikyuu.gui.data.UsePytdxImportToH5Thread import UsePytdxImportToH5Thread
|
|
@@ -26,7 +27,10 @@ class HKUImportDataCMD:
|
|
|
26
27
|
# 读取保存的配置文件信息,如果不存在,则使用默认配置
|
|
27
28
|
this_dir = self.getUserConfigDir()
|
|
28
29
|
import_config = ConfigParser()
|
|
30
|
+
if not os.path.exists(this_dir + '/importdata-gui.ini'):
|
|
31
|
+
generate_default_config()
|
|
29
32
|
import_config.read(this_dir + '/importdata-gui.ini', encoding='utf-8')
|
|
33
|
+
|
|
30
34
|
if self.ignore_kdata:
|
|
31
35
|
import_config.set('ktype', 'day', 'False')
|
|
32
36
|
import_config.set('ktype', 'min', 'False')
|
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
|
|
31
|
+
__mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x231e218d9a0; 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
|
|
35
|
+
_sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.ConfigModel'> at 231e219e540>
|
|
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
|
|
112
|
+
__mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x231e218df10; 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
|
|
116
|
+
_sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.HubModel'> at 231e21ab5e0>
|
|
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
|
|
149
|
+
__mapper__: typing.ClassVar[sqlalchemy.orm.mapper.Mapper] # value = <Mapper at 0x231e21ce8e0; 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
|
|
153
|
+
_sa_class_manager: typing.ClassVar[sqlalchemy.orm.instrumentation.ClassManager] # value = <ClassManager of <class 'hikyuu.hub.PartModel'> at 231e21c09a0>
|
|
154
154
|
def __init__(self, **kwargs):
|
|
155
155
|
"""
|
|
156
156
|
A simple constructor that allows initialization from kwargs.
|
hikyuu/include/hikyuu/config.h
CHANGED
hikyuu/include/hikyuu/lang.h
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
10
|
#include <string>
|
|
11
|
+
#include "hikyuu/utilities/cppdef.h"
|
|
11
12
|
|
|
12
13
|
#ifndef HKU_API
|
|
13
14
|
#define HKU_API
|
|
@@ -19,9 +20,21 @@ namespace hku {
|
|
|
19
20
|
|
|
20
21
|
void loadLocalLanguage(const std::string &path = "i8n");
|
|
21
22
|
|
|
22
|
-
std::string HKU_API
|
|
23
|
+
std::string HKU_API lang_htr(const char *id);
|
|
23
24
|
|
|
24
25
|
// 按上下文获取翻译
|
|
25
|
-
std::string HKU_API
|
|
26
|
+
std::string HKU_API lang_hctr(const char *ctx, const char *id);
|
|
27
|
+
|
|
28
|
+
template <typename... Args>
|
|
29
|
+
std::string htr(const char *key, Args &&...args) {
|
|
30
|
+
std::string fmt_str = lang_htr(key);
|
|
31
|
+
return fmt::vformat(fmt_str, fmt::make_format_args(std::forward<Args>(args)...));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
template <typename... Args>
|
|
35
|
+
std::string chtr(const char *ctx, const char *key, Args &&...args) {
|
|
36
|
+
std::string fmt_str = lang_hctr(ctx, key);
|
|
37
|
+
return fmt::vformat(fmt_str, fmt::make_format_args(std::forward<Args>(args)...));
|
|
38
|
+
}
|
|
26
39
|
|
|
27
40
|
} // namespace hku
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
|
-
#include <arrow/api.h>
|
|
11
10
|
#include "hikyuu/Stock.h"
|
|
12
11
|
#include "hikyuu/indicator/Indicator.h"
|
|
13
12
|
|
|
@@ -57,21 +56,4 @@ bool getStockExtraIndexRange(const Stock& stk, const KQuery& query, size_t& out_
|
|
|
57
56
|
|
|
58
57
|
KDataImpPtr getKDataImp(const Stock& stk, const KQuery& query);
|
|
59
58
|
|
|
60
|
-
//-------------------------------
|
|
61
|
-
// Views 扩展
|
|
62
|
-
//-------------------------------
|
|
63
|
-
|
|
64
|
-
std::shared_ptr<arrow::Table> getIndicatorsViewParallel(const StockList& stks,
|
|
65
|
-
const IndicatorList& inds,
|
|
66
|
-
const KQuery& query, const string& market);
|
|
67
|
-
|
|
68
|
-
std::shared_ptr<arrow::Table> getIndicatorsViewParallel(const StockList& stks,
|
|
69
|
-
const IndicatorList& inds,
|
|
70
|
-
const Datetime& date, size_t cal_len,
|
|
71
|
-
const KQuery::KType& ktype,
|
|
72
|
-
const string& market);
|
|
73
|
-
|
|
74
|
-
std::shared_ptr<arrow::Table> getMarketViewParallel(const StockList& stks, const Datetime& date,
|
|
75
|
-
const string& market);
|
|
76
|
-
|
|
77
59
|
} // namespace hku
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 hikyuu.org
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2025-08-06
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <hikyuu/config.h>
|
|
11
|
+
|
|
12
|
+
#if HKU_ENABLE_ARROW
|
|
13
|
+
#include <arrow/api.h>
|
|
14
|
+
|
|
15
|
+
namespace hku {
|
|
16
|
+
|
|
17
|
+
//-------------------------------
|
|
18
|
+
// Views 扩展
|
|
19
|
+
//-------------------------------
|
|
20
|
+
|
|
21
|
+
std::shared_ptr<arrow::Table> getIndicatorsViewParallel(const StockList& stks,
|
|
22
|
+
const IndicatorList& inds,
|
|
23
|
+
const KQuery& query, const string& market);
|
|
24
|
+
|
|
25
|
+
std::shared_ptr<arrow::Table> getIndicatorsViewParallel(const StockList& stks,
|
|
26
|
+
const IndicatorList& inds,
|
|
27
|
+
const Datetime& date, size_t cal_len,
|
|
28
|
+
const KQuery::KType& ktype,
|
|
29
|
+
const string& market);
|
|
30
|
+
|
|
31
|
+
std::shared_ptr<arrow::Table> getMarketViewParallel(const StockList& stks, const Datetime& date,
|
|
32
|
+
const string& market);
|
|
33
|
+
|
|
34
|
+
} // namespace hku
|
|
35
|
+
|
|
36
|
+
#endif // HKU_ENABLE_ARROW
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
|
-
#include <arrow/api.h>
|
|
11
10
|
#include "hikyuu/utilities/plugin/PluginBase.h"
|
|
12
11
|
|
|
13
12
|
namespace hku {
|
|
@@ -36,19 +35,6 @@ public:
|
|
|
36
35
|
size_t& out_end) = 0;
|
|
37
36
|
|
|
38
37
|
virtual KDataImpPtr getKDataImp(const Stock& stk, const KQuery& query) = 0;
|
|
39
|
-
|
|
40
|
-
virtual std::shared_ptr<arrow::Table> getIndicatorsViewParallel(const StockList& stks,
|
|
41
|
-
const IndicatorList& inds,
|
|
42
|
-
const KQuery& query,
|
|
43
|
-
const string& market) = 0;
|
|
44
|
-
|
|
45
|
-
virtual std::shared_ptr<arrow::Table> getIndicatorsViewParallel(
|
|
46
|
-
const StockList& stks, const IndicatorList& inds, const Datetime& date, size_t cal_len,
|
|
47
|
-
const KQuery::KType& ktype, const string& market) = 0;
|
|
48
|
-
|
|
49
|
-
virtual std::shared_ptr<arrow::Table> getMarketViewParallel(const StockList& stks,
|
|
50
|
-
const Datetime& date,
|
|
51
|
-
const string& market) = 0;
|
|
52
38
|
};
|
|
53
39
|
|
|
54
40
|
} // namespace hku
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 hikyuu.org
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2025-05-19
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <arrow/api.h>
|
|
11
|
+
#include "hikyuu/utilities/plugin/PluginBase.h"
|
|
12
|
+
|
|
13
|
+
namespace hku {
|
|
14
|
+
|
|
15
|
+
class HkuViewsPluginInterface : public PluginBase {
|
|
16
|
+
public:
|
|
17
|
+
HkuViewsPluginInterface() = default;
|
|
18
|
+
virtual ~HkuViewsPluginInterface() = default;
|
|
19
|
+
|
|
20
|
+
virtual std::shared_ptr<arrow::Table> getIndicatorsViewParallel(const StockList& stks,
|
|
21
|
+
const IndicatorList& inds,
|
|
22
|
+
const KQuery& query,
|
|
23
|
+
const string& market) = 0;
|
|
24
|
+
|
|
25
|
+
virtual std::shared_ptr<arrow::Table> getIndicatorsViewParallel(
|
|
26
|
+
const StockList& stks, const IndicatorList& inds, const Datetime& date, size_t cal_len,
|
|
27
|
+
const KQuery::KType& ktype, const string& market) = 0;
|
|
28
|
+
|
|
29
|
+
virtual std::shared_ptr<arrow::Table> getMarketViewParallel(const StockList& stks,
|
|
30
|
+
const Datetime& date,
|
|
31
|
+
const string& market) = 0;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
} // namespace hku
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
|
+
#include "hikyuu/config.h"
|
|
11
|
+
|
|
10
12
|
#include "BackTestPluginInterface.h"
|
|
11
13
|
#include "DevicePluginInterface.h"
|
|
12
14
|
#include "DataServerPluginInterface.h"
|
|
@@ -16,6 +18,10 @@
|
|
|
16
18
|
#include "DataDriverPluginInterface.h"
|
|
17
19
|
#include "HkuExtraPluginInterface.h"
|
|
18
20
|
|
|
21
|
+
#if HKU_ENABLE_ARROW
|
|
22
|
+
#include "HkuViewsPluginInterface.h"
|
|
23
|
+
#endif
|
|
24
|
+
|
|
19
25
|
namespace hku {
|
|
20
26
|
|
|
21
27
|
#define HKU_PLUGIN_BACKTEST "backtest"
|
|
@@ -26,5 +32,6 @@ namespace hku {
|
|
|
26
32
|
#define HKU_PLUGIN_TMREPORT "tmreport"
|
|
27
33
|
#define HKU_PLUGIN_CLICKHOUSE_DRIVER "clickhousedriver"
|
|
28
34
|
#define HKU_PLUGIN_HKU_EXTRA "hkuextra"
|
|
35
|
+
#define HKU_PLUGIN_HKU_VIEWS "hkuviews"
|
|
29
36
|
|
|
30
|
-
}
|
|
37
|
+
} // namespace hku
|
|
@@ -9,12 +9,15 @@
|
|
|
9
9
|
#ifndef HIKYUU_PYTHON_BIND_UTILS_H
|
|
10
10
|
#define HIKYUU_PYTHON_BIND_UTILS_H
|
|
11
11
|
|
|
12
|
+
#include <hikyuu/config.h>
|
|
13
|
+
#if HKU_ENABLE_ARROW
|
|
14
|
+
#include <arrow/api.h>
|
|
15
|
+
#endif
|
|
12
16
|
#include <pybind11/pybind11.h>
|
|
13
17
|
|
|
14
18
|
#include <pybind11/operators.h>
|
|
15
19
|
#include <pybind11/stl.h>
|
|
16
20
|
#include <pybind11/numpy.h>
|
|
17
|
-
#include <arrow/api.h>
|
|
18
21
|
#include <vector>
|
|
19
22
|
#include <string>
|
|
20
23
|
#include "convert_any.h"
|
|
@@ -107,8 +110,8 @@ protected:
|
|
|
107
110
|
return true; \
|
|
108
111
|
}
|
|
109
112
|
|
|
110
|
-
//
|
|
111
|
-
inline bool check_pyfunction_arg_num(py::object& func, size_t arg_num) {
|
|
113
|
+
// 用于检查以 py::object 方式传递的函数参数个数是否符合预期
|
|
114
|
+
inline bool check_pyfunction_arg_num(const py::object& func, size_t arg_num) {
|
|
112
115
|
py::module_ inspect = py::module_::import("inspect");
|
|
113
116
|
py::object sig = inspect.attr("signature")(func);
|
|
114
117
|
py::object params = sig.attr("parameters");
|
|
@@ -124,12 +127,14 @@ inline bool check_pyfunction_arg_num(py::object& func, size_t arg_num) {
|
|
|
124
127
|
*/
|
|
125
128
|
size_t utf8_to_utf32(const std::string& utf8_str, int32_t* out, size_t out_len) noexcept;
|
|
126
129
|
|
|
130
|
+
#if HKU_ENABLE_ARROW
|
|
127
131
|
/*
|
|
128
132
|
* 将arrow::Table转换为 pyarrow::Table
|
|
129
133
|
* @param table 待转换的arrow::Table
|
|
130
134
|
* @return 转换后的py::object
|
|
131
135
|
*/
|
|
132
136
|
py::object to_pyarrow_table(const std::shared_ptr<arrow::Table>& table);
|
|
137
|
+
#endif
|
|
133
138
|
|
|
134
139
|
} // namespace hku
|
|
135
140
|
|
|
@@ -120,6 +120,11 @@ ValueT roundEx(ValueT number, int ndigits = 0) {
|
|
|
120
120
|
return static_cast<ValueT>(std::ceil(number * factor - 0.5 - epsilon) / factor);
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
+
extern template double HKU_UTILS_API roundEx(double number, int ndigits);
|
|
124
|
+
|
|
125
|
+
template <>
|
|
126
|
+
float HKU_UTILS_API roundEx(float number, int ndigits);
|
|
127
|
+
|
|
123
128
|
/**
|
|
124
129
|
* 向上截取,如10.1截取后为11
|
|
125
130
|
* @param number 待处理数据
|
|
@@ -194,6 +199,11 @@ ValueT roundDown(ValueT number, int ndigits = 0) {
|
|
|
194
199
|
return number;
|
|
195
200
|
}
|
|
196
201
|
|
|
202
|
+
extern template double HKU_UTILS_API roundUp(double number, int ndigits);
|
|
203
|
+
extern template float HKU_UTILS_API roundUp(float number, int ndigits);
|
|
204
|
+
extern template double HKU_UTILS_API roundDown(double number, int ndigits);
|
|
205
|
+
extern template float HKU_UTILS_API roundDown(float number, int ndigits);
|
|
206
|
+
|
|
197
207
|
#if defined(_MSC_VER)
|
|
198
208
|
#pragma warning(pop)
|
|
199
209
|
#endif
|
hikyuu/include/hikyuu/version.h
CHANGED
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
#define HKU_VERSION_MAJOR 2
|
|
17
17
|
#define HKU_VERSION_MINOR 6
|
|
18
18
|
#define HKU_VERSION_ALTER 8
|
|
19
|
-
#define HKU_VERSION_BUILD
|
|
19
|
+
#define HKU_VERSION_BUILD 202509152355
|
|
20
20
|
#define HKU_VERSION_MODE "RELEASE"
|
|
21
|
-
#define HKU_VERSION_GIT "2.6.8 master.
|
|
21
|
+
#define HKU_VERSION_GIT "2.6.8 master.f8b7e83d (RELEASE)"
|
|
22
22
|
// clang-format on
|
|
23
23
|
|
|
24
24
|
#endif /* HKU_VERSION_H */
|
hikyuu/plugin/backtest.dll
CHANGED
|
Binary file
|
|
Binary file
|
hikyuu/plugin/dataserver.dll
CHANGED
|
Binary file
|
hikyuu/plugin/device.dll
CHANGED
|
Binary file
|
hikyuu/plugin/extind.dll
CHANGED
|
Binary file
|
hikyuu/plugin/hkuextra.dll
CHANGED
|
Binary file
|
|
Binary file
|
hikyuu/plugin/import2hdf5.dll
CHANGED
|
Binary file
|
hikyuu/plugin/tmreport.dll
CHANGED
|
Binary file
|