在上期所的螺纹合约上策略发出平空仓指令后,因为是昨仓,平仓委托经converter转换后成为平昨仓委托(CLOSEYESTERDAY)。但在委托和成交栏里都显示为开多单,最后结果也没有平掉昨仓而是开了新的多单。这是怎么回事?
请问vnstation数据模块的更新数据可以更新tick级数据吗?
我点击以后发现tick数据没有更新,但通过米筐的命令直接可以取得最新的数据,说明米筐那里是提供出了最新的数据的。
在vnstation里面下载tick级数据时出现无响应。
在任务管理器里查看时发现当内存到14421.3mb后就不再增加,请问这是什么原因造成,应该怎么解决?
我在米筐开通了一个tick级数据权限,但在on tick下面print tick.last_price或者tick.datetime都没有输出,请问这个问题怎么解决?
请问在新版vnpy里(2.7)还能用Jupyter进行历史回测吗?有相关代码吗?
在无ui界面下运行时,在结算信息确认之后出现以下错误:
KeyError: ('8',)
At:
C:\vnstudio\lib\site-packages\vnpy\gateway\ctp\ctp_gateway.py(680): onRtnOrder
C:\vnstudio\lib\site-packages\vnpy\gateway\ctp\ctp_gateway.py(649): onRspQryInstrument
请问这是什么原因,怎么解决?
更新之后运行无图形界面会报这个错误,但是utility确实在trader文件夹下面啊。
发现一个问题,main_engine里的contracts列表是按照vt_symbol来索引的,像'i2105_DCE'这样。
但是当发送委托的时候,order.vt_symbol后面会多一个/CTP,像这样:
i2105_DCE/CTP
由于格式不对,导致后面对contracts列表的更新都是没有正确执行的。
这个问题应该怎么修正?
想请问converter里的offsetconverter的作用是什么?其中is_convert_required这个函数又是起什么作用?
在早上9点开盘的时候,经常会出现某些期货的标的接受不到数据。夜盘没有这种问题。我敢肯定不是策略内部的bug,因为重启就恢复正常了。最近两天rb2105都出现了这个问题。我用的无图形界面,并且是在实盘上运行的。请问有人遇到和我类似的问题吗?
我根据
https://www.vnpy.com/forum/topic/2504-vnpyjin-jie-on-tickhan-shu-nei-che-dan-zhui-dan-xiang-jie-shi-pan-zai-yong-de-dai-ma-mei-you-keng-e
这个帖子修改了代码,但发现程序并没有成功的追单撤单。
首先我发现
working_order_dict = self.get_position_detail(tick.vt_symbol).active_orders
这个列表一直是空的,在有委托发出后且没有成交时,列表依然是空的。
于是我在converter里面找到了相关的update_order函数,我发现当新的委托出现时,其状态为Status.SUBMITTING;但这种状态的委托update_order不会处理,于是就造成active_orders列表一直没有更新。那么on_tick里的追单撤单也不会执行了。
请问这是什么原因造成的?是因为我用的仿真环境吗?是不是只有实盘的时候才能正确执行?
有个问题一直没弄明白,为什么cta策略里的parameter和variable要用class variable?
假设我在两个标的上运行同一种策略,那么这两个标的应该有各自的一些参数和变量,这样的话不是使用instance variable更好吗?vnpy里选择class variable的原因什么?
我想自己设计一个直连交易所的平台,想学习vnpy的连接期货公司的方法。但是很关键的一部分是在pyd文件里面。我想知道这部分有方法查看吗?我不是学计算机的,自学的python。c++只在课上学过但从没有用过。想请教我这个背景有希望靠自学单独设计连接交易所的程序吗?如果没什么希望的话我也不去浪费时间了。
不知道是不是刚更新的版本里新出现的,如果有读不到郑商所数据的,请找到rqdata文件,做出如下修改:
在vnpy.trader里的rqdata里,
class RqdataClient:
def to_rq_symbol(self, symbol: str, exchange: Exchange) -> str:
"""
CZCE product of RQData has symbol like "TA1905" while
vt symbol is "TA905.CZCE" so need to add "1" in symbol.
"""
# Equity
if exchange in [Exchange.SSE, Exchange.SZSE]:
if exchange == Exchange.SSE:
rq_symbol = f"{symbol}.XSHG"
else:
rq_symbol = f"{symbol}.XSHE"
# Futures and Options
elif exchange in [Exchange.SHFE, Exchange.CFFEX, Exchange.DCE, Exchange.DCE, Exchange.INE]
其中最后一行有两个DCE,把其中一个改成CZCE
刚发现更新版本后所有郑商所(CZCE)的数据都读取不了。根据@darksh0w 发的帖子,我发现必须要把所有郑商所期货的格式改成大商所的格式:
比如说,TA009.CZCE是读取不了的,必须改成ta2009.DCE;
就好像pta换成了在大商所交易。
我问了rqdata的人,他们说没有问题,最近也没有做相关修改。所以应该是vnpy更新后出现的问题了。
请问这个问题如何解决?