4.48K 浏览
0

问题描述:
1. 论坛中多次提到一个问题:原来持仓1手隔夜,次日早上开盘瞬间会对出一对 “买-卖”操作,长期以来该问题一直存在。每天忍受着每次开盘时无故多出的一对“买卖”+滑点损失。

(注:隔夜1手持仓,晚间程序被kill掉,早上9:00启动程序)

—————————————————————————————
if tiaojian == True:
if position.pos_long == 0 and position.pos_short == 0:
target_pos.set_target_volume(1)

2020-06-04 21:01:12,254 – INFO – 通知: 成交通知,合约:DCE.a2009,手数:1
2020-06-04 21:01:12,732 – WARNING – 通知: 撤单失败,CTP:报单已全成交或已撤销,不能再撤
2020-06-04 21:01:12,763 – WARNING – 通知: 撤单失败,CTP:报单已全成交或已撤销,不能再撤
2020-06-04 21:01:15,508 – INFO – 通知: 下单成功
2020-06-04 21:01:15,686 – INFO – 通知: 成交通知,合约:DCE.a2009,手数:1
2020-06-04 21:01:15,731 – WARNING – 通知: 撤单失败,CTP:报单已全成交或已撤销,不能再撤
2020-06-04 21:01:15,733 – WARNING – 通知: 撤单失败,CTP:报单已全成交或已撤销,不能再撤
—————————————————————————————
因为该问题只在开盘瞬间(程序启动时)出现,无法print及logger,无法详细知道程序的逻辑。
大胆猜测问题可能原因: 1. 程序启动;2. position信息在程序启动瞬间未获得持仓信息(1手隔夜的持仓没有获得到);3. 因为条件==True且position.pos_long == 0 就下单交易了;4. 下单后又获得了更新后的position信息,发现已经是2了,所以撤单;5.撤单失败;6.position.pos_long == 2,故平一手! (无缘无故多出一对“买-卖操作” + 滑点)

问题出在2,获取隔夜的持仓信息position信息不准确或不全即开始下单,即:position信息和下单时异步操作出现了逻辑问题????????

2. 一点建议:tqsdk的logger问题,默认import logger的时候会产生大量调试信息,可否在新版本中将logger交给用户配置?

mingtaish 已回答的问题 2020年6月29日
0

这个看下日志应该知道。

另外你自己代码里面如果想知道运行逻辑也可以在多个地方加print,自己可以看一下运行到哪里了。

你在实例化api的代码那里加上debug参数,如果那次启动出现这个情况,可以把日志发给天勤群管理员riong或者west,群号:611806823

west 已回答的问题 2020年6月18日
您正在查看2个答案中的1个,单击此处查看所有答案。