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()
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()
def onTrade(self, trade): # 发出状态更新事件 persisttrade(self.vtSymbol,self.className ,trade) self.putEvent()