Hi,
I would be curious to hear what kind of software/hardware setups people use for their algo trading, to get some ideas how to improve mine. I believe many retail traders use existing software platforms like MetaTrader? Do people develop their own proprietary systems and can you tell some details? What made you develop your own system? Also, what kind of hardware setups do you have (e.g. run on your local PC or VPS, use server farms)?
I have extensive background in C++ software development and high-performance computing, so I was naturally drawn to algo trading. Few months ago I started to develop a new algo day trading platform for personal use with C++ and IBKR TWS API + Flutter/Dart. I’m still testing & developing the platform on paper account but can hopefully roll it to my live account in not-so-distant future and start trading a small amount of real capital.
The platform has a “server” which is a headless C++ application (i.e. a console app without UI) that can run on my home PC or on a VPS somewhere. The server does live trading with the algos I can write in C++, but does also parameter optimization, backtesting, fetching latest historical data from IB servers and portfolio generation & backtesting. There’s also a “viewer” app (Flutter/Dart app) that has a GUI and remotely connects to the C++ server to monitor live trading. Below is a screenshot how it looks currently. The viewer can run on desktop or mobile, which is nice to be also able to monitor the live trading while not at home. By design the viewer has minimal user interaction with the server to avoid manual meddling with the algo trading.
One interesting bit is the powerful parameter optimizer which I believe provides some unique opportunities. For the algo development it’s useful to be able to iterate quickly and test algos with a large dataset. For comparison I implemented the same strategy on MetaTrader5, which runs 100x faster on my platform so that’s quite nice, and I have some plans for further improvements.
I would be curious to hear what kind of software/hardware setups people use for their algo trading, to get some ideas how to improve mine. I believe many retail traders use existing software platforms like MetaTrader? Do people develop their own proprietary systems and can you tell some details? What made you develop your own system? Also, what kind of hardware setups do you have (e.g. run on your local PC or VPS, use server farms)?
I have extensive background in C++ software development and high-performance computing, so I was naturally drawn to algo trading. Few months ago I started to develop a new algo day trading platform for personal use with C++ and IBKR TWS API + Flutter/Dart. I’m still testing & developing the platform on paper account but can hopefully roll it to my live account in not-so-distant future and start trading a small amount of real capital.
The platform has a “server” which is a headless C++ application (i.e. a console app without UI) that can run on my home PC or on a VPS somewhere. The server does live trading with the algos I can write in C++, but does also parameter optimization, backtesting, fetching latest historical data from IB servers and portfolio generation & backtesting. There’s also a “viewer” app (Flutter/Dart app) that has a GUI and remotely connects to the C++ server to monitor live trading. Below is a screenshot how it looks currently. The viewer can run on desktop or mobile, which is nice to be also able to monitor the live trading while not at home. By design the viewer has minimal user interaction with the server to avoid manual meddling with the algo trading.
One interesting bit is the powerful parameter optimizer which I believe provides some unique opportunities. For the algo development it’s useful to be able to iterate quickly and test algos with a large dataset. For comparison I implemented the same strategy on MetaTrader5, which runs 100x faster on my platform so that’s quite nice, and I have some plans for further improvements.
I haven't used Rust but have heard some good things about it. What makes you implement your own system?