使用vnpy接入飞鼠柜台后,交易黄金现货时发现发单后柜台一直显示订单处于“提交中”,此后一直没有反馈信息。请问这是什么情况啊?
使用vnpy接入飞鼠柜台后,交易黄金现货时发现发单后柜台一直显示订单处于“提交中”,此后一直没有反馈信息。请问这是什么情况啊?
应该是没有收到交易所下单的回报,有可能是接口的连接断开了,可以去飞鼠查看一下订单状态看看。
如果有卡住的情况,也可请在cmd中用python -m vnstation启动,卡住后看看cmd是否有任何报错?
xiaohe wrote:
应该是没有收到交易所下单的回报,有可能是接口的连接断开了,可以去飞鼠查看一下订单状态看看。
如果有卡住的情况,也可请在cmd中用python -m vnstation启动,卡住后看看cmd是否有任何报错?
感谢你的意见哈,我刚才试过上飞鼠终端查询了,终端里面显示订单是“全部成交”,交易正常。现在发现是vnpy没有办法把交易所下单情况回报,但交易期间的vnstation是正常启动也没有发生卡住或报错的情况。请问这有没有可能是vnpy底层本身的问题呢?如果是的话,有办法通过联系vnpy的维护方面解决吗?
xiaohe wrote:
- 可以把sgit_gateway.py的71行改成THOST_FTDC_OAS_Accepted: Status.NOTTRADED,然后再下单看是否有变化;
- 成交后有图形界面上有成交推送吗?如果没有,可以在onRtnOrder和onRtnTrade函数里面print一下交易所传过来的data
抱歉,71行是对的,THOST_FTDC_OAS_Accepted是还在柜台,还没有到交易所
请在启动用的Terminal中,查看是否存在什么报错信息,有的话请贴下
用Python的交易员 wrote:
请在启动用的Terminal中,查看是否存在什么报错信息,有的话请贴下
你好,之前的订单“提交中”的问题已解决。那是由于sgit_gateway.py中 onRtnOrder和onRtnTrade函数 缺少了 “self.sysid_orderid_map[data["OrderSysID"]] = orderid” 的字段,导致没有订单号码供程序查询。
不过又发现个新的问题。成交 和 委托栏的回报已经正常,但持仓期间的盈亏不会更新。同时开仓完毕后再进行平仓操作时,发现持仓栏的 “数量” 信息并不会更新。
图示如下:
望各位指点一下
xiaohe wrote:
- 请把sgit_gateway.py的71行改成THOST_FTDC_OAS_Accepted: Status.NOTTRADED,然后再下单看是否有变化;
- 请问成交后有图形界面上有成交推送吗?如果没有,请在onRtnOrder和onRtnTrade函数里面print一下交易所传过来的data
之前订单的“提交中的问题已经解决了,十分感谢你的帮助。不过现在又发现了 无法撤单 和 持仓数据不更新 这两个问题。我尝试通过双击“提交中”的订单来撤销该订单,但一直没有反应。此后持续执行撤单操作就会出现如下图的问题:
Terminal终端我也查看过,并没有发现error报错的情况。
接口里是对volume和pnl进行了处理了的,可以在sgit_gateway的onRspQryInvestorPosition函数里print一下收到的data看看
xiaohe wrote:
接口里是对volume和pnl进行了处理了的,可以在sgit_gateway的onRspQryInvestorPosition函数里print一下收到的data看看
你好,谢谢你的提示。我在onRspQryInvestorPosition函数的最后一行添加了print(data["Position"]) 的代码,在terminal里发现了以下这个问题。当有仓位时,终端会持续更新当天仓位并输出 ”1“,数据的输入是否应该可以理解为正常?当我平仓完毕后,terminal内就不再显示任何输出了,持仓栏显示也依然为1,没有更新。以下为终端显示:
你print(data["Position"])是1的话,说明你有1手持仓的呀,所以图形界面显示数量“1”呀。建议还是print(data)看一下完整的信息,看看你的持仓是不是“position”字段