如何识别从iBrokers API接收的历史数据的类型(whatToShow)

How does one identify the type (whatToShow) of HistoricalData received from iBrokers API

本文关键字:类型 whatToShow 历史数据 iBrokers 何识别 识别 API      更新时间:2023-10-16

IB API reqHistoricalData()方法提供了一个whatToShow参数,该参数可以取值来表示您寻求有关交易、中点、买入价、卖出价等的数据......

但是,API 的historicalData回调(用于异步接收请求的历史数据)不会返回相关whatToShow因此无法确定正在查看的内容。是我请求的交易、BIDS 还是询问的行???

我以显而易见的方式解决这个问题,即首先请求 TRADES,等待整个消息返回,然后请求 BIDS,然后再次等待并请求 ASKS。

有人有更好的解决方案吗?

请正确使用 tickerId 字段,这是 reqHistoricalData() 方法中的第一个参数。当您通过回调获取历史数据时,您将作为带有 historicalData() 的第一个参数接收此 id。

您只需要跟踪哪个股票代码ID与哪种数据(买入价,卖出价或交易)相关联,即可在回调中识别该数据。

例:

请求时:

reqHistoricalData(1, ..whatToShow = Bid,...);
reqHistoricalData(2, ..whatToShow = Ask,...);

回调处理:

historicalData(int reqId,....)
   if(reqId == 1)
     //This is the data built of bids as per request1
   else if(reqId == 2)
     //This is the data built of asks as per request2