I know that EAs can send emails or messages to android. HTTP requests to a server are also possible. They can also write to files and thus communicating with other programs on the same PC, but this is very ugly way of doing things. To communicate between EAs under the same MetaTrader, you can use those Terminal Variables (or Global Variables, F3 in MetaTrader). In theory one EA can also communicate via sockets or named pipes, but this would be very special EA that does only this task.