Beispiel #1
0
 def onTrade(self, trade):
     # 发出状态更新事件
     #logtext = logtext + ","+trade.date
     #logtext = logtext + "," +trade.datetime
     logtext = ""
     logtext = logtext + "," + trade.offset        
     logtext = logtext + "," + trade.direction
     logtext = logtext + "," + str(trade.volume)
     logtext = logtext + "," + str(trade.price) 
     self.writeCtaLog(logtext)
     persisttrade(self.vtSymbol,self.className ,trade)     
        
     self.putEvent()
Beispiel #2
0
    def onTrade(self, trade):
        # 发出状态更新事件
        if trade.direction == DIRECTION_LONG and trade.offset == OFFSET_OPEN:
            if (trade.volume + self.onTradeCnt) == self.fixedSize:
                self.entryUnitNo = self.entryUnitNo + 1
                self.resetCountdown()
            else:
                self.onTradeCnt = trade.volume + self.onTradeCnt
                self.writeCtaLog(u'%s: 部分成交, 进场次数未累加,注意!' % self.name)

            self.lastLongEntry = trade.price
            self.entryPrice = trade.price
            self.entryDirection = DIRECTION_LONG
            self.entryAtr = self.atrValue
        elif trade.direction == DIRECTION_SHORT and trade.offset == OFFSET_OPEN:
            if (trade.volume + self.onTradeCnt) == self.fixedSize:
                self.entryUnitNo = self.entryUnitNo + 1
                self.resetCountdown()
            else:
                self.onTradeCnt = trade.volume + self.onTradeCnt
                self.writeCtaLog(u'%s: 部分成交, 进场次数未累加,注意!' % self.name)
            self.lastShortEntry = trade.price
            self.entryPrice = trade.price
            self.entryDirection = DIRECTION_SHORT
            self.entryAtr = self.atrValue
        elif (trade.offset == OFFSET_CLOSE
              or trade.offset == OFFSET_CLOSETODAY):
            #print(self.pos)
            self.entryUnitNo = 0
            self.lastLongEntry = 0
            self.lastShortEntry = 0
            self.entryPrice = 0
            self.entryDirection = OFFSET_CLOSE
        else:
            pass

        persisttrade(self.vtSymbol, self.className, trade)
        self.putEvent()
Beispiel #3
0
 def onTrade(self, trade):
     # 发出状态更新事件
     persisttrade(self.vtSymbol,self.className ,trade)
     self.putEvent()