4.40K 浏览
0

模拟账号。一直到满仓,程序退出。

问题有两个:

1、get_position没有更新,所以仓位判断一直为0,所以执行 TargetPosTask

2、TargetPosTask ,也没有更新,要不然连续开仓。

要是实盘吓死人啊。

pos = api.get_position(X)

while True:
api.wait_update()

if XXX:

# 持仓
chicang_long = pos.pos_long_his + pos.pos_long_today # 多头仓
chicang_short = pos.pos_short_his + pos.pos_short_today # 空头仓

# 已有,跳过
if chicang_long > 0: # 这句判断没错吧,估计是循环中 chicang一直为0,所以一直开仓。
continue

# 平空
if chicang_short > 0:
target_pos.set_target_volume(0)

# 开多
if YYY:
target_pos.set_target_volume(11)

2020-12-02 20:07:15 – INFO – 通知: 登录成功
2020-12-02 20:15:01 – WARNING – 通知: 与 wss://otg-sim.shinnytech.com/trade
网络连接断开,请检查客户端及网络是否正常
2020-12-02 20:15:11 – WARNING – 通知: 与 wss://otg-sim.shinnytech.com/trade
网络连接已恢复
2020-12-02 20:15:11 – INFO – 通知: 登录成功
2020-12-02 21:00:00 – INFO – 通知: 下单成功
2020-12-02 21:00:00 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:00:56 – INFO – 通知: 下单成功
2020-12-02 21:00:56 – INFO – 通知: 成交通知,合约:SHFE.ag2102,手数:2
2020-12-02 21:02:14 – INFO – 通知: 下单成功
2020-12-02 21:02:14 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:14 – INFO – 通知: 下单成功
2020-12-02 21:02:14 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:14 – INFO – 通知: 下单成功
2020-12-02 21:02:14 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:14 – INFO – 通知: 下单成功
2020-12-02 21:02:14 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:14 – INFO – 通知: 下单成功
2020-12-02 21:02:14 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:14 – INFO – 通知: 下单成功
2020-12-02 21:02:14 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:14 – INFO – 通知: 下单成功
2020-12-02 21:02:14 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:14 – INFO – 通知: 下单成功
2020-12-02 21:02:14 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:15 – INFO – 通知: 下单成功
2020-12-02 21:02:15 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:16 – INFO – 通知: 下单成功
2020-12-02 21:02:16 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:16 – INFO – 通知: 下单成功
2020-12-02 21:02:16 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:16 – INFO – 通知: 下单成功
2020-12-02 21:02:16 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:16 – INFO – 通知: 下单成功
2020-12-02 21:02:16 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:16 – INFO – 通知: 下单成功
2020-12-02 21:02:16 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:16 – INFO – 通知: 下单成功
2020-12-02 21:02:16 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:16 – INFO – 通知: 下单成功
2020-12-02 21:02:16 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:16 – INFO – 通知: 下单成功
2020-12-02 21:02:16 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:17 – INFO – 通知: 下单成功
2020-12-02 21:02:17 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:17 – INFO – 通知: 下单成功
2020-12-02 21:02:17 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:17 – INFO – 通知: 下单成功
2020-12-02 21:02:17 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:17 – INFO – 通知: 下单成功
2020-12-02 21:02:17 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:17 – INFO – 通知: 下单成功
2020-12-02 21:02:17 – INFO – 通知: 成交通知,合约:SHFE.fu2101,手数:11
2020-12-02 21:02:17 – WARNING – 通知: 下单,已被服务器拒绝,原因:开仓保证金不足
Traceback (most recent call last):
File “C:\jzt_data\tq\jzd100.py”, line 194, in <module>
api.wait_update()

xuansuokeji 已回答的问题 2020年12月3日

不敢用,不敢用

0

pos = TargetposTask()初始化放在了循环内还是循环外?

然后同时有多个py进程对同一个账户进行操作么?

胜利 李 发表新评论 2020年12月4日

放在外边。多品种操作,使用字典存储了target_pos实例。
代码没改,重启后,直到现在没有再出问题。
有可能你们的模拟服务器出问题,没有返回成交回报。

应该是你策略程序没有跨交易重启的原因,策略跨交易日需要处理,不然会导致模拟交易服务器pos字段计算错误,跨交易日委托单无法正确清零等一系列问题

好的,谢谢,可能是这个原因。有点记不清了。
我现在加了开平仓标志,未成交前只set_target_volume()一次。

您正在查看2个答案中的1个,单击此处查看所有答案。