class CciSignal(CtaSignal): """CCI信号""" # ---------------------------------------------------------------------- def __init__(self): """Constructor""" super(CciSignal, self).__init__() self.cciWindow = 10 self.cciLevel = 20 self.cciLong = self.cciLevel self.cciShort = -self.cciLevel self.cciValue = 0.0 self.bg = BarGenerator(self.onBar, 15, self.on15Bar) self.am = ArrayManager() # ---------------------------------------------------------------------- def onTick(self, tick): """Tick更新""" self.bg.updateTick(tick) # ---------------------------------------------------------------------- def onBar(self, bar): """K线更新""" self.bg.updateBar(bar) def on15Bar(self, bar): self.am.updateBar(bar) print bar.datetime print "@cciSignal" print "cci inited: ", self.am.inited if not self.am.inited: self.setSignalPos(0) return self.cciValue = self.am.cci(self.cciWindow) print "cciValue: ", self.cciValue if self.cciValue >= self.cciLong: self.setSignalPos(1) elif self.cciValue <= self.cciShort: self.setSignalPos(-1) else: self.setSignalPos(0)
class CciSignal(CtaSignal): """CCI信号""" #---------------------------------------------------------------------- def __init__(self): """Constructor""" super(CciSignal, self).__init__() self.cciWindow = 30 self.cciLevel = 10 self.cciLong = self.cciLevel self.cciShort = -self.cciLevel self.bg = BarGenerator(self.onBar) self.am = ArrayManager() #---------------------------------------------------------------------- def onTick(self, tick): """Tick更新""" self.bg.updateTick(tick) #---------------------------------------------------------------------- def onBar(self, bar): """K线更新""" self.am.updateBar(bar) if not self.am.inited: self.setSignalPos(0) cciValue = self.am.cci(self.cciWindow) if cciValue >= self.cciLong: self.setSignalPos(1) elif cciValue <= self.cciShort: self.setSignalPos(-1) else: self.setSignalPos(0)
class CciSignal(CtaSignal): """CCI信号""" #---------------------------------------------------------------------- def __init__(self): """Constructor""" super(CciSignal, self).__init__() self.cciWindow = 30 self.cciLevel = 10 self.cciLong = self.cciLevel self.cciShort = -self.cciLevel self.bg = BarGenerator(self.onBar) self.am = ArrayManager() #---------------------------------------------------------------------- def onTick(self, tick): """Tick更新""" self.bg.updateTick(tick) #---------------------------------------------------------------------- def onBar(self, bar): """K线更新""" self.am.updateBar(bar) if not self.am.inited: self.setSignalPos(0) cciValue = self.am.cci(self.cciWindow) if cciValue >= self.cciLong: self.setSignalPos(1) elif cciValue<= self.cciShort: self.setSignalPos(-1) else: self.setSignalPos(0)