VeighNa量化社区
你的开源社区量化交易平台
Member
加入于:
帖子: 14
声望: 5

2023-03-08: 免费仿真环境已迁至121.37.90.193,并且取消了行情前置,订阅行情请直连CTP柜台(免费的,不需要账号)。具体见:openctp仿真环境调整

openctp已经开放运营一年多了,帮助了很多CTP用户调试程序、验证策略、学习交易等,有simnow这样的官方平台,谁弄个第三方的干嘛?原因大家也都知道,正如现在所碰到的情况,simnow又停服一个月,已经是今年第二次超长时间停服了,谁知道还会不会有第三、第四次。。

也是机缘巧合,手上积累了相关的技术,这个积累可不是拿来主义啊,咱可是一个字母一个字母敲出来的,妥妥的原创技术,只是说是设计思想跟CTP接近,也仅此而已了。通过接口封装成CTPAPI形式提供了与CTP接口兼容的接入方式,CTP程序只要更改一下CTP的交易dll(thosttraderapi_se.dll)和行情dll(thostmduserapi_se.dll)即可对接到openctp的交易前置和行情前置,当然,这两个dll或so也可以只替换其中一个,比如你想连到openctp的交易前置那就只需要替换交易dll即可,openctp的两套仿真环境也只需要你替换一下交易dll就行了,行情可以直接连接CTP实盘行情前置,因为openctp的行情也是转自CTP实盘前置,又何必接这个二道贩子的数据呢。

openctp的VIP环境直接就没有提供行情前置,你必须去直连实盘行情,但是这可能操作上有点麻烦,因为vn.py默认的TTS通道使用的是openctp的行情dll,你只改个CTP实盘前置地址是不够的,还要把行情dll替换成ctp官方版本,具体位置看你安装路径了,大概是这样的位置:C:\veighna_studio\Lib\site-packages\vnpy_tts\api
description
需要注意的是vn.py使用的是6.5.1的win64版本dll,请不需要弄错版本号。

CTP实盘行情的地址有很多,其实CTP行情前置是不校验用户名、密码的,所以你可以连接任意一家期货公司的行情前置,我随便挑了几个实盘的地址:
tcp://180.169.112.54:42213
tcp://140.207.168.9:42213
tcp://180.168.212.75:41313
tcp://27.115.78.155:41313
tcp://180.168.102.233:41168
tcp://112.64.143.220:41168

另外也还是陆续有vn.py的朋友问4097的错误问题,这里再提一下这个问题的解决方法,因为TTS的dll与CTP的dll同名,所以不能同时勾选这两个通道,只能勾选其中一个:
description

TTS通道的更多信息请到openctp官方页面了解:https://github.com/krenx1983/openctp

或者关注openctp的公众号,TTS的模拟账号也会在你关注的时候自动为你创建,一个微信号可以获得免费的3个7x24和3个仿真模拟账号,需要更全品种、全好体验的可以购买相应的VIP环境模拟账号。
description

最后非常感谢vn.py晓优大佬的支持,希望能够跟vn.py一起为投资者提供更好的服务。

Member
avatar
加入于:
帖子: 1401
声望: 92

感谢分享!!!

Member
avatar
加入于:
帖子: 4556
声望: 277

3.3.0的ctp接口已经升级至6.6.7了,使用veighna_studio的用户替换dll的时候可以留意一下station【交易】界面的接口版本号显示

Member
avatar
加入于:
帖子: 4
声望: 0

如何替换呢?只是将CTP中的行情DLL拷贝到TTS相同目录下吗?还是要做什么别的操作的?

Member
avatar
加入于:
帖子: 4556
声望: 277

不使用tts的vip环境的话,直接连接TTS接口即可。如需使用tts的vip环境,复制vnpy_ctp.api下的行情dll覆盖vnpy_tts.api下的同名dll即可

Member
加入于:
帖子: 13
声望: 0

我在linux环境下跑,连接TTS模拟或仿真服务器,MainEngine的connect接口传参gateway_name是填什么? TTS还是CTP吗?如果写TTS,会报行情/交易服务器连接断开,原因4097。如果填CTP,会报找不到底层接口:CTP

Member
avatar
加入于:
帖子: 4556
声望: 277

写TTS
报4097的话可以看看是否同时选择了其他c++的接口

Member
加入于:
帖子: 13
声望: 0

我看上文内容说报4097的错误问题,是因为TTS的dll与CTP的dll同名,所以不能同时勾选这两个通道,只能勾选其中一个。但是我是无界面linux开发,检查了下代码,MainEngine只连接了TTS这个接口。部分代码截图如下:

description

description

Member
avatar
加入于:
帖子: 4556
声望: 277

使用的vnpy_tts版本是?
不选择其他c++接口,使用tts的7x24小时环境还是报4097吗?
还有就是需要注意,只有使用tts的vip环境才需要替换dll,如果使用tts的其他环境,无需替换dll

Member
加入于:
帖子: 13
声望: 0

使用tts的7x24小时或仿真环境都是报4097,vnpy_tts 版本是6.5.1.3,因为vn_py用的是上个版本3.2.0。

Member
加入于:
帖子: 6
声望: 1

请问如何只接收行情(登录行情服务器),跳过交易服务器登录呢?感谢

Member
avatar
加入于:
帖子: 124
声望: 4

Q wrote:

请问如何只接收行情(登录行情服务器),跳过交易服务器登录呢?感谢
gateway里面类的初始化有个connect,把td.connect注释掉只保留md.connect就好了

Member
加入于:
帖子: 6
声望: 1

七月雪 wrote:

Q wrote:

请问如何只接收行情(登录行情服务器),跳过交易服务器登录呢?感谢
gateway里面类的初始化有个connect,把td.connect注释掉只保留md.connect就好了
感谢老铁!
尝试注释掉了md.connect和有关的连接;log里显示登陆了行情,但是接收不到行情了,不知道有还有什么地方需要注意的吗?

Member
avatar
加入于:
帖子: 2
声望: 0

用了opentcp 但是下载不了历史数据 不知道怎么解决,

description

Member
avatar
加入于:
帖子: 1401
声望: 92

openctp只是个仿真环境,并没有提供历史数据下载服务

Member
avatar
加入于:
帖子: 4
声望: 0

xiaohe wrote:

使用的vnpy_tts版本是?
不选择其他c++接口,使用tts的7x24小时环境还是报4097吗?
还有就是需要注意,只有使用tts的vip环境才需要替换dll,如果使用tts的其他环境,无需替换dll

你好,我的环境是vnpy3.2, vnpy-tts6.5.1 目前遇到和 thinkroom 一样的情况。使用7*24连接,但是4097

Member
avatar
加入于:
帖子: 4556
声望: 277

有加载其他c++接口吗?

Member
avatar
加入于:
帖子: 4
声望: 0

xiaohe wrote:

有加载其他c++接口吗?

ubuntu22.04系统,python3.10,,没有加载其他接口,只有tts

Member
加入于:
帖子: 14
声望: 5

soham wrote:

xiaohe wrote:

有加载其他c++接口吗?

ubuntu22.04系统,python3.10,,没有加载其他接口,只有tts

4097的错误说明你加载到的还是ctp的动态库而不是tts的,参考一下这篇文章:https://zhuanlan.zhihu.com/p/453332727

Member
加入于:
帖子: 2
声望: 0

请问有期权数据吗?在查询里没看到期权合约信息

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】