VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 19
声望: 0
        # 计算10根K线总的最大波动spread
        self.max_ = self.am.high[-10:].max()
        self.min_ = self.am.low[-10:].min()
        self.spread = self.am.high[-10:].max() - self.am.low[-13:-1].min() 


        # 计算前9根K线,每一根K线的最大波动都不超过spread的0.5倍
        high_ = bar.high_price
        low_ = bar.low_price
        self.spread_3 = self.am.high_ - self.am.low_ - self.spread * 0.5

        (self.spread_3 < 0).iloc[:10].sum == 9
Super Moderator
avatar
加入于:
帖子: 561
声望: 44

你从self.spread_3里取最大值比较就行了。
而且self.am长度默认是100,你只需要9根,没必要用整个做计算。

推荐用事件驱动的想法来做,设置一个全部变量count,每次当前的high - low - spread * 0.5 < 0就count++,否则清零,
你这里只需要比较count是否大于等于9就可以了

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】