# 如果持有空单,如果已经是买入价格反向N3个点,再次判断趋势,如果已经不符合,市价卖出。如何持有,清掉之前阻止单,改挂当前价位反向2个点阻止单。
if tick.lastPrice - self.posPrice 0:
self.cancelAll()
self.cover(tick.lastPrice + 2, self.fixedSize, True) // !!!!!!!!!!!!!!!!!!!!!!
else:
self.cancelAll()
self.cover(tick.lastPrice, self.fixedSize, False)
!感叹号这里回测没有问题。但是实盘中应该是拿到前一个撤单命令成功的回报后,再发出新订单(无论是平仓开仓)吧。不然,不知道之前限价单是否撤单成功,就发单,会导致交易逻辑出错,比如由于某种原因撤单没有成功,可是新的单子就发出去了。
另外,下单同时开反向2个价位的阻止单,是不是在 onTrade中,收到成交回报马上发限价单更快。有点类似剥头皮的策略了。
想用这个框架,写一个一定时间内限价单不成交后,再发追单的功能。想损失一点时间,换回一点价格上的收益。可是,发现自己搞不定,会涉及到发送各种订单的管理。
不知是否会有官方支持功能。减少用户开发成本。
多谢!
|