据我了解,目前vnpy是6.3.15版本吧?
不过这个问题你不需要担心,对6.3.15以上的柜台版本(如6.5.1_CP),它其实是向下兼容6.3.15的。
也就是说,vnpy啥也不用改,你直接加载ctp接口接入测试就行。
easibay wrote:
收到其他软件下单后,用order.vtorderid,它也能实现本地订单号,譬如生成:CTP.21-647510950_000000000056,请问为什么这个其他软件下单生成的本地订单号对应的事件在事件引擎中,不会被get取出来呢(如果能提取,就不会阻塞队列了)?
不是这样的,
vnpy的事件引擎,任何事件扔进来,都会被处理。
区别在于:
如果事件A的类别有注册的处理程序,进入处理程序进行处理。
如果没有,则这个事件就被扔掉了。
“试验了两台电脑,一台既跑策略也录数据,另一台只录数据,都会发生同样的问题。”
你自己已经解答了这个问题。
两台电脑都有同时录制数据,这个录制数据这事儿啊,就是卡住的祸根。
GUI下录制数据本来就是不靠谱方案(包括现在vnpy的DM方案),品种少了还好,多了必卡/崩。这种情况下,对交易是极为不利的。
所以,交易的进程中,不要录制行情。
tick数据是vnpy层面接收到的实时数据。
看你发帖时间是凌晨,不知道测试的时候是那时候测的还是盘中测试的。
如果不是盘中,那有可能是脏数据?
你试试盘中时候对比一下。
肯定哪里整错了。
bg的bar类型,是day还是hour还是min,区分清楚。
毕竟我已经实盘的玩意,有类似问题早就应该遇到了。
略过了前面,从最后结果来看,
我推测:
你训练的环境是独立的装有tensorflow的python环境,
然后呢,python的版本x64/x86?
这个vnpy没关系,跟快期有关系。
另外,期货交易规则要搞明白,隔夜仓的持仓均价是上一日的结算价。你持有的合约,价格每天上涨,那他的持仓均价可不每天上涨咋地?
有可能你9点之前的这个之前,太前了。
王德发啊!!
顺着查了一下,这货要上天吗,本来以为个人对抗,竟然直接注册了公司——
并且,以公司的名义,注册了N多商标————
请问为什么RPC主动断开后,再次重连时会报错呢?
执行的操作步骤为:
1、添加RPC引擎。
2、连接PRC。
3、执行rpc的gateway.close()
以上都正常。
4、再次执行:self.main_engine.connect(rpc_setting, 'RPC')
报错如下:
`
File "d:\Anaconda3\lib\site-packages\vnpy\gateway\rpc\rpc_gateway.py", line 37, in connect
self.client.subscribe_topic("")
File "d:\Anaconda3\lib\site-packages\vnpy\rpc__init.py", line 377, in subscribe_topic
self.socket_sub.setsockopt_string(zmq.SUBSCRIBE, topic)
File "d:\Anaconda3\lib\site-packages\zmq\sugar\socket.py", line 209, in set_string
return self.set(option, optval.encode(encoding))
File "zmq/backend/cython/socket.pyx", line 419, in zmq.backend.cython.socket.Socket.set
File "zmq/backend/cython/socket.pyx", line 135, in zmq.backend.cython.socket._check_closed
zmq.error.ZMQError: not a socket
@用Python的交易员
感谢。看过目录,其中除了最后一节,其他的都明白。这个知识付费值得,但是只值1/N。
能否以捐赠社区的形式(等价)送最后一节?
目前来说,只能print一些关键数值然后用其他工具来逐bar/交易来核对信号是否一致,如果能回测的话,核对起来方便的多吧。
标题描述不清晰,重新修改已无无法修改,
确切的说,是基于portfolio_strategy模块开发的cta策略,能否回测?
按照我对题主的理解,
你应该是说策略中有多个周期的自定义bar,如果是多个自定义bar的前提下,你的bg也是多个的。
那么,对应的,每个bg,都可以传递相应的ON_XX_BAR.
这就是常见的跨周期策略了。
kingmo888 wrote:
现在VN Station升级到2.1.8.1,而github版本并没有同步更新,请问这样做是有什么原因吗?
了解了。谢谢。
randrange() (1,1, 0)
参数范围有问题
根据字面意思,
文件d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\backtesting.py种的函数update_daily_close中发生错误,具体错误原因是:
代码理论上认为 self.datetime是一个datetime格式,因此会具有date方法。
但实际上 self.datetime是个字符串,不存在这个date()方法,所以报错了。
检查一下vnpy版本、检查一下自己改了什么东西。要么就是加载数据时候,时间字符串未能转换为datetime格式。只能分析到这一步,具体还需要你自己去溯源