接收二档行情交易所
mktDepthExchanges() 接收 reqMktDepthExchanges() 返回的列表。每一行描述一个支持深度行情的交易所和证券类型组合。
Python 示例
Section titled “Python 示例”def mktDepthExchanges(self, depthMktDataDescriptions): """接收支持二档行情的交易所列表。""" for item in depthMktDataDescriptions: print( item.exchange, item.secType, item.listingExch, item.serviceDataType, item.aggGroup, )| 字段 | 中文解释 | 示例 | 使用建议 |
|---|---|---|---|
exchange | 交易所代码。 | ARCA | 可作为筛选条件和展示字段。 |
secType | 证券类型。 | STK | 和合约对象的 secType 对照。 |
listingExch | 上市交易所。 | 可能为空 | 空值不代表失败,保存原值即可。 |
serviceDataType | 深度数据服务类型。 | Deep、Deep2、DeepX | 保留官方原值,不建议翻译后入库。 |
aggGroup | 聚合组。 | 2147483647 | 这个大数常表示没有普通聚合组,不要当作异常。 |
CONNECTED=TrueEXCHANGE_ROWS=20EXCHANGE=exchange=DTB;secType=OPT;listingExch=;serviceDataType=Deep;aggGroup=2147483647EXCHANGE=exchange=COMEX;secType=FOP;listingExch=;serviceDataType=Deep;aggGroup=2147483647EXCHANGE=exchange=LSEETF;secType=STK;listingExch=;serviceDataType=Deep;aggGroup=2147483647EXCHANGE=exchange=SGX;secType=FUT;listingExch=;serviceDataType=Deep;aggGroup=2147483647EXCHANGE=exchange=IDEALPRO;secType=CASH;listingExch=;serviceDataType=Deep;aggGroup=4EXCHANGE=exchange=ARCA;secType=STK;listingExch=;serviceDataType=Deep;aggGroup=2147483647| 字段 | 建议 |
|---|---|
exchange | 作为筛选或展示字段。 |
secType | 和合约证券类型对应。 |
listingExch | 原样保存,允许为空。 |
serviceDataType | 保留原始值,不要自行翻译入库。 |
aggGroup | 原样保存,用于排查 SMART 深度相关问题。 |
这张列表可以缓存,但不要把它当成账户权限清单。账户权限必须通过实际行情订阅和错误码判断。
和盘口回调的关系
Section titled “和盘口回调的关系”mktDepthExchanges() 只返回“有哪些深度行情来源”。真正的盘口更新在后续 reqMktDepth() 成功后进入:
def updateMktDepth(self, reqId, position, operation, side, price, size): """接收不带做市商/交易所标识的盘口更新。""" pass
def updateMktDepthL2(self, reqId, position, marketMaker, operation, side, price, size, isSmartDepth): """接收带做市商或交易所标识的二档盘口更新。""" pass如果交易所列表有返回,但这两个盘口回调都是 0,同时收到 2152,说明问题在深度行情许可,而不是 reqMktDepthExchanges()。