waditu / czsc

缠中说禅技术分析工具;缠论;股票;期货;Quant;量化交易
Other
2.71k stars 941 forks source link

代码理解 #135

Closed NoraGithub closed 1 year ago

NoraGithub commented 1 year ago

https://github.com/waditu/czsc/blob/6d9d861239351a0d32e803a6079bc8d000a1b4e3/czsc/objects.py#L542

这里是否应该返回True,None

因为signal 都符合预期,如果没有factors,认为是match的?

NoraGithub commented 1 year ago
        # 判断因子是否满足,顺序遍历,找到第一个满足的因子就退出
        # 因子放入事件中时,建议因子列表按关注度从高到低排序
        for factor in self.factors:
            if factor.is_match(s):
                return True, factor.name
            return False, None

        return True, None

按照我的理解,可以这么改,但有点不理解设计的意图。

这里的factors只能且是么,这里设计是希望factors必填么

zengbin93 commented 1 year ago

factors 必填,最原始的用法是 factor 是 signal 的组合,event 是 factor 的组合。但是实践中发现,factors 里面会有很多重复的signal,所以在 event 里面又加入了一些 signals 填写,用于减少重复 signals 的填写