uyesino 提问于 1周 以前

测试策略,使用TargetPosTask下单有持仓,此时停止策略后,重新运行,用print(”
position.volume_short={}”.format(position.volume_short))打印出来看到持仓为0,多仓也一样是为0。
另外,因为开始TargetPosTask下单时数量都为1,每次运行,比如在持有多仓1手情况下使用

target_pos.set_target_volume(1)下单,仍然发生开单,多头持仓变为2手,停止并重新运行多次策略,在满足开单条件时,持仓不断累加。
似乎在持仓判断机制上出了什么问题,求解

uyesino 回复于 1周 以前

模拟盘老出问题,不敢实盘哪

uyesino 回复于 1周 以前

补充一下
以上问题在天勤软件及在VS code中运行TQSDK回测都没发现异常,只在天勤软件模拟盘中出现,无论0.9.13还是0.9.14都一样。

1 回答
ringo 管理员 回答于 1周 以前
  1. 关于”target_pos.set_target_volume(1)下单,仍然发生开单,多头持仓变为2手,停止并重新运行多次策略,在满足开单条件时,持仓不断累加“ 目前天勤内置的为TqSdk0.9.5,单元格未做分离,因此TargetposTask 每个策略是单独计算持仓,在天勤外部IDE运行时使用的TqSdk已为最新版本,取消隔离,因此每次是计算的账户净持仓,在下一版本天勤和TqSdk将同步为最新版本
  2. 请问您打印持仓是不是在天勤内部IDE打印?如果是的话,这是因为天勤内部获取position仓位信息暂时有bug,外部IDE使用TqSdk则没这个问题,下个版本将在本周内上线,修复这个bug
ringo 管理员 回复于 7天 以前

这个版本天勤内置TqSdk是0.9.5,从下版本开始以后天勤内的TqSdk都会采用最新版本,新版本预计今天或明天更新

uyesino 回复于 7天 以前

我好像记得之前安装天勤时看过内部的tqsdk已经是0.9.9了吧
如果是因为天勤内置的版本较低,是否考虑将天勤与tqsdk分离,毕竟一般都会另外安装较新版本python,一般tqsdk也是会升级到最新版本的.不同版本之间的tqsdk有一些不一样的,天勤更新会慢一点,一些bug也修复的不及时.