为什么,订阅行情没有反应呢?窗口里没有内容
为什么,订阅行情没有反应呢?窗口里没有内容
请问是模拟账户吗?如果是,那么可能是模拟环境的问题
是实盘,谢谢
那可以在ctp_gateway里的onRtnDepthMarketData函数下打印一下收到的data看看
知道了,往日志里写东西,有范例吗?框架内容还不是很熟悉,比较菜鸟。现在简单的在ctp_gateway里的onRtnDepthMarketData下生成一个文件,然后每个if 后面都往文件里写东西,等夜盘来看一下了
可以参考接口文件里的write_log函数
我也遇到同样的问题,登录之后订阅行情失败,求解决!
如果像1楼一样,没有反应,请参考4楼。如果有报错,请贴一下报错截图
试了一下,日志输出没有任何动静
改的码是,加了self.write_log(322)#输出当前行,主要看程序有没有走到这里,另外在数据方面最后加了,self.write_log(tick.bid_price_2)
但是没有,任何输出
def onRtnDepthMarketData(self, data: dict):
"""
Callback of tick data update.
"""
# Filter data update with no timestamp
if not data["UpdateTime"]:
self.write_log(322)
return
symbol = data["InstrumentID"]
exchange = symbol_exchange_map.get(symbol, "")
if not exchange:
self.write_log(328)
return
timestamp = f"{self.current_date} {data['UpdateTime']}.{int(data['UpdateMillisec']/100)}"
dt = datetime.strptime(timestamp, "%Y%m%d %H:%M:%S.%f")
dt = CHINA_TZ.localize(dt)
tick = TickData(
symbol=symbol,
exchange=exchange,
datetime=dt,
name=symbol_name_map[symbol],
volume=data["Volume"],
open_interest=data["OpenInterest"],
last_price=adjust_price(data["LastPrice"]),
limit_up=data["UpperLimitPrice"],
limit_down=data["LowerLimitPrice"],
open_price=adjust_price(data["OpenPrice"]),
high_price=adjust_price(data["HighestPrice"]),
low_price=adjust_price(data["LowestPrice"]),
pre_close=adjust_price(data["PreClosePrice"]),
bid_price_1=adjust_price(data["BidPrice1"]),
ask_price_1=adjust_price(data["AskPrice1"]),
bid_volume_1=data["BidVolume1"],
ask_volume_1=data["AskVolume1"],
gateway_name=self.gateway_name
)
if data["BidVolume2"] or data["AskVolume2"]:
self.write_log(357)
tick.bid_price_2 = adjust_price(data["BidPrice2"])
tick.bid_price_3 = adjust_price(data["BidPrice3"])
tick.bid_price_4 = adjust_price(data["BidPrice4"])
tick.bid_price_5 = adjust_price(data["BidPrice5"])
tick.ask_price_2 = adjust_price(data["AskPrice2"])
tick.ask_price_3 = adjust_price(data["AskPrice3"])
tick.ask_price_4 = adjust_price(data["AskPrice4"])
tick.ask_price_5 = adjust_price(data["AskPrice5"])
tick.bid_volume_2 = data["BidVolume2"]
tick.bid_volume_3 = data["BidVolume3"]
tick.bid_volume_4 = data["BidVolume4"]
tick.bid_volume_5 = data["BidVolume5"]
tick.ask_volume_2 = data["AskVolume2"]
tick.ask_volume_3 = data["AskVolume3"]
tick.ask_volume_4 = data["AskVolume4"]
tick.ask_volume_5 = data["AskVolume5"]
self.write_log(tick.bid_price_2)
self.gateway.on_tick(tick)
页面和昨天的截图完全相同,就不另外截屏了,求帮助
可以print("data,", data)看看是否有传数据过来还是被过滤了
写在函数最后了,依然没有任何反应
另外,这个print的东西是应该打印显示在哪里呢?
感觉上这个def 没有被触发,否则,9楼那些if之后的write_log,不应该一个也不出现在日志里吧
。。。。。。
self.write_log(tick.bid_price_2)
#f2.close()
print("data,", data)
self.gateway.on_tick(tick)
在# Filter data update with no timestamp这一行上面就print吧
用run.py或者在cmd用命令行python -m vnstation打开vnstation,会输出在终端。
日志配置可参考https://www.vnpy.com/forum/topic/1997-vn-pyshe-qu-jing-xuan-13-vn-traderquan-ju-pei-zhi-xiang-jie
run.py 打开,print放到最前面去了,还是没有任何反应,cmd没有打印出东西来,write_log日志也没有输出任何东西
(base) D:\vnpy-master>python run.py
2021-04-28 22:56:24,023 INFO: 交易服务器连接成功
2021-04-28 22:56:24,414 INFO: 交易服务器授权验证成功
2021-04-28 22:56:24,445 INFO: 交易服务器登录成功
2021-04-28 22:56:24,571 INFO: 结算信息确认成功
2021-04-28 22:56:28,698 INFO: 合约信息查询成功
没有信息了,实际上输入了ni2105 没有反应,也没有报错
换了一台从来没有装过VNPY,python等一切编程有关软件的电脑,采用一键安装的方式,安装了vnstation,结果还是一样的,正常登录,但是就是没有行情,也不报错。看来不是个例啊
没有办法了吗?哭死
这么尝试下:
用Python的交易员 wrote:
这么尝试下:
- 移除全部应用模块
- 移除全部接口,只保留CTP接口
- 订阅IF2105的行情,交易所选CFFEX,接口选CTP
- 如果还是不行应该就是期货公司问题了
按您说的做了,还是不行。
请教一下,为什么说就一定是期货公司的问题呢?
可能是api版本不对,期货公司说,需要V6.5.1