Real-time charts for Windows, Mac and GNU/Linux with Interactive Brokers
AboutjTWScharts is a real-time charting application for Interactive Brokers Trader Workstation. I am providing the entire source code in exchange for a one-time fee to anyone interested subject to a copyright agreement. The source code is not heavily commented but is delivered with documentation for programmers. I have also available a end-user closed source version. jTWScharts has been developed and tested on Windows and GNU/Linux and works also on Mac.
I started programming jTWScharts in 2002 for my trading needs and I've been using it personally every day since then to assist in my real-time trading decisions. jTWScharts is more suitable for programmers and developers but the end-user version allows for enough flexibility in changing the default settings. The end-user may edit several configuration text files according to the instructions provided in the end-user documentation. jTWScharts displays and updates real-time the default futures contracts you see in the screenshot below.
This is a screenshot showing my basic setup during the day (click to maximize). It's wide since I trade on a 1600x1200 resolution display. I use the Motif look and feel but jTWScharts can be compiled with a different look and feel. jTWScharts is controlled through a mouse right-click on the application background that will bring a pop-up menu with several options. A right-click with the mouse over any chart will bring another pop-up menu with several settings you can change. There are additional small screenshots available in the features' list below.
FeaturesAll 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 main strength of the application is real-time chart updates of several contracts with zero lag, which is important for short term trading.
Back-fill is NOT available. Also note that you need to perform a daily update of some texts files in order to have updated Floor Pivots, E-Prem trigger levels and Market Profile before starting jTWScharts.
I can customize jTWScharts according to your needs prior to delivery and after the purchase I can help you change the default settings or hack the source code.
Source codeI have available different jTWScharts offers:
The end-user version of jTWScharts is also flexible and configurable. Most of its parameters and configurations can be edited in text files. The end-user can change time-frames, default contracts, charts' positions, indicators' parameters, etc ...
For the curious, I provide here the main configuration Java classes in jTWScharts. Class allContracts lists all the contracts I may be interested in requesting data for (note that the Contract structure comes from the Interactive Brokers API). Class allTimeFrames lists the different intervals for constant volume charts, constant tick charts, seconds and minutes charts that I am interested in. Class allChartCoords lists the default charts sizes and positions for each contract in jTWScharts workspace plus a numeric reference to a pre-defined chart layout. Finally the most important information in this file is the allDataRequests array which lists all the contracts I want jTWScharts to automatically setup for real-time charting. The documentation provided has detailed explanations of all the configuration files.
You can check the directory file structure of jTWScharts source code. The Interactive Brokers API files are located in the com/ directory. If you wish to examine further here are the files in each directory:
DocumentationjTWScharts is delivered with several pages of documentation.
Programmer documentation (approx. 20 pages) outline:
End-User documentation (approx. 40 pages) outline:
RequirementsjTWScharts has low CPU and low memory requirements. I've been running it on a Windows computer with a 1.7 GHz Celeron and on a GNU/Linux setup with a 800 MHz Pentium III. jTWScharts reserves a maximum memory of 128 MBytes but only a fraction is used. You need to have the Java SE JDK installed since there is need for compilation either in the version for programmers or the end-user version. You need to have an account with Interactive Brokers, have at least one market data subscription like for example the "US Securities and Commodities Bundle Non-professional - Level I" which "Includes all Stock, Options, Futures and Bond markets" and is "Free". Your TWS must be configured to accept incoming socket connections (Configure -> API -> Enable ActiveX and Socket Clients) on port 7496 (Configure -> API -> Socket Port...). You should also configure TWS to auto-accept incoming connections from your computer (Configure -> API -> Trusted IP Addresses... then click "Create" and enter 127.0.0.1).
AgreementBy purchasing the source code you agree to use it only for personal purposes. You can adapt and change the source code but you cannot re-sell the software. You cannot transfer, rent, lease, lend, copy, share the software and/or documentation. You may not reproduce or distribute any documentation without my permission. You may install a copy of the software on a computer and freely move the software from one computer to another, provided that you are the only individual using the software.
In no event shall I be liable for any special, incidental, indirect or consequential damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information or any other pecuniary loss) arising out of the use of or inability to use the software product or the provision of or failure to provide support services.
FAQPeople frequently ask me if jTWScharts uses the JFreeChart library. The answer is No. If you check their FAQ you see that it is not suitable for real-time charting. This is why Interactive Brokers TWS built-in charting is not real-time.
I am also often asked what IDE (Eclipse, NetBeans, ...) do I use. The answer is: I don't use any IDE. I program on a plain text editor so the source code can be easily imported into any IDE.
I will be away from August 15 to August 22, 2017.
FREE 7-day Evaluation
Forward this to someone.
To reach me use the Contact form.
Interactive Brokers (IB) is a low cost provider of trade execution and clearing services for individuals, advisors, prop trading groups, brokers and hedge funds. IB's premier technology provides direct access to stocks, options, futures, forex, bonds and funds on over 100 markets worldwide from a single IB Universal account.
Member NYSE, FINRA, SIPC. Visit www.interactivebrokers.com for more information.