跳转到内容

请求元数据

请求 WSH 元数据使用 reqWshMetaData(reqId)

from ibapi.client import EClient
from ibapi.wrapper import EWrapper
class App(EWrapper, EClient):
def __init__(self):
EClient.__init__(self, self)
def nextValidId(self, orderId: int):
# 连接完成后请求 WSH 元数据。
self.reqWshMetaData(98701)
def wshMetaData(self, reqId: int, dataJson: str):
# 有 WSH 权限时,元数据 JSON 会从这里返回。
print(reqId, dataJson[:500])
def error(self, reqId: int, code: int, msg: str, *args):
# 没有权限、请求格式错误等情况会从这里返回。
print(reqId, code, msg)
参数类型说明
reqId整数请求编号,用来对应 wshMetaData()error() 返回。

reqWshMetaData() 不需要合约、日期或过滤器。它读取的是 WSH 数据服务支持的元信息。

CONNECTED=True
META_DONE=True
META_ROWS=0
ERROR=reqId=98701;code=10276;msg=不允许新闻推送。

这不是语法问题。遇到 10276 时,程序应提示用户检查 WSH / 新闻推送权限,或在没有权限的环境中隐藏 WSH 事件功能。

WSH 元数据不需要高频请求。交易工具通常在启动后请求一次,缓存解析结果,再用这些过滤项构造事件数据请求。