What language to be used for HFT / scalping trading?

Feb 08, 2017 at 07:58
755 zobrazení
3 Replies
Členem od Sep 11, 2016   18 příspěvků
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.
Členem od Apr 18, 2017   38 příspěvků
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!
Členem od May 03, 2017   18 příspěvků
May 04, 2017 at 06:07
Even if you move to FIXAPI then the latency might still be too large for HFT.
Členem od Sep 18, 2013   8 příspěvků
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.
You must be connected to Myfxbook in order to leave a comment
*Komerční použití a spam nebudou tolerovány a mohou vést ke zrušení účtu.
Tip: Zveřejněním adresy URL obrázku /služby YouTube se automaticky vloží do vašeho příspěvku!
Tip: Zadejte znak @, abyste automaticky vyplnili jméno uživatele, který se účastní této diskuse.