Event

class czsc.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

name

unique_signals

获取 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

dump() dict[source]

将 Event 对象转存为 dict

get_signals_config(signals_module: str = 'czsc.signals') List[Dict][source]

获取事件的信号配置

is_match(s: dict)[source]

判断 event 是否满足

代码的执行逻辑如下:

  1. 首先判断 signals_not 中的信号是否得到满足,如果满足任意一个信号,则直接返回 False,表示事件不满足。

  2. 接着判断 signals_all 中的信号是否全部得到满足,如果有任意一个信号不满足,则直接返回 False,表示事件不满足。

  3. 然后判断 signals_any 中的信号是否有一个得到满足,如果一个都不满足,则直接返回 False,表示事件不满足。

  4. 最后判断因子是否满足,顺序遍历因子列表,找到第一个满足的因子就退出,并返回 True 和该因子的名称,表示事件满足。

  5. 如果遍历完所有因子都没有找到满足的因子,则返回 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: