I put this together recently:
The idea here is as follows:
a) Take advantage of ProTrader Multistation's flexibility and trade controls. (better trade control = optimized revenue generation)
b) Give Excel Engine unfettered access to lower time-interval OHLC data in real-time. (keeping Excel Engine in the game - without recreating the core Engine elsewhere)
Essentially, in the above conceptual powerpoint, there would be two (2) connections to the MT4 server: 1) A .Net Excel Surrogate Database using the Intermediaries SDK; and 2) The ProTrader Multistation trading platform using the PTMS SDK. Note: The connection from MT4 to PTMS would be for the data feed and trade execution. The connection from MT4 to the .Net Excel Surrogate Database would be for the data feed only.
The Excel Engine (the system) would then have two (2) connections of its own: 1) To the .Net Excel Surrogate Real-Time Database; and 2) To a .Net Trade Control Panel (a .Net Form) embedded within PTMS. Note: The connection to the .Net Excel Surrogate Real-Time Database would give the Excel Engine (the system) a direct link to properly formatted OHLC real-time data. The connection to the embedded .Net Form inside PTMS, would allow the Excel Engine (the system) to send properly formatted output that PTMS can use to execute trades against the MT4 server.
So, Excel gets data that it can work with and then outputs its signals to an embedded .Net Form used to control the auto-trade execution of PTMS against MT4. This way, trade system development (improvements) can always be maintained in Excel and reflected
in PTMS via the embedded .Net Form Control.
Yes - I've read that you can create an Excel RTD Server and simple feed it with DDE from MT4. However, Excel won't know what to do when the connection between MT4 and the Excel RTD Server is broken, causing a gap in the data. Excel won't be smart enough to go back and populate the missing data in the appropriate cell locations. Because of this, I came up with the idea of a ".Net Excel Surrogate Database" that the Excel Engine can Link to just like it were a normal Excel Spreadsheet.
In this way, the .Net Excel Surrogate (a .Net Form based Application) would be "smart enough" to recognize when and where gaps in the DDE data have occurred and run its own auto-population against its own "surrogate cells." When the MT4 Server comes back online, the Excel Engine (connected to the .Net Surrogate) will always have contiguous bars of data
to run its calculations against without synthetic gaps created by network outages and the like. Thus, no bogus signals born of gap data ever pass through to the PTMS trade control.
This is what the diagram shows above. Does anybody see a problem with this, given the real-time data limitations of Excel?
In my second career, I was a enterprise software systems engineer/consultant. So, I like designing multi-tiered systems that work. However, I was not a Developer, responsible for coding the system's points of connection. My concept here, is based on my knowledge of technology as it "was" when I was in the business.
Technology moves very fast, so there may be other technologies that you guys are aware of that would improve the design. Please bring them forth if you have them. I've spent the past 7 years developing "trade technology" not computer technology, so I need all the help I can get on that end.