I've been looking into this issue for a while (and we have discussed ideas before) and have been researching a number of ideas over the last few weeks.
Ideally, I would like to see FST dropped entirely and replaced with a method of building the entire trading strategy for MT4 directly in FSB. The user-side process would be to build a strategy in FSB, go through the standard processes to a point where it would be ready for use in FST, and then 'deploy' to MT4.
The 'deploy' process would dynamically create a DLL containing the current strategy, and the custom indicators. This 'strategy DLL' would be a C# .NET DLL (so we can compile directly from within the app), but it would contain a number of special marshalling and export features that would allow it to be called directly from MT4 (or another platform that doesn't natively managed code).
When the strategy DLL is called from MT4, it would need a way to perform indicator and trade logic calculations that are currently performed by FST. These methods would be available in a 'common DLL' that is used by all the strategy DLL's running on the system. The common DLL would contain a number of the 'core' FSB/FST features that would be migrated out of the application and into a class library project that is used by any strategy DLL files, and also by FSB.
We would call the strategy DLL from a MT4 EA that contains all the necessary settings that can currently be modificatied in FST (eg. lot sizing, protection, bar closing advance time, etc) or MT4 (magic number, failsafe stops, etc) so a user could change these on a strategy-by-strategy basis.
The benefits of this approach would be that there would be no need to maintain FST or the FST-Library, there is no need to run a full application on the machine with MT4 (so no memory issues related to UI in FST as there isn't one), no need to set a connection id, no requirement to setup a connection from MT4 into another application, and the support of other platforms (such as MT5) should be a lot simpler as there would be no need to migrate anything but the order entry code to a new platform.
Building this functionality would allow users to be able to run a large number of concurrent strategies on the same system.
It would probably also be possible to perform a platform-side backtest using FSB logic via the DLL, although I have not really looked into this.
Technically this is all possible (calling C# directly from MT4 without wrapper DLL's or similar) although it really depends on the general user community to decide if moving down this path of a non-FST style approach is worth the effort. I'd be happy to do the FSB work needed to build the DLL in a way that can be called from MT4, but I believe that there would be a considerable amount of work needed to separate the necessary indicator and logic components out of FSB (or FST) and into a central DLL.
My feeling is that the initial effort would pay off in reduced maintenance overhead in the longer term (one FSB project to maintain instead of FSB + FST + FST-Library).
ab