Skip to content

ib-controller/ib-controller

Repository files navigation

Download the latest official release here

IBController provides hands-free operation of Interactive Brokers Trader Workstation. It's especially useful for developers of automated trading systems who use IB API. Features include:

  • Automates Trader Workstation (TWS) and IB Gateway (including the FIX mode)
  • Completes login dialog with credentials from an .ini file or command line
  • Handles dialog boxes which TWS presents during programmatic trading activities
  • Keeps TWS running indefinitely by handling TWS time-based exits
  • Allows TWS to be terminated at a specified time on a specified day of the week
  • Dismisses various dialog messages (eg version updates, daily tips, IB API connections etc)
  • Exposes a telnet control protocol to STOP the GUI or ENABLEAPI for IB API client access

Downloads

If you just want to use IBController without modifying it, you should download the latest official release ZIP which you can find here.

Should you ever need to revert to an earlier IBController release, they are also available here.

A docker container with a working IBController and IBGateway combination is available from [QuantConnect] (https://github.com/QuantConnect/Lean/blob/master/DockerfileLeanFoundation).

If you use Arch Linux you can install the ib-controller package from AUR: it includes lots of server-oriented features such as multiple daemons, systemd units, headless/virtual framebuffer support, Monit monitoring etc.

Developers may wish to embed IBController for integration testing convenience (eg see projects GoIB and IB Connect)

User Guide

Please see the IBController User Guide for installation and usage instructions. The User Guide is also included as a PDF file in the download ZIP.

Support

IMPORTANT By far the most common problem that users have when setting up IBController is the result of trying to use it with the self-updating version of TWS.

IBController DOES NOT WORK with the self-updating version of TWS.

You must install the offline version of TWS for use with IBController.

Note however that there is no self-updating version of the Gateway, so the normal Gateway installer will work fine if you only want to use the Gateway.

If you need assistance with running IBController, or have any queries or suggestions for improvement, you should join the IBController User Group.

If you're convinced you've found a bug in IBController, please report it via either the IBController User Group or the GitHub Issue Tracker.

Please provide as much evidence as you can, especially the versions of IBController and TWS/Gateway you're using and a full description of the incorrect behaviour you're seeing.

Note that IBController creates a log file that records a lot of useful information that can be very helpful in diagnosing users' problems. The location of this log file is prominently displayed in the window that appears when you run IBController. It is helpful to attach this log file to any problem reports.

Contributing

We welcome your involvement and contributions! Please read the contributor guidelines, and send us a pull request.

We also thank past contributors to the original SourceForge project: Richard King, Steven Kearns and Ken Geis. Plus of course all those on our GitHub contributor list.

License

IBController is licensed under the GNU General Public License version 3.