Hi, first post. I'd like to get into automated trading. However, since I don't have much knowledge in this area, I assume that you would need to know a programming language to make a program/macro to trade for u. Is this correct? If so, which programming language do u recommend? Thanks for any help.
Assuming you are not a programmer, you are probably not going to write your own platform. That is a major undertaking even for an experienced programmer. So the question becomes what platform are you going to use and what language does it support? If this is correct, maybe others can point you to a list of platforms with the language they support and you can evaluate them to see if they meet your needs. As for C# vs. Java: They are very similar. They have similar (very good) performance. You have a lot of choice for tools in Java. Microsoft does a great job with tools for C#. C# is much more prevalent on consumer (Windows) desktops and therefore may be used as a language for more consumer trading platforms, so this may be the way to go for you. Java is much more prevalent in industry, including the financial industry. Java has a much larger community and many more free and open source libraries available, though this may not matter for what you need to do. Who do you like more, Microsoft or Oracle? OK, this doesnât matter. Oracle bought Sun (the inventors of Java) because most everything they write (middleware, tools, etc.), except the database itself, is written in Java. If you are going to write your own platform check to see what languages your data provider and broker APIs support. Bottom line: If you want to be a programmer in the financial industry, Java, otherwise, see the first paragraph (probably C#). I chose Java because I wrote my own platform and didnât want to have to run on Windows (though I still do).
Thanks for the replies. Looks like I'm not gonna be writing my own platform as it seems to be too difficult. Having said that, What I'm trying to accomplish is probably something like inputting a chain of commands into a platform (either made by myself or supplied by a broker, probably supplied by a broker in this case) to buy/sell stock (no specific symbols) when it drops/rises a certain %. So to give an example: 1. receive data from S&P 500 or stock screener 2. buy top # of symbols that have dropped between x% and y% 3. immediately put in limit sell orders on all stocks bought for purchase price + x% mark up Really simple strategy, just wanna see if I can earn more than 2% interest from my savings account while I'm at work, lol. Appreciate all the help.
The best compromise between easiness and efficiency is a C based language. Basic or Pascal style languages are not so suited in my opinion. A beginners tutorial of how to write and optimize a trading strategy in lite-C can be found here.
The problem with your question is that it presupposes the platform. What you first need to decide is which platform you will be using... Is it IB? Is it Tradestation? Is it NT? The platform then dictates which programming languages you can use. I happen to use IB and C#.