Hello, I am from Hong Kong, I have only exp in HK Stock with a basic function of trading platform, provide by HSBC. (Only buy/sell order function..... )
Recently I found this forum and then I read a lot of old post in here, seems algo-trading is a MUST for trader as it can..1) save our time for stock screening 2) indicate signal 3) execute the order without any emotional mistake.
I read a post from BigMike, which is about the trading platform - MultiCharts, it seems a good platform although I dont have any exp about this. When I read their offical website, I found their new product - Multicharts.NET, which is operate by C# language.
my background - I do not have any idea about computer programming.
my question is:
1) I understood EasyLanguage/Power Language is much easier to learn, however, one day I may consider other trading platform but it may not support those language..... Should I learn C# in the beginning?
2) Some computer expert telling me that C# is only available for Microsoft product, I should learn JAVA as it is more widely acceptance, since they are not trader, so I would like to see what's the view from trader here? (I think C# is not a bad choice as some platform support C#)
3) Is it possible to self-learn C# (or other programming)??
4) Does in-depth maths is a MUST for algo-trading?
I wish to have good advice at the beginning, thank you for your help!
I will try to answer my questions from my point of view. The best answer to your questions depends on your personality.
(1) I think you have put the right question here. Most trading platforms use either Easy Language or C#. Let us have a brief look at your options:
Amibroker: Amibroker Formula Language AFL (exotic, bridge to Visual Basic, not recommended) CQG: C#, C ++, Visual Basic and Matlab via API
Ensign Windows: ESPL(similar to Delphi)
ESignal: Script language EFS (exotic, not recommended))
Investor RT: Real Time Language RTL (?)
MetaStock: MetaStock Script Language (simple, outdated)
MetaTrader: MetaQuotes Language MQL4 / MQL5 (C based)
MultiCharts: Easy Language and C# (new .NET version)
NeoTicker: Delphi & Neoticker formula language NinjaTrader: C# & NinjaScript (extension of C#) SierraChart: C++ & ACSIL (extension of C++)
Tradecision: Improvian (simple language)
TradeStation: Easy Language
Wealth-Lab: C# + Wealth-Script
If you hate mathematics and coding, then you should opt for Easy Language. If you are willing to put some efforts into learning object oriented programming, then go for C#.
Large prop traders mostly use C++,
The future probably belongs to other programming languages such as R, F#, OCaml or Matlab.
(2) As you can see above, Java is not widely used in trading software or automated trading. Learning C# would be the better choice. However, Java and C# are very similar in its architecture. There are probably more online courses available in Java than in C#. Some links below:
(3) Yes it is possible. I am self-taught, have studied a few books only. Then copied code from others and added my own ideas.
(4) You do not need university mathematics for coding trading algorithms, but you should have a sound understanding of high school mathematics and should be willing to explore the world of probabilities and statistics.
The following 6 users say Thank You to Fat Tails for this post:
Thanks Fat Tails Bro for the answering!! It really help me a lot, I think C# is more suitable for me.
Although C# is more difficult than Easy Language to start up with, I prefer put more efforts into C# as it seems more powerful and able to apply more trading platform.
You're talking about programming language - R, F#, Ocaml or Matlab, I tried use Google to search them but don't get too much idea about this, just want to know do they similar with C#, also the oriented programming code?
Lastly, I will pick up some high-school textbook in maths to study...... honestly, I almost forgot all of them!
The short answer is you want the trading platform and language with the lowest barrier to entry and a short learning curve.
Since its free for your personal trading R&D (no Live trades), NinjaTrader (and NinjaScript/C#) is your best bet. You can use their Strategy or Indicator wizard as a way to get started and learn the basics. It produces easy to understand code that you can edit or copy. See their website and the webinar section of this forum for tutorials and help.
If your strategies are profitable you should be able to easily port them to any platform.
The following 2 users say Thank You to MrYou for this post:
Well I don't agree with that "free" argument. I think you should first check out what your need is and then buy according to your needs the platform you can afford/willing to pay. It takes a lot of time and effort to learn a new language and to learn all the "pitfalls" of an platform.
When I discovered possibility of Autotrading for the first time, I didn't do my platform and broker due diligence. I just chose Metatrader because it was for "free". That was an mistake. First, "Brokers" are Bucketshops in general. Second, the backtesting analysis is too weak for my needs. Just to mention two points.
So it was a real waste of time for learning MQL (Metatrader). And it takes time again to learn a new language for a new platform. The time you probably waste is much more valuable than the money you spend for an platform. IMO.
How do I start beginning with C#? Any book introduce?
I found a lot of book review from Google, but those review are from the view of IT Specialist / Programmer, not Trader.
I want to learn the script to write indicator or anything for trading platform like NinjaTrader or Multicharts.NET (Soon?)
I saw some books from amazon.com but most of the book title named together with C# with .NET... e.g.
C# is a great language. However, don't be too worried about the language you pick because once you learn how to program it's usually pretty easy to translate those skills to any language.
Don't get a book on ASP.NET as that will be about website programming. (Note: ASP.NET does not equal .NET) The nutshell books are good but not what you need as a beginner. They are usually more like a reference book for those who already know how to program. You want something that is going to teach you programming concepts in general, not just C#.
If you want to go the C# route then a good book to start with is:
Head First C#, 2E: A Learner's Guide to Real-World Programming with Visual C# and .NET (Head First Guides)
(I'd include an amazon link but I don't have the rights to post links yet)
Last edited by stockpapa; July 12th, 2012 at 12:16 PM.
The following user says Thank You to stockpapa for this post:
Hello all, hopefully my question is not off-topic:
I’d like to offer charts and signals on my website which are written in easy language (EL).
Does anyone know about an easy language, equilla or multicharts based software that can be used for a website, browser, etc.. or an adapter-like program in order to send signals and indicators calculated in EL to my website?