What about frontend like MultiChartsMultiCharts or NinjaTraderNinjaTrader? Or even a cheaper one like SierraChartSierraChart or AmiBrokerAmiBroker? There is also cTrader Automate (cAlgo) and ProTrader PTMC. All of these are specifically built for real time trading of derivatives, including hooking up to a broker like Interactive Brokers, Lmax, etc. And they have their own programming language with built-in backtesting capabilities. Since you mentioned stocks, MC lifetime license is likely the better investment long term. Sierra Chart is also very stable and has lots of integration already.
Retail Fx is currently dominated by Metatrader 4Metatrader 4....but if the broker allows FIX or other api, you can still use MultiCharts or the other charting apps. The worst that can happen is that you have to switch brokers, but you should be able to reconnect the trading platformalgo (which will run your algoa similar trading platform) to the new broker. In the case of mt4/mt5, you just move your strategy (called Expert Advisor or EA) to the new brokerbroker's mt4/mt5 instance (or just copy the new broker's [server].SRV file
to the existing mt4/5 and "open an account" add new [server]
name and it should ping after a few seconds.
Yeah, just easier to do a new mt4 installation with new broker's setup file)
It's worth mentioning that metatrader 5metatrader 5 (five) may eventually overtake mt4, and it is setup to handle multiple asset classes (stocks, futures, forex, etc). Like mt4, it is free to the end user. Unfortunately, MQL5 is not backwards compatible with MQL4 and MT5 cannot import or run compiled mql4 strategies. You could actually rig mt4 to backtest stocks/futures if you have tick data available (or 1 min bars if tick data is unimportant); so basically making your platform investment minimal as mt4 is free. Also, mt4/mt5 is configured on the broker side. So the trader only has to open the platform and begin their analysis or trading. And it is incredibly easy to migrate from one broker to another. Of course, choosing a trustworthy broker is much more important, but that's a separate topic of discussion.
Many of the answers put forward so far seem to focus on the user spending a lot of time either building their own trading platform or having to spend a lot of time to connect a platform. IMO Maintaining an independent trading platform is a complex, expensive endeavor. IMO there is no reason to reinvent the wheel;wheel ^^
; spend that time developing and testing your algos in a deployable environment.
^^
(not recommended)
But if you want to have a go at your own proprietary platform consider Modulus M4 platform + source code to get you going.
Updated 06 June 2018 to add urls and mention a few more platforms.