Event
- class czsc.objects.Event(operate: czsc.enum.Operate, factors: List[czsc.objects.Factor], signals_all: List[czsc.objects.Signal] = <factory>, signals_any: List[czsc.objects.Signal] = <factory>, signals_not: List[czsc.objects.Signal] = <factory>, name: str = '')[source]
Bases:
object
Attributes Summary
获取 Event 的唯一信号列表
Methods Summary
dump
()将 Event 对象转存为 dict
get_signals_config
([signals_module])获取事件的信号配置
is_match
(s)判断 event 是否满足
load
(raw)从 dict 中创建 Event
Attributes Documentation
- name: str = ''
- unique_signals
获取 Event 的唯一信号列表
Methods Documentation
- is_match(s: dict)[source]
判断 event 是否满足
代码的执行逻辑如下:
首先判断 signals_not 中的信号是否得到满足,如果满足任意一个信号,则直接返回 False,表示事件不满足。
接着判断 signals_all 中的信号是否全部得到满足,如果有任意一个信号不满足,则直接返回 False,表示事件不满足。
然后判断 signals_any 中的信号是否有一个得到满足,如果一个都不满足,则直接返回 False,表示事件不满足。
最后判断因子是否满足,顺序遍历因子列表,找到第一个满足的因子就退出,并返回 True 和该因子的名称,表示事件满足。
如果遍历完所有因子都没有找到满足的因子,则返回 False,表示事件不满足。
- classmethod load(raw: dict)[source]
从 dict 中创建 Event
- Parameters:
raw –
样例如下 {‘name’: ‘单测’,
’operate’: ‘开多’, ‘factors’: [{‘name’: ‘测试’,
’signals_all’: [‘15分钟_倒0笔_长度_大于5_其他_其他_0’], ‘signals_any’: [], ‘signals_not’: []}],
’signals_all’: [‘15分钟_倒0笔_方向_向上_其他_其他_0’], ‘signals_any’: [], ‘signals_not’: []}
- Returns: