- LMAX APi is one possibility - but its limited to LMAX and chargeable so its out
- Integral integration would be interesting - if only the entry cost was not so high
- FIX is a possibility - but NO ONE currently supports its at any sensible price or account size (and its only a protocol - you still need a supporting broker)
- cTrader looks ok for manual trading - but its backtesting capabilities are pants
- Empty4 bridging from a separate environment is clunky - but i can work - and has access to many Empty4 brokers - it could at least open up options - until MQ explicitly block it
There are no open server side frameworks that have been widely adopted and the only open protocol to connect to those at the moment is FIX. Creating a new client platform is one thing - creating another server side platform is all together a different ball game - you need fast matching, liquidity integration, trade and client administration systems - the job is at least as difficult if not more difficult that a new client platform - just ask LMAX. Probably the only way to get it up and running would be to make it (at least partially) open and economical - at least to early adopters. Perhaps a new client platform would attract traders - enough to make brokers take a closer look . Perhaps a chat with a few of the current Empty4 bridge providers would provide some options here
On the question of EA programming language - there is no reason at all why an EA programming language cannot be completely agnostic - be it C/C#/Java/Python - as long as it had a common style/comparable feed/trading interface and decent backtesting/debugging capabilities - cTrader would be more popular now if it had decent backtesting.
On the question of platform implementation language - what matters is MODULARITY - if the system is modular and has a performant mechanism for communicating between modules then it can be implemented in multiple languages
Modularity can be coarse - the charting package can be separate from the manual order management, which is separate from the core server - Imagine the core server running without an interface - lean & mean. Imagine multiple charting front ends - on native windows, on linux, in Java and/or C#
Imagine the core server running strategies in C#, Python, Java - at the same time (BTW i can testify to the fact that Python is being adopted in institutional environments - but not on its own - often as a rapid development system and then being fully implemented in a faster language - be it C/C++/C#/Java)
If i were to start right here, right now - i would look at the following components:
- A competent charting package
- A competent backtesting platform
- A flexible, extensible cross platform API for EA development of multi pair strategies
- A performant server side matching engine
- Broker/Liquidity provider back end integration (Empty4 bridge providers would seem a good start)