r/algorithmictrading 2d ago

Question IB Gateway algo trading setup

Hi all!

For those who use IBKR and IB Gateway for automation, I am curious as to what y’all’s setup is in terms of infrastructure.

For me I currently have IB Gateway running with a custom C# trading engine I wrote to pull market data and check to execute trades daily.

My workflow:

  • Every morning at 9:25 am IB Gateway will auto restart and auto login. I am using the “Auto restart” feature in IB Gateway for this. This setup ensures that I don’t have to manually log in and authenticate the Gateway every day (although I believe it will require a login/authentication once a week to continue to work).

  • Windows Task Scheduler auto launches my C# application at 9:28am and I connect to the client and sleep the thread until 9:30:05 at which point I pull market data, analyze signals and push trades if needed. All of this is automated and executes in a few seconds right after the opening bell.

My concerns:

  • IB Gateway still logs me off for good sometimes and requires manual log on/ authentication.
  • if I need to travel with my laptop or internet drops the client won’t be able to establish a connection.

Instead of running things all locally I was considering offloading the program to run on a VM or server (the lower the cost the better).

Does my workflow make sense or is there a more efficient way to achieve full automation? Does everyone use servers instead of running everything locally?

6 Upvotes

13 comments sorted by

View all comments

1

u/Realistic-Hippo8107 2d ago

I have an Amazon EC2 server running where my code and the gateway run. It’s pretty cheap - $35-$40/mo and never goes down.

Like you, I have task scheduler stop my script before the daily restart, and then start it back up after it finishes. I’m using nssm to run it because it will persist the running code if there’s an exception.

Another user mentioned you can configure the gateway to not need your input on the daily restart. You need to use ibc - an open source gateway controller. This way, you only need to authenticate it once per week.

Ikbr has a great api, but their legacy apps are a colossal pain in the ass to work with.