这是回测时自己打印出来的log
crossunder max
pos:1
Sell max: 323.889693 323.889693 min: 312.919660 312.919660
short max: 323.889693 323.889693 min: 312.919660 312.919660
可以看到pos是1,然后sell然后short,但是成交记录里看不到这个交易
这是回测时自己打印出来的log
crossunder max
pos:1
Sell max: 323.889693 323.889693 min: 312.919660 312.919660
short max: 323.889693 323.889693 min: 312.919660 312.919660
可以看到pos是1,然后sell然后short,但是成交记录里看不到这个交易
这是代码
`
# print("%s"%(bar.datetime))
print("crossunder max ")
print("pos: ",self.pos)
if self.pos > 0:
self.sell(bar.close_price,1)
self.short(bar.close_price,1)
print("Sell max: %f %f min: %f %f \n"%(pre_max[-1],pre_max[-2],pre_min[-1],pre_min[-2]))
print("short max: %f %f min: %f %f \n"%(pre_max[-1],pre_max[-2],pre_min[-1],pre_min[-2]))
if self.pos == 0:
self.short(bar.close_price,1)
print("short max: %f %f min: %f %f \n"%(pre_max[-1],pre_max[-2],pre_min[-1],pre_min[-2]))
`
还有这段日志
2020-09-22 08:16:00+08:06
crossunder max
1
Sell max: 344.710000 343.229092 min: 336.531125 337.440000
short max: 344.710000 343.229092 min: 336.531125 337.440000
2020-09-22 08:28:00+08:06
crossunder max
1
Sell max: 345.027145 345.027145 min: 336.446130 336.446130
short max: 345.027145 345.027145 min: 336.446130 336.446130
sell和short之后为什么紧跟着的日志里pos还是1呢,不应该是-1吗?
所有委托并不能保证立即成交,只有当下一根K线的价格和委托价格能够撮合时,才会成交并改变仓位