如何识别从iBrokers API接收的历史数据的类型(whatToShow)
How does one identify the type (whatToShow) of HistoricalData received from iBrokers API
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
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 防止主数据类型C++的隐式转换
- 大量序列中核苷酸类型的快速计数
- 如何从C++中的依赖类型中获得它所依赖的类型
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 是否可以初始化不可复制类型的成员变量(或基类)
- 如何获取std::result_of函数的返回类型
- 从父命名空间重载类型
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 访问者访问变体并返回不同类型时出错
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 模板元程序查找相似的连续类型名称
- 是否可以从int转换为enum类类型
- 构造函数正在调用一个使用当前类类型的函数
- 我应该使用什么来代替void作为变体中的替代类型之一
- 如何识别从iBrokers API接收的历史数据的类型(whatToShow)