while True :
api.wait_update()
position = api.get_position(“SHFE.ag2012″)
if position.pos_long_today < 20 :
order = api.insert_order(symbol=”SHFE.ag2012″, direction=”BUY”, offset=”OPEN”, limit_price=5100.0,volume=1)
if position.pos_long_today == 20 :
break
api.close()
设置买入开仓,今多仓到达20手后,跳出循环。实际运行代码完成后,查询得知今多头仓位为变成29手。不想用TargetPosTask调整仓位。想搞清楚insert_orde的逻辑。
NULL NULL 已回答的问题 2020年9月23日
我的理解是,insert_order只是挂单,pos_long_today查询的是成交后的持仓,如果没有达到20手持仓就会一直新增挂单。当达到20手成交目的后,其实还有很多没有成交的挂单之后又逐渐成交了一部分。
NULL NULL 已回答的问题 2020年9月23日