VeighNa量化社区
你的开源社区量化交易平台
xiaohe's Avatar
Member
离线
4300 帖子
声望: 268

可以按照portfolio_strategy的示例策略修改迁移过去,不想要put_event就自己删掉就好了

可以参考自带的双均线策略

OES API应该是接的是期权版本吧,股票版本可能要重新编译

在交易组件输入交易所和合约代码,并且按“Enter”键才可订阅行情。
https://www.vnpy.com/docs/cn/quickstart.html#id7
如果“enter”之后没有出现行情,大概率是没有查到该合约名字。订阅前建议由菜单栏的”帮助“->“查询合约”里查一下合约名字

可以在电脑“设置”-“时间和语言”-“日期和时间”处选择一下自己所在的时区

报这个错应该是有时区的datetime和没有时区的datetime相减导致的

应该是超过默认的空闲时间,连接自动断开了,可以修改mysql的超时设置试试

没有

vnstudio默认是装在C:\vnstudio目录下

  1. 不会,我说的是会从通过接口从交易所获取,通过on_order推送信息显示在图形界面上。重启后不会重新发送原来的委托订单。可以自己缓存挂单单号,重启初始化策略时再读取。可参考https://www.vnpy.com/forum/topic/530-vnpyzhong-qi-hou-ce-lue-wu-fa-yu-zhong-qi-qian-de-gua-dan-guan-lian)
  2. 限价单是发到服务器的,本地停止单是在本地记录了信息,等价格触到了记录的价格就以涨跌停价或者盘口五档的价格发出限价单。微信公众号vnpy-community的【进阶课程】-【CTA策略】的第17课时【停止单撮合】有详细讲解或可参考https://www.vnpy.com/forum/topic/4786-guan-yu-ting-sun-dan-zhi-xing-ji-zhi-de-dai-ma-jie-du
  1. vnpy为了避免信号闪烁的问题,都要一根K线走完才推送,那么需要收到开盘第一根K线才能下单而不是开盘时了。
  2. 要以开盘价买卖的话,不能用本地停止单,本地停止单的价格是触发交易信号的价格,行情触到触发价格后会以盘口五档或者涨跌停价发出,此时的成交价大概率都不是开盘价了。
  3. 如果非要一开盘就以开盘价买卖,可以考虑在on_tick下用tick.open_price下单试试

请问你查询成功之后重启了吗?查询合约就是去self.contracts里取合约信息,那说明是有的,如果重启了还没有的话,建议你去load_contract_data函数下打印一下self.contracts看看

本地没有缓存,限价单的单子是下到交易所了所以重启的时候从交易所查询到了,本地停止单就没下到交易所,关闭之后缓存就清掉了

请认真再检查一下你这句命令,好像和报错那句不是一样的。报错好像是这句C:\vnstudio/python.exe C:\vnstudio/helpers/add_into_sys_path.py,你是C:\vnstudio\python.exe C:\vnstudio\helpers\add_into_sys_path.py

查询成功是指,合约查询窗口里有内容了是吗?

要调用contractDetails函数才能把合约信息放入self.contracts里,才能通过get_contract函数获取信息。

description
看你的图,名称那里空的,就是vnpy这边还没有信息放进self.contracts里

description
订阅行情之后,需要点击查询合约(如果订阅了,留空即可)才能把合约信息放进self.contracts里

description
然后重启vnpy即可

可以开个cmd,在其中执行上述报错的命令,看看输出信息是什么

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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