CtaEngine有orderid_strategy_map和strategy_orderid_map。
不知道这是不是你的完整代码了,如果是的话,你的都没有self.orderids成交后删除的逻辑,但你的self.active_orders成交后就会删除对应缓存,那这样在self.active_orders当然找不到删除后的order了。
可以用datarecorder模块录制数据
没有配置数据服务都会默认调用vnpy_rqdata作为datafeed,如果没有配置米筐就是不能用罢了
确实只有这几个模块用了zmq,看路径像是这台电脑之前安装了别的zmq导致的
scripttrader模块就是通过get_tick/get_ticks函数获取main_engine的ticks字典里收到的tick数据的
剥离到vnpy_ctastrategy包里了,按你的路径应该是D:\VNPY\Lib\site-packages\vnpy_ctastrategy
请删除.vntrader文件夹下对应的json文件,再重启。你这个应该是删除cta_strategy_data.json。如果删除重启还报同样的错,建议检查一下策略参数的类型。检查一下策略里是否有把str\bool\int\float以外的变量名,写到了parameters列表中,json文件保存不了这四种基础数据以外的类型,就会出错
mac不支持ctp接口
在run.py文件中取消想要连接的接口和模块前的注释即可
这个get_pos函数是去获取你策略实例的self.pos字典里对应的持仓,这个字典是初始化时读取json文件的持仓作为初始持仓,然后根据成交回报进行计算并缓存到json文件的,下一次该策略实例初始化的时候又读取json文件中的pos作为初始仓位
请问你是用的实盘账号还是模拟账号?请问是哪个期货公司提供的呢?
参考run.py里其他接口的代码,import接口再add_gateway即可
不关闭软件的话,缓存会越来越大,而且还会收到交易所推送的非交易时段的脏数据。
请问“状态根本就不能回到我昨晚上夜盘结束的变量信息”这句话具体指什么。
如果盘前连接没反应,可以在cmd用命令行python -m vnstation启动,复现你的操作,看看底层是否有报错信息输出
精简vn.py的项目代码,将核心组件和扩展模块逐渐剥离,可以方便目前越来越多样化的vn.py用户群体的使用习惯,这样用户可以按需选择自己想要的模块和接口。
K线的话,不是接口推送,是BarGenerator合成。
如果策略里用了ArrayManager的话,ArrayManager就会存。
请问有哪个字段是不清楚的吗?