How to Code Histograms in Java using IBKR API

Articles From: Interactive Brokers
Website: Interactive Brokers

Java Programming

Java is at the core of many technologies, so it is no surprise that it also ranked among the most popular programming languages in a survey done by StackOverflow.

Many seasoned algo traders and novice quants use our Java API as it offers a great framework for building trading algos.

Today we will explore how to code Histograms in Java and submit the request via our award-winning trading platform.

It is important to note that histograms return data as a function of price level with function IBApi::EClient::reqHistogramData. Code along as shown in this example from our GitHub repository:

/*client.reqHistogramData(4004, ContractSamples.USStock(), false, “3 days”);

Next, let’s review how data is returned to IBApi::EWrapper::histogramData

@Override
public void histogramData(int reqId, List items) {
System.out.println(EWrapperMsgGenerator.histogramData(reqId, items));
}

Finally, if you need to cancel a request for a histogram that has not retrieved any data, do so with this command:

IBApi::EClient::cancelHistogramData

For additional tips on using Java with IBKR API, visit this channel.

Disclosure: Interactive Brokers

The analysis in this material is provided for information only and is not and should not be construed as an offer to sell or the solicitation of an offer to buy any security. To the extent that this material discusses general market activity, industry or sector trends or other broad-based economic or political conditions, it should not be construed as research or investment advice. To the extent that it includes references to specific securities, commodities, currencies, or other instruments, those references do not constitute a recommendation by IBKR to buy, sell or hold such investments. This material does not and is not intended to take into account the particular financial conditions, investment objectives or requirements of individual customers. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.

The views and opinions expressed herein are those of the author and do not necessarily reflect the views of Interactive Brokers, its affiliates, or its employees.