提交 fd761ce3 编写于 作者: Z zengbin93

0.5.1 修复增量分析速度随时间衰减的BUG

上级 f7152039
......@@ -138,10 +138,21 @@ def find_zs(points):
class KlineAnalyze:
def __init__(self, kline, name="本级别", min_bi_k=5, verbose=False):
def __init__(self, kline, name="本级别", min_bi_k=5, max_raw_len=5000, verbose=False):
"""
:param kline: list or pd.DataFrame
:param name: str
:param min_bi_k: int
笔内部的最少K线数量
:param max_raw_len: int
原始K线序列的最大长度
:param verbose: bool
"""
self.name = name
self.verbose = verbose
self.min_bi_k = min_bi_k
self.max_raw_len = max_raw_len
self.kline_raw = [] # 原始K线序列
self.kline_new = [] # 去除包含关系的K线序列
......@@ -167,6 +178,7 @@ class KlineAnalyze:
else:
self.kline_raw = kline
self.kline_raw = self.kline_raw[-self.max_raw_len:]
self.symbol = self.kline_raw[0]['symbol']
self.start_dt = self.kline_raw[0]['dt']
self.end_dt = self.kline_raw[-1]['dt']
......@@ -513,6 +525,13 @@ class KlineAnalyze:
self._update_bi_list()
self._update_xd_list()
# 根据最大原始K线序列长度限制分析结果长度
self.kline_raw = self.kline_raw[-self.max_raw_len:]
self.kline_new = self.kline_new[-int(self.max_raw_len * 0.9):]
self.fx_list = self.fx_list[-(self.max_raw_len//2):]
self.bi_list = self.bi_list[-(self.max_raw_len//4):]
self.xd_list = self.xd_list[-(self.max_raw_len//8):]
if self.verbose:
print("更新结束\n\n")
......
......@@ -18,7 +18,7 @@ kline.loc[:, "dt"] = pd.to_datetime(kline.dt)
def test_kline_analyze():
ka = KlineAnalyze(kline, name="日线")
ka = KlineAnalyze(kline, name="日线", max_raw_len=2000)
# 测试绘图
file_img = "kline.png"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册