Communicate among EAs and Services

 

How to communicate among EAs and Services and send events and pass data etc?

  1. EAs <-> Services
  2. EAs <-> EAs
  3. Services <->  Services
  4. Services <->  EAs
  5. Same EA in one chart <-> Same EA in another chart 
  6. Same Service in one instance <->  Services in another instance


 
bot:

How to communicate among EAs and Services and send events and pass data etc?

  1. EAs <-> Services
  2. EAs <-> EAs
  3. Services <->  Services
  4. Services <->  EAs
  5. Same EA in one chart <-> Same EA in another chart 
  6. Same Service in one instance <->  Services in another instance


Forum on trading, automated trading systems and testing trading strategies

Sharing C++ DLL, C# DLL and EX5 among multiple EA/Service

Fernando Carreiro, 2022.02.09 14:10

Any type of DLL code is shared, and the memory usage, can be shared, global or local depending on how the DLL is implemented and coded.

EX5 memory usage is local to each running instance. There is no IPC. To share variables between instances, you have to use the Terminal Global Variables.


 

Besides Terminal Global Variables , you can use all manner of ways to accomplish your inter-process communications, be it:

Communicating With MetaTrader 5 Using Named Pipes Without Using DLLs
Communicating With MetaTrader 5 Using Named Pipes Without Using DLLs
  • www.mql5.com
Many developers face the same problem - how to get to the trading terminal sandbox without using unsafe DLLs. One of the easiest and safest method is to use standard Named Pipes that work as normal file operations. They allow you to organize interprocessor client-server communication between programs. Take a look at practical examples in C++ and MQL5 that include server, client, data exchange between them and performance benchmark.