123下一页
返回列表 发布新帖

关于QMT/xtquant使用时遇到的常见问题的解答

2218 20
发表于 2023-12-19 09:39:41 | 显示全部楼层 阅读模式
持续更新

评论20

*******7370楼主
发表于 2023-12-19 09:48:30 | 显示全部楼层
常见问题1. 某个数据取不到/无返回值

排查步骤:
1. 打开官方文档 id=7zqjlmhttp://dict.thinktrader.net/innerApi/start_now.html?id=7zqjlm

2. 在数据字典/api文档中找到对应的数据获取方式,先看说明要不要下载历史数据,QMT/xtquant大部分数据都是要从本地数据解码读取的

3.等待下载完全完成后,运行文档标准示例,不要一边下载一边取数据


3. 如果还没有返回值,那就是你账号权限问题,可能被限制获取条数了,需要买VIP解锁
*******7370楼主
发表于 2023-12-19 10:03:35 | 显示全部楼层
常见问题2.gmd系列函数取数据慢

这问题基本是出现在券商大QMT,由于大QMT的python只能单线程运行,所以并没有什么解决方法

解决方法:
1. 能用miniqmt的情况下,用miniqmt

2. 换用xtquant的token模式取数据,计算信号,把信号传输给大qmt

Willows
发表于 2023-12-19 10:51:27 | 显示全部楼层
常见问题3.在使用miniqmt的时候,xtdata能取到数据,但是xttrade下不了单

1. xtdata 和 xttrade 属于两个不同的权限,所以如果你能通过xtdata取到数据,并不代表能用xttrade下单

2. xttrade(xttrader.XtQuantTrade) 链接失败的原因可以参考官方文档的排查步骤 http://dict.thinktrader.net/nati ... 3%E6%96%B9%E6%B3%95
Willows
发表于 2023-12-19 14:05:13 | 显示全部楼层
常见问题4. 订阅数量限制的计算方法

订阅数量的计算并不是股票数量来计算

比如我同时订阅 000001.SZ 的1d数据和1m数据,这样会算两个订阅

目前非VIP用户的订阅数量上限是500只,订阅超过500的时候不会报错,但是行情不会更新

VIP用户没有订阅数量的限制
Willows
发表于 2023-12-19 17:39:10 | 显示全部楼层
常见问题5.订阅后行情不更新

基本上都是行情断开了,没有重连成功

排查步骤
1. 点右下角行情按钮,看看是不是都断开了,交易中心/行情中心必须同时连上

2.如果显示连接正常,尝试切换一个行情站点

3.如果都不行,尝试下重启大法

4.以上都解决不了,就联系官方人员吧
Willows
发表于 2023-12-20 17:55:29 | 显示全部楼层
常见问题6.为什么运行了策略没下单成功?

这个可以说是一个每天都会有人咨询的问题,没有下单成功的因素有很多,但是可以肯定的是,只要你正确填写了参数并进行了设置,绝对是可以下单成功的

排查步骤

1. 最开始,也是最基础的,不建议使用除passorder以外的下单函数,原因后边说

2.在下单语句后面进行一次print,输出任何内容都行,这个操作的目的是为了确定代码里真的调用到了passorder

3. 如果确定调用了passorder,但是没有下单,就要看下自己是不是在策略交易界面运行的,如果是在编辑器直接点击运行是没法交易的,那地方是给你调试代码用的,下不了单

4. 如果有策略信号,但是没有实际下单,那一定是你策略选错了运行模式,到这一步,只需要把策略运行模式改成【实盘】,策略就可以交易下单了,关于运行模式的说明,参考官方文档http://dict.thinktrader.net/inne ... 7%E6%A8%A1%E5%BC%8F

5.如果确定是实盘模式,且确实调用了passorder,但是没有下单,那么考虑订单被柜台拒绝/passorder报错/账号没正确配置/快速下单参数填写错误/ 这4种情况
    a. passorder报错/订单被券商拒绝的情况:这两种情况中,具体的报错/被拒信息都会显示在下方栏的消息提示中,根据提示解决就行
    b. 账号没正确配置: 看看是不是代码内填错了交易账号
    c. 快速下单参数填写错误 :对新手来说,这个错误最难发现,因为既不报错,看代码里也都是正常执行,对于快速下单参数的描述,官方文档有详细的解释,建议移步查看http://dict.thinktrader.net/inne ... F%E4%B8%8B%E5%8D%95
Willows
发表于 2023-12-20 18:06:26 | 显示全部楼层
本帖最后由 Willows 于 2023-12-20 18:14 编辑

常见问题7.为什么不建议使用除了passorder以外的下单函数

passorder与其他的下单函数(例如order_shares/order_value等)最大的区别就是,passorder有快速下单参数(quickTrade),可以灵活的在策略中指定下单时机,而order_shares/order_value等下单接口是没有这个参数可设置的,只能等K线收线后才下单,如果你的策略周期是日线,且使用了order_shares/order_value等非快速下单接口,那么整个交易日都不会实际进行下单

从另一个角度来说,passorder作为最基础,最底层的下单函数,可以更方便的被封装成任意功能的下单函数

在量化交易中  simple is powerful
Willows
发表于 2023-12-20 18:21:55 | 显示全部楼层
常见问题8. QMT策略编辑器中,怎么批量注释/取消注释

对选中内容Ctrl + Q

更多快捷键可参考官方文档http://dict.thinktrader.net/inne ... B%E6%8D%B7%E9%94%AE
Willows
发表于 2023-12-20 18:31:30 | 显示全部楼层
本帖最后由 Willows 于 2023-12-21 18:05 编辑

常见问题9. 策略回测时,实际回测时间与右侧栏设置的回测时间不一致

问题解答:
1. 如果在 init 内指定了回测开始和结束时间,则会以 init 指定的时间为准,没有指定的时候,以右侧栏设置为准

2. 回测行情依赖主图数据进行推进,如果主图没数据(通常是沪深300指数),那回测就会结束在错误的时间,或者无法回测

回复

您需要登录后才可以回帖 登录 | 立即注册

主题

16

回帖

63

积分

0

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 迅投QMT社区 版权所有 All Rights Reserved. 蜀ICP备19002686号-2
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表