Usually when you read some articles about some students, banks or quants researching or operating a new trading system you will find an explanation that their system works because they predict more than 50% of all cases correctly. Some authors even write “more than 51%” to underline that it is really, but really more than in half of all cases.
This is a sequel to Part 1 of my introduction to building a node.js implementation of a Forex FIX Protocol Client for LMAX. After you have heard some basics let’s now get to the hard facts. At the end of this post we should be able to logon to the LMAX market feed server. This may sound not very complicated – but believe me, there is a lot to talk about.
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$/€)
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+