可参考https://www.vnpy.com/forum/topic/3817-an-zhuang-vnstudio-2-1-4shi-bai-qing-xie-zhu-xie-xie-yi-wai-tui-chu-dai-ma-:1073741515
https://www.vnpy.com/forum/topic/2078-qing-wen-xia-bu-neng-an-zhuang-vnstudioshi-shi-yao-yuan-yin-yao-zen-yao-jie-jue
https://www.vnpy.com/forum/topic/2376-vnstudio-2-0-9an-zhuang-chu-cuo-xin-an-zhuang-liao-xi-tong-ye-shi-mei-yong-qiu-jiao
报错没有plotly, 应该是因为2.1.4图形显示从matplotlib换成了plotly。可以打开cmd执行pip install plotly命令手动安装试试看启动还报不报错
你标红的是一分钟的ohlc,可以看一下你自己的截图,9:00-9:14里的open不就是9:00的开盘3794,high不就是这15个high里的最高3803.0,low不就是15个里的最低3788,close不就是9:14的收盘3794吗?
这期间应该只有4.28-7.24那笔交易,vnpy计算方法是逐日盯市场不是逐笔成交的,5.6-6.8还持有没有交易的状态,那么那时应该只有holding_pnl没有trading_pnl。
要是想改成逐笔成交计算可参考https://www.vnpy.com/forum/topic/2107-vn-pyshe-qu-jing-xuan-14-liang-hua-ce-lue-ping-gu-de-xian-wei-jing-:zhu-bi-dui-chong-tong-ji-shang
https://www.vnpy.com/forum/topic/2227-vn-pyshe-qu-jing-xuan-15-liang-hua-ce-lue-ping-gu-de-xian-wei-jing-:zhu-bi-dui-chong-tong-ji-xia
你这打印的是合成的15分钟的bar吗?
可以去原帖看一下,楼下好像有补充的
用的哪个接口?
不清楚你看的教程,连接simnow可自己去申请账号根据文档登录。ctp_connect.json是保存已配置的登录信息的json文件
可以自己去接口print看看
vnpy.app,paper_account
这个应该不影响运行的
勾选了paper_account模块
有些测试环境就是没有行情的
对应字段修改一下就好了吧
应该是数据掉包了,报错里有说Missing value for bid_price_2.
不清楚逻辑代码怎么写的。如果只是刷新策略参数的话,2楼的方法应该可以了吧。
发布于vn.py社区公众号【vnpy-community】
原文作者:用Python的交易员 | 发布时间:2020-12-11
更新日期:2020-12-11
针对许多初学者在刚开始使用vn.py时,容易遇到的各种常见问题,整理了这份FAQ文档,后续也会持续保持更新。
软件安装和基础使用
【Q】阅读和开发vn.py相关的代码,推荐怎么选择Python版本和IDE工具?
【A】建议使用vn.py官方打包的Python发行版VN Studio作为Python环境,同时使用Visual Studio Code(安装Python和Pylance插件)作为IDE工具。
对于新手来说,尤其不推荐使用PyCharm,作为针对大型Python项目的PyCharm,使用时需要用户对运行环境进行大量细节配置,不熟悉的人很容易在各种地方出错,浪费大量时间去爬坑。
对于经验丰富的老手来说就无所谓了,选择自己最熟悉的Python版本和IDE工具就好。
CTP期货接口
【Q】已经连接登录了CTP接口,但是在VN Trader主界面,左上角的编辑框中输入合约代码后,为何回车无法订阅行情?
【A】请检查合约代码是否输入正确,国内4家期货交易所的合约命名规则有所区别,vn.py内部全部采用官方命名,举例来说:
请注意以上命名中的英文字母大小写,以及年月的数字。
【Q】连接SimNow的CTP服务器,主界面左下角日志区域没有任何输出信息,或者出现4097错误?
【A】可能有以下几个原因,请按顺序排查:
【Q】CTP接口报错:“交易服务器授权验证失败,代码:63,信息:CTP:客户端认证失败”是怎么回事?
【A】这个报错是因为登录时,填写的穿透式认证的产品名称和授权码错误。如果是实盘账户请联系期货公司确认,如果是SimNow账户请使用下面的配置(来自SimNow官网)
【Q】申请穿透式接入时,期货公司要求提供AppID,请问AppID是什么?
【A】AppID是一个由用户提供的交易程序的代码,具体怎么写可以参考这篇文章:《看完这篇,彻底搞定期货穿透式CTP API接入》
【Q】行情订阅失败,说找不到合约,请问这是怎么回事?
【A】查找合约可以点击主界面的顶部菜单栏的【帮助】->【查询合约】打开对话窗口:
通过搜索出来的结果,即可判断合约代码的正确写法。
同时两种比较常见的出错原因:
【Q】CTP/CTPTEST接口在登陆时报错:“交易服务器登录失败,代码:3,信息:CTP:不合法的登录”,是怎么回事?
【A】这个报错是典型的账号密码错误,可以检查一下是否输入错误:
RQData数据服务
【Q】RQData中的连续合约数据,提供88、888、99等多种类型,做CTA策略回测应该用哪个?
【A】首先是数据的区别,以股指IF合约为例:
具体细节可以参考米筐官方的RQData文档页面。
【Q】RQData报错:this license is only allowed to access through the education network,请问这个该怎么解决?
【A】这个报错说明使用的是学生账号,只能在校园网环境下使用。如果已经使用的是校园网络,但仍报同样的错,应该是ip地址不在的RQData网段池里,建议联系RQData的工作人员进行添加。
【Q】RQData报错:rqdatac.share.errors.QuotaExceeded: Quota exceeded,请问这个是什么情况?
【A】这个报错说明目前该账户同时登录的次数超过了限制。对于付费用户,RQData默认允许同时有3个连接登录,对于试用账户则只有1个了。请关闭其他连接了RQData的进程后,再次尝试即可。
CTA策略交易
【Q】我自己开发的策略,应该放到什么目录?
【A】CtaStrategy和CtaBacktester两个模块,在启动时都会自动扫描加载VN Trader运行时目录(主界面窗口顶部标题栏的路径)下的strategies目录中的策略文件。
默认情况下,运行时目录是当前操作系统的用户目录,假设你的用户名为abc:
Windows系统
Linux/Mac系统
【Q】启动CTA策略模块时,弹出报错json.decoder.JSONDecodeError: Expecting value: line xx column xx (char xxx),应该该怎么解决呢?
【A】首先请删除C:\users\administrator.vntrader文件夹里对应的json文件:
注意,这里的administrator应该是你的Windows操作系统用户名。删除后重启VN Trader即可。
如果后续再次出现该错误,请检查策略代码中,是否有把str、bool、int、float类型以外的变量名称写到了parameters列表中,这四种类型以外的变量由于无法通过json序列化会导致保存策略状态出错(损坏json文件)。
历史数据和数据库
【Q】vn.py支持哪些数据库?对于用户来说应该怎么选择?
【A】目前一共支持四套数据库:SQLite、MySQL、PostgreSQL以及MongoDB。其中SQLite、MySQL和PostgreSQL属于SQL类数据库,MongoDB属于NoSQL类数据库。
从各自的特点看:
关于数据库的具体配置方法,请参考官网文档。
【Q】手头已有从其他来源(淘宝购买、软件导出等)获取的CSV格式的K线数据,如何导入到vn.py中用于策略历史回测分析?
【A】注意:最新版本中已将之前的CsvLoader模块的功能,合并到了DataManager模块中。
操作流程如下:
其他应用模块
【Q】启动VN Trader时,报错zmq.error.ZMQError: Permission denied,请问如何解决?
【A】出现这个报错是因为ZeroMQ使用的端口冲突了。在VN Station中配置VN Trader的加载模块时请注意,ExcelRtd、RpcService都需要用到ZeroMQ,因此同时加载就可能导致冲突情况。建议在使用的时候,只加载自己需要用到的模块即可。
建议可以print一下看看当时是否有tick推送过来
template里buy函数默认是offset为None,自己在算法里写offset方向就行了吧