VNPY重新启动后没有停止挂单原因和解决方法是什么
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本篇文章为大家展示了VNPY重新启动后没有停止挂单原因和解决方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。之前在这个链接里面,提了vnpy重启后,比
千家信息网最后更新 2025年01月20日VNPY重新启动后没有停止挂单原因和解决方法是什么
本篇文章为大家展示了VNPY重新启动后没有停止挂单原因和解决方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
之前在这个链接里面,提了vnpy重启后,比如开盘前开始,即使符合挂单条件,也没有挂单出现的问题,给了一个比较麻烦的方法。
后来研究代码,发现原因应该是:
程序用onInit(self) 初始化回放数据,但是此时self.trading 为false,不会发出停止单;而启动onStart时候,不会重新回放启动,也就不会有挂单,这样重启第一个时间K线是没有停止单在的。
由于历史回测是连续的K线,这样也就是造成回测和实盘差异较大。
之前链接解决方法比较复杂,简单解决方法就是把回放最后一个bar放在onStart里面跑,这时候self.trading 为True,允许挂单。
1. 修改策略的onInit(self) ,回放不包括最后一个bar
def onInit(self): """初始化策略(必须由用户继承实现)""" self.writeCtaLog(u'%s策略初始化' % self.name) # 载入历史数据,并采用回放计算的方式初始化策略数值 initData = self.loadBar(self.initDays) for bar in initData[:-1]: self.onBar(bar) self.putEvent()
2.给onStart加入最后一个bar回放,
def onStart(self): """启动策略(必须由用户继承实现)""" initData = self.loadBar(1) bar = initData[-1] self.onBar(bar) self.writeCtaLog(u'%s策略启动' % self.name) self.putEvent()
上述内容就是VNPY重新启动后没有停止挂单原因和解决方法是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
策略
方法
原因
内容
历史
就是
技能
数据
用户
知识
链接
复杂
简明
较大
简明扼要
也就是
代码
历史数据
差异
数值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
r710服务器如何改风扇
万德数据库有对外直接投资吗
三门峡软件开发联系方式
联想服务器无法开机
200多m的数据库
时间服务器管理规范
青岛铭鼎网络技术有限公司
数据库集群安全保密设计
服务器远程删除文件可以恢复吗
服务器跑酷
戴尔服务器安装2012
易语言快速查找资料的数据库
江西攻防网络技术有限公司
化合物吸收值在哪个数据库找
机载产品软件开发程序
网络安全在我心中300字
软件开发 分支管理
软件开发 开票类型
苹果服务器查询需要多久
改过的电脑网络安全密钥忘了
数据库字符串函数
计算机9网络技术
正规网络技术咨询价格信息
win服务器版本管理用户
数据库 role
企业免费服务器
战地1切换服务器
数据库查询怎么进行模糊查询
信息系统网络安全如何管理
数据爬取怎么把数据存入数据库