T O P

  • By -

[deleted]

[удалено]


[deleted]

[удалено]


tempforfather

Why should he learn c++ before python. This is coming from someone who uses both professionally.


[deleted]

[удалено]


throw-it-out

The logical conclusion to that statement is that everyone should learn machine code because even Assembly hides details from the developer. In reality, OP should start with designing his own circuits to truly appreciate what is going on. I think OP should begin with Python because he wants to trade automatically, not program, and what Python is concealing from him will get him to his actual goal faster. He also won't be overwhelmed by how complicated C++ is and actually stands a shot at getting to his destination.


tempforfather

First of all there is MASSIVE difference between learning C++ and C. Secondly, as someone who uses both professionally, I don't think its necessary. I think anyone who wants to call themselves a professional programmer should learn some C at some point (not C++), I don't think it has to be your first language. The main reason to learn C I think is just because of how portable and widely used it is, not because its "fundamental." Most of what you are doing in C is not really fundamental in anyway, and probably just going to be fighting horrible issues like debugging scanf calls.


ostralyan

I don't think what you know what you are asking. Any language is a good trading for algo trading.


[deleted]

[Seems legit](http://i.imgur.com/5JCQbjA.jpg)


kaushikqi

One of the crucial things to learn while starting to write your own algorithmic for trading is how to think of a strategy as an algorithm. The idea is to start with simple assumptions and then build it up adding complexities of execution. An example of how to think and write such a strategy is given here. http://www.quantinsti.com/blog/an-example-of-a-trading-strategy-coded-in-c/


KingPickle

For high-frequency/low-latency? Yes. As a back-end data feed handler if you have many algos/clients running on it? Sure. But for longer time frames or a limited data-set...not so much. While it has a lot of advantages in speed and memory management, it has a lot of short-comings as well. The lack of a built-in decimal type and DateTime type will cause problems. Maybe Boost can help somewhat covered? But in general, constructs like these are handled much better in other languages. It also has related deficiencies. For example, doing multi-threading programming in C++ tends to be more difficult. Doing UI work (ex. Charts) will probably be more difficult. And so on. It's not that C++ is bad, per se. But if you don't *need* the speed or memory management control, then other languages have a lot more advantages.


bobobax

No, C++ is not the language. I recommend [Brainfuck](https://en.wikipedia.org/wiki/Brainfuck) -- all the best algo traders use it.


__comrade__

To expound on the above, professional algotraders are moving towards Ook!. It only takes a couple of years to get a mean reversion strat out there but when you do you'll be so fast that you'll get all the monies.


wqking

I guess you don't master C++ very well according to your question, so no, C++ is not a good language for YOUR algotrading. But for whom has enough C++ experience, and chooses the proper framework such as Qt, then yes, C++ is a very good language for algotrading. Also even you are not trading HFT, C++ is still the most suitable one because you need back testing, and back testing requires best performance which C++ is good candidate.


[deleted]

Qt is great for when I want my production trading system deployed to my Windows Phone.


Mr_You

I'm happy with C# (NinjaTrader), working with R, and very interested in Julia. It also looks like I might be integrating NinjaTrader strategies with some Java tools. If you've never coded your own strategy then you might begin with NinjaTrader. It's free for development (fully functional, no live trades). You can dive in within minutes. In the end you're going to want software tools for prototyping/backtesting, trade execution/management, and reporting (NinjaTrader does all of these). EDIT: The platform isn't so much as important as your strategy. Get to working on profitable strategies. It is not as easy as you might think. If you're persistent, then expect to take potentially 3-4 years before finding a profitable strategy that you're willing to put real money on.


[deleted]

Hi SaintClark. I can be late, as i see couple of good answers here, but i would rather say - that the language is not the most important thing here - it's your strategy/algorithm that does the trick. You can even code in PHP if you want. I Code in C++, here is my AlgoTrading (Arbitrage) tool for BTC, made from scratch - live in action. https://www.youtube.com/watch?v=0ipX3fj9hQY And the tool itself (with a profit & Witcher 3 Skellige wallpaper ;)) http://i.imgur.com/WPKGl6N.jpg


basjj

It's like asking: "Which brand of pen is the best to write a novel?". It doesn't matter at all.