Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_41922159
czsc
提交
8ac2e3a9
C
czsc
项目概览
weixin_41922159
/
czsc
与 Fork 源项目一致
Fork自
zengbin93 / czsc
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
czsc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
8ac2e3a9
编写于
9月 18, 2020
作者:
Z
zengbin93
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
0.5.5 优化check_jing,新增check_bei_chi
上级
fd6b189e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
72 addition
and
9 deletion
+72
-9
czsc/signals.py
czsc/signals.py
+72
-9
未找到文件。
czsc/signals.py
浏览文件 @
8ac2e3a9
...
...
@@ -33,6 +33,9 @@ def check_jing(fd1, fd2, fd3, fd4, fd5):
"mode": "bi"
}
假定最近一段走势为第N段;则 fd1 为第N-4段走势, fd2为第N-3段走势,
fd3为第N-2段走势, fd4为第N-1段走势, fd5为第N段走势
"""
assert
fd1
[
'direction'
]
==
fd3
[
'direction'
]
==
fd5
[
'direction'
]
assert
fd2
[
'direction'
]
==
fd4
[
'direction'
]
...
...
@@ -41,39 +44,99 @@ def check_jing(fd1, fd2, fd3, fd4, fd5):
zs_g
=
min
(
fd2
[
'high'
],
fd3
[
'high'
],
fd4
[
'high'
])
zs_d
=
max
(
fd2
[
'low'
],
fd3
[
'low'
],
fd4
[
'low'
])
jing
=
"没有出井"
if
zs_d
<
zs_g
:
jing
=
{
"jing"
:
"没有出井"
,
"notes"
:
""
}
# 1的力度最小,5的力度次之,3的力度最大,此类不算井
if
fd1
[
'power'
]
<
fd5
[
'power'
]
<
fd3
[
'power'
]:
jing
[
'notes'
]
=
"1的力度最小,5的力度次之,3的力度最大,此类不算井"
return
jing
if
zs_d
<
zs_g
:
# 234有中枢的情况
if
direction
==
'up'
and
fd5
[
"high"
]
>
min
(
fd3
[
'high'
],
fd1
[
'high'
]):
# 大井对应的形式是:12345向上,5最高3次之1最低,力度上1大于3,3大于5
if
fd5
[
"high"
]
>
fd3
[
'high'
]
>
fd1
[
'high'
]
and
fd5
[
'power'
]
<
fd3
[
'power'
]
<
fd1
[
'power'
]:
jing
=
"向上大井"
jing
=
{
"jing"
:
"向上大井"
,
"notes"
:
"12345向上,5最高3次之1最低,力度上1大于3,3大于5"
}
# 第一种小井:12345向上,3最高5次之1最低,力度上5的力度比1小
if
fd1
[
'high'
]
<
fd5
[
'high'
]
<
fd3
[
'high'
]
and
fd5
[
'power'
]
<
fd1
[
'power'
]:
jing
=
"向上小井"
jing
=
{
"jing"
:
"向上小井"
,
"notes"
:
"12345向上,3最高5次之1最低,力度上5的力度比1小"
}
# 第二种小井:12345向上,5最高3次之1最低,力度上1大于5,5大于3
if
fd5
[
"high"
]
>
fd3
[
'high'
]
>
fd1
[
'high'
]
and
fd1
[
'power'
]
>
fd5
[
'power'
]
>
fd3
[
'power'
]:
jing
=
"向上小井"
jing
=
{
"jing"
:
"向上小井"
,
"notes"
:
"12345向上,5最高3次之1最低,力度上1大于5,5大于3"
}
if
direction
==
'down'
and
fd5
[
"low"
]
<
max
(
fd3
[
'low'
],
fd1
[
'low'
]):
# 大井对应的形式是:12345向下,5最低3次之1最高,力度上1大于3,3大于5
;
# 大井对应的形式是:12345向下,5最低3次之1最高,力度上1大于3,3大于5
if
fd5
[
'low'
]
<
fd3
[
'low'
]
<
fd1
[
'low'
]
and
fd5
[
'power'
]
<
fd3
[
'power'
]
<
fd1
[
'power'
]:
jing
=
"向下大井"
jing
=
{
"jing"
:
"向下大井"
,
"notes"
:
"12345向下,5最低3次之1最高,力度上1大于3,3大于5"
}
# 第一种小井:12345向下,3最低5次之1最高,力度上5的力度比1小
if
fd1
[
"low"
]
>
fd5
[
'low'
]
>
fd3
[
'low'
]
and
fd5
[
'power'
]
<
fd1
[
'power'
]:
jing
=
"向下小井"
jing
=
{
"jing"
:
"向下小井"
,
"notes"
:
"12345向下,3最低5次之1最高,力度上5的力度比1小"
}
# 第二种小井:12345向下,5最低3次之1最高,力度上1大于5,5大于3
if
fd3
[
"low"
]
>
fd5
[
'low'
]
>
fd1
[
'low'
]
and
fd1
[
'power'
]
>
fd5
[
'power'
]
>
fd3
[
'power'
]:
jing
=
"向下小井"
jing
=
{
"jing"
:
"向下小井"
,
"notes"
:
"12345向下,5最低3次之1最高,力度上1大于5,5大于3"
}
else
:
# 第三种小井:12345类趋势,力度依次降低,可以看成小井
if
fd1
[
'power'
]
>
fd3
[
'power'
]
>
fd5
[
'power'
]:
if
direction
==
'up'
and
fd5
[
"high"
]
>
fd3
[
'high'
]
>
fd1
[
'high'
]:
jing
=
{
"jing"
:
"向上小井"
,
"notes"
:
"12345类上涨趋势,力度依次降低"
}
if
direction
==
'down'
and
fd5
[
"low"
]
<
fd3
[
'low'
]
<
fd1
[
'low'
]:
jing
=
{
"jing"
:
"向下小井"
,
"notes"
:
"12345类下跌趋势,力度依次降低"
}
return
jing
def
check_bei_chi
(
fd1
,
fd2
,
fd3
,
fd4
,
fd5
):
"""检查最近5个分段走势是否有背驰
fd 为 dict 对象,表示一段走势,可以是笔、线段,样例如下:
fd = {
"start_dt": "",
"end_dt": "",
"power": 0, # 力度
"direction": "up",
"high": 0,
"low": 0,
"mode": "bi"
}
"""
assert
fd1
[
'direction'
]
==
fd3
[
'direction'
]
==
fd5
[
'direction'
]
assert
fd2
[
'direction'
]
==
fd4
[
'direction'
]
direction
=
fd1
[
'direction'
]
zs_g
=
min
(
fd2
[
'high'
],
fd3
[
'high'
],
fd4
[
'high'
])
zs_d
=
max
(
fd2
[
'low'
],
fd3
[
'low'
],
fd4
[
'low'
])
bc
=
{
"bc"
:
"没有背驰"
,
"notes"
:
""
}
if
max
(
fd5
[
'power'
],
fd3
[
'power'
],
fd1
[
'power'
])
==
fd5
[
'power'
]:
bc
=
{
"bc"
:
"没有背驰"
,
"notes"
:
"5的力度最大,没有背驰"
}
return
bc
if
zs_d
<
zs_g
:
if
fd5
[
'power'
]
<
fd1
[
'power'
]:
if
direction
==
'up'
and
fd5
[
"high"
]
>
min
(
fd3
[
'high'
],
fd1
[
'high'
]):
bc
=
{
"bc"
:
"向上趋势背驰"
,
"notes"
:
"12345向上,234构成中枢,5最高,力度上1大于5"
}
if
direction
==
'down'
and
fd5
[
"low"
]
<
max
(
fd3
[
'low'
],
fd1
[
'low'
]):
bc
=
{
"bc"
:
"向下趋势背驰"
,
"notes"
:
"12345向下,234构成中枢,5最低,力度上1大于5"
}
else
:
if
fd5
[
'power'
]
<
fd3
[
'power'
]:
if
direction
==
'up'
and
fd5
[
"high"
]
>
fd3
[
'high'
]:
bc
=
{
"bc"
:
"向上盘整背驰"
,
"notes"
:
"12345向上,234不构成中枢,5最高,力度上1大于5"
}
if
direction
==
'down'
and
fd5
[
"low"
]
<
fd3
[
'low'
]:
bc
=
{
"bc"
:
"向下盘整背驰"
,
"notes"
:
"12345向下,234不构成中枢,5最低,力度上1大于5"
}
return
bc
def
get_fx_signals
(
ka
):
"""计算分型特征"""
s
=
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录