Open PingFeng233 opened 1 year ago
czsc/objects.py
# 当有新的开仓 event 发生,更新 last_event if op in [Operate.LO, Operate.SO]: self.last_event = {'dt': dt, 'bid': bid, 'price': price, 'op': op, 'op_desc': op_desc}
这段代码是否应该判断一下有无持仓,只要开仓之后last_event会一直更新,会导致下面判断止损的代码price 和 self.last_event['price']的值是一样的
# 多头止损 if price / self.last_event['price'] - 1 < -self.stop_loss / 10000: self.pos = 0 self.operates.append(__create_operate(Operate.LE, f"平多@{self.stop_loss}BP止损"))
这里的止损不是以开仓价来计算的,而是以最后一次开仓事件的触发价格来计算。所以只要有新的开仓动作,就要更新 last_event。也就是会出现你下面说的那种情况,这是正常的
czsc/objects.py
这段代码是否应该判断一下有无持仓,只要开仓之后last_event会一直更新,会导致下面判断止损的代码price 和 self.last_event['price']的值是一样的