How To Run A Trading Bot On Interactive Brokers (FREE)

Swiss33
2 min readMay 30, 2023
Photo by Werclive 🇺🇦 on Unsplash

Video tutorial :

Text tutorial:

3 steps:

  • Setup Ngrok
  • Setup TraderWorkstation
  • Setup Swiss33

Make sure to have a working Interactive Brokers account : https://www.interactivebrokers.com/
This tutorial works for both MacOS and Windows.

  1. Setup Ngrok
  • In a terminal, enter :
ngrok config add-authtoken YOUR_PRIVATE_TOKEN
  • It must echo :
Authtoken saved to configuration file : path\to\file\ngrok.yml

2. Setup Trader Workstation

  • Download, install and launch TWS
  • If you want to trade with virtual money, log in to the paper mode, else in the live mode
  • In the TWS, go to Settings > API > Settings
  • Check “Enable ActiveX and Socket Clients”
  • Uncheck “Read-Only API”
  • Remember the socket port (7497 by default for paper trading, 7496 for live trading)
  • Click on “Apply”
  • Go to your terminal and enter :
ngrok tcp 7497

if your modified the socket port to 6666, for instance, it should be :

ngrok tcp 6666
  • copy the link that starts with “tcp”, in the format tcp://x.tcp.xx.ngrok.io:xxxxx

3. Setup Swiss33

  • Go to the model’s page of Swiss33
  • Create a model, by choosing the algorithm you want and of course Interactive Brokers as a data source
  • You will be asked to enter the link you copied right before :
  • So, enter your link tcp://x.tcp.xx.ngrok.io:xxxxx in "Trader Workstation's connection"

Done !

You can the train your model, backtest it, deploy it as a bot like for any other broker.

Don’t forget that while you handle data from Interactive Brokers, your TWS and Ngrok must be on, otherwise it will stop.

--

--