Building a node.js implementation of a Forex FIX Protocol Client for LMAX – Part 1

For those who do not know what the FIX Protocol is: “The Financial Information eXchange (FIX) protocol is an electronic communications protocol initiated in 1992 for international real-time exchange of information related to the securities transactions and markets.” (Wikipedia).

Brokers, banks and many other players in the financial market use the fix protocol for financial communication. In the forex world – from the perspective of avergage guys like us – the FIX protocol is the pro version of Metatrader.

Advantages: Much smaller spreads, no technical limitation concerning the implementation, reliable connection latency (as the requests are not redirected), no “Last Look” (LMAX)

The combination of an extremley low latency (if you use a server with an interconnect to LMAX) and the missing “Last Look” for your opponent lead to a very low slippage.

Disadvantages: Usually the initial deposit is higher. (LMAX “Professional”: 10.000$/€)


Connect node.js to your MT4 Expert Advisor for a two-way realtime communication

You may think about the smartest, fastest and most reliable way to connect your node.js application with your Metatrader 4 instance. As I already went through the whole process of testing, approving and productive usage I will tell you the best way to connect MT4 to your node.js application.

As time is money I will start with the result without wasting your and my time telling you about the ways that did not work.


Liveconnect call for Applet ID 1 is not allowed in this JVM instance

Depending on how far you already went to update your applets  to JRE 7, Build 25+ you will discover problems accessing your applet’s methods via JavaScript, depending on your Java Security Settings:

If a signed applet can be accessed via JavaScript if you set Java’s Security Level to “Medium”, but not if you set it to “High”, but receive an error like:

Liveconnect call for Applet ID 1 is not allowed in this JVM instance+