채팅을 사용하려면 로그인하십시오.

What language to be used for HFT / scalping trading?

beebird
Feb 08 2017 at 07:58
게시물18
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.

ChenLipKeong
May 03 2017 at 14:56
게시물38
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!

TerraTopNova
May 04 2017 at 06:07
게시물15
Even if you move to FIXAPI then the latency might still be too large for HFT.

PAQT
May 04 2017 at 06:31
게시물8
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.

에 댓글을 달려면 로그인하십시오.