Approach the task Bottom-Up -- Architecture-wise
Yes, you can simplify the trouble and make MT4 become a Node, which is immediately connected peer-to-peer to your current C# Market Strategy.
This alowed me to operate a cluster-based computing communicating massively parallel with a crowd of MT4 nodes.
MT4 can become anEventFEED
-er Node via a more complex "Scaleable Formal Cummunication Framework" in a very intelligent manner.
Do you wish to have a CLI-interface to command your MT4 node(s) -- one as anEventFEED
-er, another as anXtoACTOR
Node -- selectively, with a syntax & grammar of CLI-instructions ( not speaking about test-automation et al ...)?
Do you wish to have a central <syslog> daemon to off-load HFT-traffic loaded MT4 node(s) and automate + administer scripted monitoring & maintenance tasks?
Do you wish to have an external GPU-computing engine/cluster to communicate in a Client/Server manner with MT4 EA on a per-tickEvent basis?
ZeroMQ and/or nanomsg frameworks will allow you to design and develop many-to-many ( node-network-wise ) & any-to-any ( implementation language-wise ) systems.
MT4/MQL4 has a direct smart wrapper for ZeroMQ >>> thanks to Austen Conrad on GitHub MQL4ZMQ
ZeroMQ >>> thanks to it's great team has many language bindings - C/C++, Python, Java, R, even Erlang, ...
So your Project may jump start on rock solid grounds & independent of any particular architecture gridlocks ( DLL moving sands et al )
Engineering built-ins save you a lot of time and efforts and avoid re-inventing wheel