ctaLineBar.py 文件源码

python
阅读 17 收藏 0 点赞 0 评论 0

项目:InplusTrader_Linux 作者: zhengwsh 项目源码 文件源码
def __recountEma(self):
        """??K??EMA1 ?EMA2"""
        l = len(self.lineBar)

        # 1?lineBar?????????
        if len(self.lineBar) < max(7, self.inputEma1Len, self.inputEma2Len)+2:
            self.debugCtaLog(u'?????,??Bar?????{0}???EMA???{1}'.
                             format(len(self.lineBar), max(7, self.inputEma1Len, self.inputEma2Len)+2))
            return

        # ?????EMA??
        if self.inputEma1Len > 0:

            if self.inputEma1Len > l:
                ema1Len = l
            else:
                ema1Len = self.inputEma1Len

            # 3????InputN??(??????????????
            listClose=[x.close for x in self.lineBar[-ema1Len - 1:-1]]

            barEma1 = ta.EMA(numpy.array(listClose, dtype=float), ema1Len)[-1]

            barEma1 = round(float(barEma1), 3)

            if len(self.lineEma1) > self.inputEma1Len*8:
                del self.lineEma1[0]
            self.lineEma1.append(barEma1)

        # ?????EMA??
        if self.inputEma2Len > 0:

            if self.inputEma2Len > l:
                ema2Len = l
            else:
                ema2Len = self.inputEma2Len

            # 3????InputN??(??????????????
            listClose=[x.close for x in self.lineBar[-ema2Len - 1:-1]]
            barEma2 = ta.EMA(numpy.array(listClose, dtype=float), ema2Len)[-1]

            barEma2 = round(float(barEma2), 3)

            if len(self.lineEma2) > self.inputEma1Len*8:
                del self.lineEma2[0]
            self.lineEma2.append(barEma2)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号