What language to be used for HFT / scalping trading?

Feb 08, 2017 at 07:58
601 Angesehen
3 Replies
Mitglied seit Sep 11, 2016   18 Posts
Feb 08, 2017 at 07:58
Dear Traders,

I am now devliping EAs using MQL4, and considering to shift to FIXAPI to decrease latency caused by using MT4.

However, I do not know anything about what I should start from. I think choosing a programming language is one of the things I should do.
It seems there are several languages, such as: C, C++, C##, Java, python, R, Matlab.
I would like to know which I should learn if I pick one.

For that, I think I need consider some aspects as below:

1) coding efficiency
2) speed
3) versatility (in trading use)
4) 3rd party community : forum, library etc.
5) back testing environment
6) cost (time) of learning

I need speed, and would like to compete with professional quants hedgefunds on the same play ground.
However, super speed strategies such as latency arbitrage is out of scope so far.

Would like to hear your opinion. Thank you.
Mitglied seit Apr 18, 2017   38 Posts
May 03, 2017 at 14:56
Yes, I am a scalper but I do my live trading manually; I have no knowledge on EA trading! So, I don’t know the language pattern that you want! I see, scalping is the most popular trading style; since here traders can use small trading SL point here, so retail traders mostly use scalping trading style!
Mitglied seit May 03, 2017   18 Posts
May 04, 2017 at 06:07
Even if you move to FIXAPI then the latency might still be too large for HFT.
Mitglied seit Sep 18, 2013   8 Posts
May 04, 2017 at 06:31
You cannot compete in that game hence do not try. If you still decide to give it a try I wish you best of luck!

The programming language is but one factor - to 'be on same play ground' you would need co-location, low latency network (RDMA, Infiniband, ...) switches and NICs, ASICS, FCPGA, GPGPUs depending on need for speed vs. ability to modify your algorithms in addition to latest gen hardware (X86, POWER, SPARC). Oh and a dozen of PhD's. Point being if you rely on that type of low-latency chances are you will loose.

That said if you are new to programming I would recommend starting with a memory managed language such as JAVA or C# to avoid pointer arithmetic and need to consider garbage collection.

If you have some experience or do not mind a slightly steeper learning curve go for C or C++ and take a look at CUDA.

In any case you may continue to use MT4 and define interfaces calling your primary classes and methods developed in a secondary language.
Anmelden / Registrieren to comment
You must be connected to Myfxbook in order to leave a comment
*Kommerzielle Nutzung und Spam werden nicht toleriert und können zur Kündigung des Kontos führen.
Tipp: Wenn Sie ein Bild/eine Youtube-Url posten, wird diese automatisch in Ihren Beitrag eingebettet!
Tipp: Tippen Sie das @-Zeichen ein, um einen an dieser Diskussion teilnehmenden Benutzernamen automatisch zu vervollständigen.