Programming Language Comparison: EasyLanguage vs. PowerLanguage vs. .NET

Questions about MultiCharts .NET and user contributed studies.
User avatar
FigmentForex
Posts: 4
Joined: 07 Dec 2017
Has thanked: 4 times
Been thanked: 1 time

Programming Language Comparison: EasyLanguage vs. PowerLanguage vs. .NET

Postby FigmentForex » 16 Dec 2017

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

User avatar
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

Postby fbertram » 16 Dec 2017

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
Last edited by fbertram on 17 Dec 2017, edited 1 time in total.

User avatar
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

Postby JoshM » 17 Dec 2017

Felix already gave a good and thorough reply that I agree with completely.

Now for some of your smaller questions:
Do they all use the same keywords?
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.

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.
Does .NET lean more towards traditional C# syntax or PowerLanguage syntax instead?
Yes, the .NET version uses full, traditional syntax. The default appearance of scripts is completely different from regular PowerLanguage.
Is there a specific order one should learn these programming languages?
The best order is to pick one and forget the other two. :-)

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.
Is it possible to learn .NET without leaning EasyLanguage or PowerLanguage beforehand?
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.)

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).

User avatar
FigmentForex
Posts: 4
Joined: 07 Dec 2017
Has thanked: 4 times
Been thanked: 1 time

Re: Programming Language Comparison: EasyLanguage vs. PowerLanguage vs. .NET

Postby FigmentForex » 11 Jan 2018

Felix and Josh,

Thank you both for the detailed responses. I apologize for the delayed reply, the holiday season got ahead of me.
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.
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.
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.
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?

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

User avatar
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

Postby fbertram » 11 Jan 2018

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

CarseWhite
Posts: 26
Joined: 30 Jan 2014
Been thanked: 4 times

Re: Programming Language Comparison: EasyLanguage vs. PowerLanguage vs. .NET

Postby CarseWhite » 14 Feb 2018

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.


Return to “MultiCharts .NET”