提交 8a008e9c 编写于 作者: Z zengbin93

0.5.1 优化分析速度

上级 700b4a60
......@@ -4,7 +4,6 @@ __pycache__/
*$py.class
.idea/
*.csv
*.xlsx
*.html
*.png
......
......@@ -210,14 +210,17 @@ class KlineAnalyze:
'low': 3209.76,
'vol': 486366915.0}
"""
if len(self.kline_new) < 4:
if len(self.kline_new) == 0:
for x in self.kline_raw[:4]:
self.kline_new.append(dict(x))
# 新K线只会对最后一个去除包含关系K线的结果产生影响
self.kline_new = self.kline_new[:-2]
slice_ = len(self.kline_raw) - len(self.kline_new) + 1
right_k = [x for x in self.kline_raw[-slice_:] if x['dt'] > self.kline_new[-1]['dt']]
if len(self.kline_new) <= 4:
right_k = [x for x in self.kline_raw if x['dt'] > self.kline_new[-1]['dt']]
else:
right_k = [x for x in self.kline_raw[-100:] if x['dt'] > self.kline_new[-1]['dt']]
if len(right_k) == 0:
return
......@@ -280,7 +283,6 @@ class KlineAnalyze:
kn = self.kline_new
else:
kn = [x for x in self.kline_new[-100:] if x['dt'] >= self.fx_list[-1]['dt']]
# kn = [x for x in self.kline_new if x['dt'] >= self.fx_list[-1]['dt']]
i = 1
while i <= len(kn)-2:
......@@ -335,23 +337,19 @@ class KlineAnalyze:
if len(self.fx_list) < 2:
return
if len(self.bi_list) < 2:
if len(self.bi_list) == 0:
for fx in self.fx_list[:2]:
bi = dict(fx)
bi['bi'] = bi.pop('fx')
self.bi_list.append(bi)
self.bi_list = self.bi_list[:-1]
if len(self.bi_list) == 0:
return
# right_fx = [x for x in self.fx_list if x['dt'] > self.bi_list[-1]['dt']]
# right_kn = [x for x in self.kline_new if x['dt'] >= self.bi_list[-1]['dt']]
fx_slice_ = len(self.fx_list) - len(self.bi_list)*2 + 1
right_fx = [x for x in self.fx_list[-fx_slice_:] if x['dt'] > self.bi_list[-1]['dt']]
kn_slice_ = len(self.kline_new) - len(self.bi_list)*4 + 1
right_kn = [x for x in self.kline_new[-kn_slice_:] if x['dt'] >= self.bi_list[-1]['dt']]
if len(self.bi_list) <= 2:
right_fx = [x for x in self.fx_list if x['dt'] > self.bi_list[-1]['dt']]
right_kn = [x for x in self.kline_new if x['dt'] >= self.bi_list[-1]['dt']]
else:
right_fx = [x for x in self.fx_list[-100:] if x['dt'] > self.bi_list[-1]['dt']]
right_kn = [x for x in self.kline_new[-500:] if x['dt'] >= self.bi_list[-1]['dt']]
for fx in right_fx:
last_bi = self.bi_list[-1]
......@@ -428,18 +426,17 @@ class KlineAnalyze:
if len(self.bi_list) < 4:
return
if len(self.xd_list) < 3:
if len(self.xd_list) == 0:
for i in range(3):
xd = dict(self.bi_list[i])
xd['xd'] = xd.pop('bi')
self.xd_list.append(xd)
self.xd_list = self.xd_list[:-2]
if len(self.xd_list) == 0:
return
bi_slice_ = len(self.bi_list) - len(self.xd_list) * 2 + 1
right_bi = [x for x in self.bi_list[-bi_slice_:] if x['dt'] >= self.xd_list[-1]['dt']]
if len(self.xd_list) <= 3:
right_bi = [x for x in self.bi_list if x['dt'] >= self.xd_list[-1]['dt']]
else:
right_bi = [x for x in self.bi_list[-200:] if x['dt'] >= self.xd_list[-1]['dt']]
xd_p = []
bi_d = [x for x in right_bi if x['fx_mark'] == 'd']
bi_g = [x for x in right_bi if x['fx_mark'] == 'g']
......
因为 它太大了无法显示 source diff 。你可以改为 查看blob
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册