Hi guys, I am a graduate financial engineering student at the top university. I am planning to develop my own ATS using C++ on Linux platform. I'd like to start trading in FX market, FX because of the low cost entry - trading equities and derivatives requires higher capital ($25K min) for "day trading" which I cannot risk while I am in school. I want to do it mainly for educational purposes but it will be great if (and I hope so) it turns out to be profitable. I am good at C++/C# programming, I am learning finance, but I am ignorant about market microstructure and I have no experience in trading. I read Quantitative Trading book by Ernie Chan and that's pretty much all the knowledge I have about quant trading. I know developing ATS is a huge task and I am hoping to find an open source system that I can reverse-engineer and adapt to my needs. At the phase 1, I want to develop a "simple" system that will allow me to start paper trading in three month. I am looking for some help here: 1. What is a good open source system in C++ that I can adapt/reverse engineer? This is probably the best way to start for me. I know about Marketcetera, but that's in Java and for trading equities only, I think. TradeLink is in C# and it's for equities and FX, so maybe TradeLink. 2. A good broker that offers API for FX trading, API that I can consume from C++. I know about Oanda but they charge $600/month and that's too much. IB offers API but there min account is still $25K even for FX for day trading, I believe. 3. I'll appreciate any other advice that will help me to start with this project. Thank you!