写了两个策略 一个是1小时K线数据的策略 ,另外一个是用7小时K线合成的日线策略。用RQData策略初始化后,1小时的策略初始后均线的参数都能正常显示出来。7小时的全是0。loadBar里 7小时的参数是1小时参数的7倍 。这个是RQData不匹配导致的吗?
1小时数据正常初始化
1天(7小时)数据初始化以后 均线值还是0
用CTP模拟测的
应该就是模拟盘在非交易时间段出现了错误的tick数据导致,图上显示15点10分模拟盘还有数据,然后策略报错停止了,想问下版主有写策略的时候什么好的方法针对这些错误数据导致的问题。
开发一个策略需要获取昨结价,查了很多资料 ,THOST_FTDC_MPT_PreSettlementPrice = '1' 这个是用来查询昨结算价的,但是ctp_gateway都没有用到这个参数。想问一下怎么获取一个合约的昨结价。另外发现了主界面的持仓表单里的均价实际上就是昨结价,里面的值是PositionData.price,但是如果持仓为0的话能查询到昨结价吗?
开发一个多合约组合的策略,发现没有止损功能。参考CTA策略改了一下 portfolio_strategy里的enegine和template ,在send_order 加入stop。当stop为真时,会发一个 type=OrderType.STOP的订单。没有实现止损的效果,想问下还有哪些地方也需要修改的?
最近要写一个CTA策略,要求在14:59分的时候平仓所有单子。写完后发现VNPY都是挂单,不能及时平掉,必须改成市价单才能实时成交。改了send_order里OrderType为MARKET,但是还是有问题,price参数需要填写。我以前用MT4的时候,市价单都价格填bid或者ask就好了,VNPY的市价单price参数该怎么设置成bid 或者ask实时价直接成交?另外在主界面上,我也用过手动下市价单,我记得这是不用填价格的,为什么写策略的时候市价单需要设置price了,设置成bar.close了还不能实时成交,到底主界面的手动市价单的price 用的什么值。
无图表模式下回测自带的 BollChannelStrategy出了一个问题。
debug进去后发现计算布林带上下轨boll_up 和boll_down值相同。这两个应该是计算得到的 均值 加上标准差乘以一个系数得到的。
继续进去发现 标准差std 用talib计算的结果为0。
计算中用到的 close值没问题,就是talib计算出错了。
我装的最新的0.4.19版本。
现在策略能正常运行,但结果肯定不是策略想要的结果了。想问一下这种情况怎么处理,其他用到talib的地方 结果可靠吗?
最近碰到个业务想要在一个平台上挂多个CTP账号,用VNPY目前尝试创建多个MDAPI 和TDAPI的实例但是发现数据不对。有人做过相关的项目吗?希望给点建议,另外如果能实现的话也想知道VNPY最多能同时一个终端挂多少个账号。