Hello all,
I am new to MultiCharts and would like to know in detail what the main differences are between EasyLanguage, PowerLanguage, and .NET.
Do they all use the same keywords?
Does .NET lean more towards traditional C# syntax or PowerLanguage syntax instead?
Is there a specific order one should learn these programming languages?
Is it possible to learn .NET without leaning EasyLanguage or PowerLanguage beforehand?
Any other details or information that would be good to know?
Thank you for your help in advance!
-FigmentForex
Programming Language Comparison: EasyLanguage vs. PowerLanguage vs. .NET
- FigmentForex
- Posts: 4
- Joined: 07 Dec 2017
- Has thanked: 4 times
- Been thanked: 1 time
- fbertram
- Posts: 166
- Joined: 16 Oct 2014
- Location: Seattle, USA
- Has thanked: 36 times
- Been thanked: 76 times
- Contact:
Re: Programming Language Comparison: EasyLanguage vs. PowerLanguage vs. .NET
Hi FigmentForex,
it really depends what you want to do, and what your experience with software development is.
PowerLanguage is very easy to learn, and requires only very limited amount of prior software knowledge. You can find a lot of indicators and signals, which probably just run on MultiCharts. On the flip side, the language does not have much structure. Once your algorithms exceed a certain complexity, things become hard to maintain. If you want to do more complicated things, e.g. read and write data to files, integrate with Microsoft Office, call DLLs, things get complicated.
The .NET variant allows you to do pretty much everything you can imagine: You can use Visual Studio and use a real debugger. You can integrate easily with DLLs, write files, launch Microsoft Office, launch R. But this power comes at a price: you will have to behave like a software developer, learn a real programming language, including a lot of overhead, like instantiating data types, defining classes and methods.
There is no right or wrong here. It really depends on what you can do, or how much time you are willing to put in to learn.
Cheers, Felix
it really depends what you want to do, and what your experience with software development is.
PowerLanguage is very easy to learn, and requires only very limited amount of prior software knowledge. You can find a lot of indicators and signals, which probably just run on MultiCharts. On the flip side, the language does not have much structure. Once your algorithms exceed a certain complexity, things become hard to maintain. If you want to do more complicated things, e.g. read and write data to files, integrate with Microsoft Office, call DLLs, things get complicated.
The .NET variant allows you to do pretty much everything you can imagine: You can use Visual Studio and use a real debugger. You can integrate easily with DLLs, write files, launch Microsoft Office, launch R. But this power comes at a price: you will have to behave like a software developer, learn a real programming language, including a lot of overhead, like instantiating data types, defining classes and methods.
There is no right or wrong here. It really depends on what you can do, or how much time you are willing to put in to learn.
Cheers, Felix
Last edited by fbertram on 17 Dec 2017, edited 1 time in total.
- JoshM
- Posts: 2195
- Joined: 20 May 2011
- Location: The Netherlands
- Has thanked: 1544 times
- Been thanked: 1565 times
- Contact:
Re: Programming Language Comparison: EasyLanguage vs. PowerLanguage vs. .NET
Felix already gave a good and thorough reply that I agree with completely.
Now for some of your smaller questions:
PowerLanguage .NET (MultiCharts .NET) is completely different than regular PowerLanguage and EasyLanguage. The name of the keywords are similar, so a bit of knowledge of PowerLanguage helps. But I estimate that only 3% of the keywords are the same.
I'd seriously advise against learning two or three of these languages. Some of these languages are better at some things than others, but the absolute difference between them is small. And especially the difference between MultiCharts and MultiCharts .NET is not worth the time investment in learning a new programming language.
Of course if you have a lot of free time and really like programming, then you can learn multiple or all three in a certain order. But that would be more a hobby activity rather than something that really contributes to your trading bottom-line.
But you don't need to know all of .NET (not even 30%) to be competent with MultiCharts .NET. And for MultiCharts (PowerLanguage) and EasyLanguage basic programming knowledge is a good start (so 3% of your learning .NET journey).
Now for some of your smaller questions:
The keywords of PowerLanguage are often similar to those in EasyLanguage, but not all EasyLanguage features are available in PowerLanguage. If I have to guess I'd say they are 90% similar.Do they all use the same keywords?
PowerLanguage .NET (MultiCharts .NET) is completely different than regular PowerLanguage and EasyLanguage. The name of the keywords are similar, so a bit of knowledge of PowerLanguage helps. But I estimate that only 3% of the keywords are the same.
Yes, the .NET version uses full, traditional syntax. The default appearance of scripts is completely different from regular PowerLanguage.Does .NET lean more towards traditional C# syntax or PowerLanguage syntax instead?
The best order is to pick one and forget the other two.Is there a specific order one should learn these programming languages?
I'd seriously advise against learning two or three of these languages. Some of these languages are better at some things than others, but the absolute difference between them is small. And especially the difference between MultiCharts and MultiCharts .NET is not worth the time investment in learning a new programming language.
Of course if you have a lot of free time and really like programming, then you can learn multiple or all three in a certain order. But that would be more a hobby activity rather than something that really contributes to your trading bottom-line.
It's of course possible to learn the .NET Framework first, but that's a task much bigger than learning PowerLanguage, EasyLanguage, and MultiCharts .NET PowerLanguage combined. (Unless, of course, you want to become a C#/.NET developer then it makes a lot of sense.)Is it possible to learn .NET without leaning EasyLanguage or PowerLanguage beforehand?
But you don't need to know all of .NET (not even 30%) to be competent with MultiCharts .NET. And for MultiCharts (PowerLanguage) and EasyLanguage basic programming knowledge is a good start (so 3% of your learning .NET journey).
- FigmentForex
- Posts: 4
- Joined: 07 Dec 2017
- Has thanked: 4 times
- Been thanked: 1 time
Re: Programming Language Comparison: EasyLanguage vs. PowerLanguage vs. .NET
Felix and Josh,
Thank you both for the detailed responses. I apologize for the delayed reply, the holiday season got ahead of me.
Lastly, I have a few more questions for both of you:
Thanks,
FigmentForex
Thank you both for the detailed responses. I apologize for the delayed reply, the holiday season got ahead of me.
What you said here is exactly what I aspire to do. I want to become a C#/.NET developer. I have a good amount of previous programming experience and I have also written a lot of content in TradingView's PineScript. However, I have reached some limitations there and I need an avenue to write more complex algorithms like the kind that MultiCharts .NET enables.you will have to behave like a software developer, learn a real programming language, including a lot of overhead, like instantiating data types, defining classes and methods.
That makes a lot of sense, thank you for clarifying that for me. Because the keywords between PowerLanguage and PowerLanguage .NET are only 3% similar, where can I go, or what can I do to learn the other 97% of the .NET specific keywords? In other words, is there an available reference guide or manual to all of the C# specific PowerLanguage .NET keywords?PowerLanguage .NET (MultiCharts .NET) is completely different than regular PowerLanguage and EasyLanguage. The name of the keywords are similar, so a bit of knowledge of PowerLanguage helps. But I estimate that only 3% of the keywords are the same. The .NET version uses full, traditional syntax. The default appearance of scripts is completely different from regular PowerLanguage.
Lastly, I have a few more questions for both of you:
- When you were learning to program in MC .NET, how did you go about it? What worked best for you? What caused you some difficulty? Do you have any advice to offer for someone who is truly serious about learning this?
Where can I go to find some detailed reference material to facilitate this learning of MC .NET? From what I can tell upon first sight is that there isn't much material on the internet to help me learn it.
Is there anything else that either of you would like to mention that would be helpful and of use for me? Again, I really appreciate your assistance!
Thanks,
FigmentForex
- fbertram
- Posts: 166
- Joined: 16 Oct 2014
- Location: Seattle, USA
- Has thanked: 36 times
- Been thanked: 76 times
- Contact:
Re: Programming Language Comparison: EasyLanguage vs. PowerLanguage vs. .NET
Hi FigmentForex,
to use MC .NET, you first need to learn C#. There are various resources out there, a good entry point to Microsoft's own documentation is here:
https://docs.microsoft.com/en-us/dotnet ... reference/
Another book I really like is 'C# in a Nutshell'. There are a variety of versions out there, note that MC .NET is using version 4 of the language. The newer books are ok, but will describe some features that are not available to you:
https://www.amazon.com/C-6-0-Nutshell-D ... a+nutshell
Once you are familiar with the language, go to the MC Programming Guide:
https://www.multicharts.com/trading-sof ... ming_Guide
This is enough information to get you started. For the remaining information, you will need to check the help file in the PowerLanguage editor, and the source code of various indicators, functions, and strategies supplied with MC. Unfortunately, there is far less documentation for .NET than there is for the EasyLanguage variant, you will just have to endure through a sour period of ramping up your knowledge.
Hope this helps,
Cheers
Felix
to use MC .NET, you first need to learn C#. There are various resources out there, a good entry point to Microsoft's own documentation is here:
https://docs.microsoft.com/en-us/dotnet ... reference/
Another book I really like is 'C# in a Nutshell'. There are a variety of versions out there, note that MC .NET is using version 4 of the language. The newer books are ok, but will describe some features that are not available to you:
https://www.amazon.com/C-6-0-Nutshell-D ... a+nutshell
Once you are familiar with the language, go to the MC Programming Guide:
https://www.multicharts.com/trading-sof ... ming_Guide
This is enough information to get you started. For the remaining information, you will need to check the help file in the PowerLanguage editor, and the source code of various indicators, functions, and strategies supplied with MC. Unfortunately, there is far less documentation for .NET than there is for the EasyLanguage variant, you will just have to endure through a sour period of ramping up your knowledge.
Hope this helps,
Cheers
Felix
-
- Posts: 26
- Joined: 30 Jan 2014
- Been thanked: 4 times
Re: Programming Language Comparison: EasyLanguage vs. PowerLanguage vs. .NET
I been experimenting with MC.NET for about 8 years, before it was a product show cased on FXCM. Then mysteriously disappeared from FXCM and reappeared as MultiCharts. NET. I also been programming since about 1975 on mainframes to micros in many different languages.
So I know most of the ins and outs of MultiCharts including the back testing environment, and the Live data feeds.
My experience with Multicharts is a mixed package with praises and shortcomings; still a very good product overall.
I love the .NET features of power-language it's a seamless upgrade to MSVS so far. Although, I have trouble debugging with the newer versions of MSVS. anyway that's not really relevant to my experience.
To make a long story short: Power-language is a great tool to use on its own as the debugger using the writeline code is the best way to debug any program. Why? Well compilers are not perfect, they make mistakes too. The best programs are the ones kept simple. I actually use a list box and write output from my code to it as a log file too.
Now with power-language you could include any and all .NET features such as database and then interface that with MS OFFICE. I use MSSQL.
Here is the clincher; I also do not use MULTICHARTS as a LIVE production trading platform, I only use it as development tool. I have my own mirrored MSVS LIVE production ALGO that I fully rely upon for LIVE trading. And, I do not use visual charts for LIVE Trading either. Although I could through MS Office. I find MultiCharts charts just fine. And then of course the brokers usually HAVE THEIR OWN charts too.
Nothing has to be perfect in this world just make it work before you go LIVE.
So I know most of the ins and outs of MultiCharts including the back testing environment, and the Live data feeds.
My experience with Multicharts is a mixed package with praises and shortcomings; still a very good product overall.
I love the .NET features of power-language it's a seamless upgrade to MSVS so far. Although, I have trouble debugging with the newer versions of MSVS. anyway that's not really relevant to my experience.
To make a long story short: Power-language is a great tool to use on its own as the debugger using the writeline code is the best way to debug any program. Why? Well compilers are not perfect, they make mistakes too. The best programs are the ones kept simple. I actually use a list box and write output from my code to it as a log file too.
Now with power-language you could include any and all .NET features such as database and then interface that with MS OFFICE. I use MSSQL.
Here is the clincher; I also do not use MULTICHARTS as a LIVE production trading platform, I only use it as development tool. I have my own mirrored MSVS LIVE production ALGO that I fully rely upon for LIVE trading. And, I do not use visual charts for LIVE Trading either. Although I could through MS Office. I find MultiCharts charts just fine. And then of course the brokers usually HAVE THEIR OWN charts too.
Nothing has to be perfect in this world just make it work before you go LIVE.