提交 7ac07b16 编写于 作者: Z zengbin93

修复第一、二买卖点识别


Former-commit-id: e29a34389a314dca1ff6192f8d4089d6aa9ab2a1
上级 f402ff12
......@@ -12,17 +12,19 @@ pip install git+git://github.com/zengbin93/chan.git -U
## K线数据样例
`dt` 的格式统一为 `%Y-%m-%d %H:%M:%S`,如 `2020-02-27 00:00:00`
```markdown
symbol dt open close high low vol
0 002739.SZ 20181105 31.10 31.10 31.10 31.10 17495.00
1 002739.SZ 20181106 27.99 27.99 27.99 27.99 8557.00
2 002739.SZ 20181107 25.19 25.19 25.19 25.19 13163.00
3 002739.SZ 20181108 22.67 22.67 22.67 22.67 109787.00
4 002739.SZ 20181109 20.66 22.17 23.73 20.65 896466.32
5 002739.SZ 20181112 21.19 22.42 22.57 21.01 495463.08
6 002739.SZ 20181113 22.06 23.71 24.50 21.86 497543.55
7 002739.SZ 20181114 23.61 23.35 24.25 23.15 297538.47
8 002739.SZ 20181115 23.50 23.70 23.96 23.30 197008.28
symbol dt open close high low vol
0 300803.SZ 2020-01-17 09:31:00 44.08 44.19 44.30 44.01 170160
1 300803.SZ 2020-01-17 09:32:00 44.06 44.24 44.24 43.93 91100
2 300803.SZ 2020-01-17 09:33:00 44.10 43.91 44.17 43.91 90251
3 300803.SZ 2020-01-17 09:34:00 43.90 43.86 43.90 43.81 61100
4 300803.SZ 2020-01-17 09:35:00 43.86 43.66 43.86 43.61 75900
5 300803.SZ 2020-01-17 09:36:00 43.66 43.80 43.86 43.66 56600
6 300803.SZ 2020-01-17 09:37:00 43.81 43.67 43.82 43.67 68600
7 300803.SZ 2020-01-17 09:38:00 43.67 43.60 43.67 43.53 97554
8 300803.SZ 2020-01-17 09:39:00 43.60 43.62 43.70 43.57 118861
```
* dt 表示 该周期的交易结束时间
......
......@@ -552,7 +552,9 @@ class SolidAnalyze:
}
if isinstance(ka1, KlineAnalyze) and ka1.xd[-1]['fx_mark'] == 'g':
# 以上一级别线段终点为走势分解的起点
xds = [x for x in ka.xd if x['dt'] >= ka1.xd[-1]['dt']]
xds_l = [x for x in ka.xd if x['dt'] <= ka1.xd[-1]['dt']]
xds_r = [x for x in ka.xd if x['dt'] > ka1.xd[-1]['dt']]
xds = [xds_l[-1]] + xds_r
# 盘整至少有三段次级别走势,趋势至少有5段;底背驰一定要创新低
if xds[-1]['fx_mark'] == 'd' and len(xds) >= 4 and xds[-1]['xd'] < xds[-3]['xd']:
zs1 = [xds[-2]['dt'], xds[-1]['dt']]
......@@ -587,7 +589,9 @@ class SolidAnalyze:
}
if isinstance(ka1, KlineAnalyze) and ka1.xd[-1]['fx_mark'] == 'd':
# 以上一级别线段终点为走势分解的起点
xds = [x for x in ka.xd if x['dt'] >= ka1.xd[-1]['dt']]
xds_l = [x for x in ka.xd if x['dt'] <= ka1.xd[-1]['dt']]
xds_r = [x for x in ka.xd if x['dt'] > ka1.xd[-1]['dt']]
xds = [xds_l[-1]] + xds_r
# 盘整至少有三段次级别走势,趋势至少有5段;顶背驰一定要创新高
if xds[-1]['fx_mark'] == 'g' and len(xds) >= 4 and xds[-1]['xd'] > xds[-3]['xd']:
zs1 = [xds[-2]['dt'], xds[-1]['dt']]
......@@ -622,10 +626,12 @@ class SolidAnalyze:
}
if isinstance(ka1, KlineAnalyze) and ka1.xd[-1]['fx_mark'] == 'd':
# 以上一级别线段终点为走势分解的起点
xds = [x for x in ka.xd if x['dt'] >= ka1.xd[-1]['dt']]
xds_l = [x for x in ka.xd if x['dt'] <= ka1.xd[-1]['dt']]
xds_r = [x for x in ka.xd if x['dt'] > ka1.xd[-1]['dt']]
xds = [xds_l[-1]] + xds_r
# 次级别向下走势不创新低,就认为是类二买,其中第一个是真正的二买;
# 如果一个向上走势内部已经有5段次级别走势,则认为该走势随后不再有二买机会
if xds[-1]['fx_mark'] == 'd' and len(xds) <= 5 and xds[-1]['xd'] > xds[-3]['xd']:
if xds[-1]['fx_mark'] == 'd' and 3 <= len(xds) <= 5 and xds[-1]['xd'] > xds[-3]['xd']:
b = True
detail["出现时间"] = xds[-1]['dt']
detail["确认时间"] = xds[-1]['dt']
......@@ -655,10 +661,12 @@ class SolidAnalyze:
}
if isinstance(ka1, KlineAnalyze) and ka1.xd[-1]['fx_mark'] == 'g':
# 以上一级别线段终点为走势分解的起点
xds = [x for x in ka.xd if x['dt'] >= ka1.xd[-1]['dt']]
xds_l = [x for x in ka.xd if x['dt'] <= ka1.xd[-1]['dt']]
xds_r = [x for x in ka.xd if x['dt'] > ka1.xd[-1]['dt']]
xds = [xds_l[-1]] + xds_r
# 次级别向上走势不创新高,就认为是类二卖,其中第一个是真正的二卖;
# 如果一个向下走势内部已经有5段次级别走势,则认为该走势随后不再有二卖机会
if xds[-1]['fx_mark'] == 'g' and len(xds) <= 5 and xds[-1]['xd'] < xds[-3]['xd']:
if xds[-1]['fx_mark'] == 'g' and 3 <= len(xds) <= 5 and xds[-1]['xd'] < xds[-3]['xd']:
b = True
detail["出现时间"] = xds[-1]['dt']
detail["确认时间"] = xds[-1]['dt']
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册