Cross-platform JAVA charting API for IB


Junior member
I am releasing my JAVA charting API for Interactive Brokers to the public. I started coding it in 2002
to assist in my trading needs and I've been using it personally every day since then to trade futures intraday.

There's a screenshot showing my basic setup during the day (it's wide since I trade on a 1600x1200
resolution display but it's a small PNG with just 55 KBytes):

I use the Motif look and feel but it can be compiled with a different look and feel.

I am providing the entire source code in exchange for a fee to anyone interested, and I am looking
for feedback before I can set the purchase fee and finalize the details of my offer.
The purchase will be subject to a Disclaimer/Agreement.

You need to have installed the Java SE JDK.

Data features: can read globex .iom files, can save price vs. volume data to a file, can save price data to a file,
can playback globex .iom file or saved data file, time alarms for the most common scheduled market/economic
reports during the trading day, sound alert implementation for uptick and downtick, custom TWS data requests.

Charting features: constant volume bar chart, time (minutes, seconds) bar chart, tick volume chart (fixed number of trades
per bar/candle), adjustable price scale (fixed number of pixels per tick vs. draw on available area),
bars/OHLC/HLC/candles (coloring can be based on momentum indicator or higher highs/lower lows),
adjust bar spacing and width, price formats are decimal vs. 1/32 (bonds) vs. 1/64 (t-notes), white background
vs. black background, pre-defined chart layouts, quickly save a screenshot to disk, draw chart left to
right vs. last bar on right, plot bid/ask size near last price, draw market depth near last price,
time scale, floor pivots, previous day hi/low/settle, day's high/low, Gann price levels - octaves,
market profile (based on time, volume or trades / previous day market profile based on globex .iom file vs.
current day based on IB data), opening range, tiki extreme plot over chart bars, E-prem extreme plot,
Tick-nyse extreme plot, price channel, moving average slope indicator, simple moving average, moving average band
for the high/low, volatility band, swing line indicator, bid/ask footprints charting, market depth
indicators/oscillators (based on cumulative or min/max size), volume, volume balance per bar/candle
(buys at ask minus sells at bid), CCI, momentum indicators.

All these features were programmed at one time or another when I was interested in testing
new tools for my trading but these days I've settled for momentum and moving average slope indicators.

The application has been tested and developed on windows and GNU/Linux environments.

I can provide additional screenshots or other information you may need before deciding for the purchase of
the code.

This application is NOT highly flexible and or configurable for the end-user
in the sense that I programmed it for my needs and it was not originally intended to be sold or leased.
It is not thoroughly commented or documented. Most of its parameters
and configurations are hard-coded in the Java program so if you want more/different time frames or
studies' parameters than those programmed you need to change the Java code.

Here is a list of things that are NOT available: changing the layout/tickers of your charts and have them
remembered the next time you start the application, changing to other time frames not coded in the
application, back-fill, previous days' data, changing the indicators parameters, changing the timezone.

If you want to change the current chart layouts and tickers and indicators parameters or other
configuration you most likely will have to hack/change the code and re-compile it in order for the new changes to
take effect. There may be some bugs for features that I do not often use.

You need to perform a daily update of a text file with previous day's high/low/settle data in order to have the updated
floor pivots in your charts before running the application. Same applies if you want updated eprem buy/sell triggers.

Nevertheless I can adapt the application with minor changes according to your needs prior to delivery
and help you hacking in the code after the purchase.

Waiting for positive/negative feedback :)

Last edited by a moderator:
I would like to add that the biggest strength of my charting API is *realtime chart updates* which is important for intraday short term trading. All those charts on the screenshot do update realtime and you can't see a difference between TWS bid/ask/last_price updates and chart updates unlike the current TWS bult-in interactive charting.

You want feedback? Here's mine.

Spam the boards like this again and you'll find it darned difficult to access the site. One post will suffice. :devilish:
rossored said:
You want feedback? Here's mine.

Spam the boards like this again and you'll find it darned difficult to access the site. One post will suffice. :devilish:


i would have liked to post *once* on the Trading software forum but it seems that it's only for Metastock,
Tradestation, etc ...

sorry :|
there are sub-section for those products, yes (which may be amalgamated in the near future) but you can still post in the general software forum - where I have now moved this thread.
i want to make a *correction*. my source code is of a charting application, it's NOT a API.

but it can be easily extended/changed/hacked and i will create a documentation that will help developers to adapt the application to their needs.