EAQueue

For more information on EAQueue, either download the PDF documentation or please contact us.

EAQueue is a DLL allowing Metatrader EAs to send messages to each other – e.g. in order to implement a master-slave relationship where one EA generates signals and other EAs trade them. EAQueue caters for everything from ad hoc communication between EAs on a single computer through to broadcasting of commercial signals over the internet.

EAQueue can use a variety of communication methods. For simple messaging between EAs on the same computer or local network, it is usually easiest to send data via UDP datagrams or shared files. For communication over the internet, EAQueue can instead use full-blown TCP/IP communication via a message-hub application.

Crucially, the EAQueue library is multi-threaded and non-blocking: EAs do not suspend trading activity while waiting for messages. Any overheads related to file access or socket transmission happen asynchronously, without affecting the EA’s execution.

Communication is also event-driven: new incoming messages trigger calls to the EA’s start() function even if there are no market ticks. In other words, EAs can receive messages via EAQueue even at weekends when they would normally be in suspended animation because the markets are closed.

All communication using EAQueue is on a broadcast basis: a sender does not receive confirmation that a message has been picked up by a receiver (though you can build this yourself on top of EAQueue by having receivers send response messages).

Messages sent via EAQueue are simply plain text. The format of messages is then entirely up to you – e.g. comma-separated parameters. Messages can be trading signals, news, alerts etc.