Ak chcete používať chat, prihláste sa.
Späť na Kontakty

What language to be used for HFT / scalping trading?

Feb 08 2017 at 07:58
18 príspevkov
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.
May 03 2017 at 14:56
38 príspevkov
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!
May 04 2017 at 06:07
15 príspevkov
Even if you move to FIXAPI then the latency might still be too large for HFT.
May 04 2017 at 06:31
8 príspevkov
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.
Ak chcete komentovať, prihláste sa .