2.99K 浏览
0

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日
0

我的理解是,insert_order只是挂单,pos_long_today查询的是成交后的持仓,如果没有达到20手持仓就会一直新增挂单。当达到20手成交目的后,其实还有很多没有成交的挂单之后又逐渐成交了一部分。

NULL NULL 已回答的问题 2020年9月23日
您正在查看1个答案中的1个,单击此处查看所有答案。