[Fix]Fix #543
This commit is contained in:
parent
ec71183382
commit
4b1af5e10e
@ -219,7 +219,9 @@ class CtaEngine(object):
|
||||
del self.workingStopOrderDict[stopOrderID]
|
||||
|
||||
# 从策略委托号集合中移除
|
||||
self.strategyOrderDict[strategy.name].remove(stopOrderID)
|
||||
s = self.strategyOrderDict[strategy.name]
|
||||
if stopOrderID in s:
|
||||
s.remove(stopOrderID)
|
||||
|
||||
# 通知策略
|
||||
strategy.onStopOrder(so)
|
||||
@ -251,7 +253,9 @@ class CtaEngine(object):
|
||||
del self.workingStopOrderDict[so.stopOrderID]
|
||||
|
||||
# 从策略委托号集合中移除
|
||||
self.strategyOrderDict[so.strategy.name].remove(so.stopOrderID)
|
||||
s = self.strategyOrderDict[so.strategy.name]
|
||||
if so.stopOrderID in s:
|
||||
s.remove(so.stopOrderID)
|
||||
|
||||
# 更新停止单状态,并通知策略
|
||||
so.status = STOPORDER_TRIGGERED
|
||||
@ -285,12 +289,16 @@ class CtaEngine(object):
|
||||
"""处理委托推送"""
|
||||
order = event.dict_['data']
|
||||
|
||||
if order.vtOrderID in self.orderStrategyDict:
|
||||
strategy = self.orderStrategyDict[order.vtOrderID]
|
||||
vtOrderID = order.vtOrderID
|
||||
|
||||
if vtOrderID in self.orderStrategyDict:
|
||||
strategy = self.orderStrategyDict[vtOrderID]
|
||||
|
||||
# 如果委托已经完成(拒单、撤销、全成),则从活动委托集合中移除
|
||||
if order.status in self.STATUS_FINISHED:
|
||||
self.strategyOrderDict[strategy.name].remove(order.vtOrderID)
|
||||
s = self.strategyOrderDict[strategy.name]
|
||||
if vtOrderID in s:
|
||||
s.remove(vtOrderID)
|
||||
|
||||
self.callStrategyFunc(strategy, strategy.onOrder, order)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user