Some help can go a long way when creating indicators, trading strategies, and functions in the PowerLanguage .NET Editor. What help features does this code editor has?

The PowerLanguage .NET Editor and its help windows

MultiCharts .NET indicators, functions, and strategies are primarily created and edited in the PowerLanguage .NET Editor (MultiCharts, 2014). This IDE (Integrated Development Environment) makes programming scripts easier due to features like intelligent code completion, window panel layout customisation, and script compilation.

With those features we can code MultiCharts .NET scripts efficiently, provided we know how to implement something. If we don’t know that yet, we can look through TradingCode’s MultiCharts .NET tutorials or consult the ‘Help’ and ‘Help Contents’ window panels in the PowerLanguage .NET Editor. This requires that both are turned on in the ‘View’ menu:

View menu in PowerLanguage .NET Editor

Once enabled, the help file’s topics are listed in the ‘Help Contents’ window:

Overview of MultiCharts .NET help contents

And the ‘Help’ window panel shows the actual contents of the help file:

Help window panel in the PowerLanguage .NET Editor

Let’s now look at the different ways in which these windows can offer some help.

Browsing the topics of the PowerLanguage .NET Help file

One way to use the help is browsing the ‘Help Contents’ window. As the image above shows, there are several top level folders:

  • The ‘PowerLanguage’ folder contains general subjects such as ChartPoint structures, class attributes, and the code elements we need for drawing trend lines, text boxes, and arrows.
  • Some information about the DataLoader can be found below the ‘PowerLanguage.DataLoader’ folder, although this subject is also partly listed below the ‘PowerLanguage’ folder. This shows that the folder structure can be confusing.
  • In the ‘PowerLanguage.Function’ folder we find information about the standard functions in MultiCharts .NET, like ADX, XAverage, AvgTrueRange, PivotHighVS, and Stochastics.
  • Some information about indicators is below ‘PowerLanguage.Indicator’ in the ‘Help Contents’ window.
  • In ‘PowerLanguage.Strategy’ we find information about trading strategies added to a single chart or Portfolio Trader.
  • ‘PowerLanguage.TradeManager’ contains topics about accessing position, account, trade, and log data.
  • And in the ‘PowerLanguage.VolumeProfile’ folder we find information about using the volume profile programmatically.

As an example, let’s say we want to learn more about PlotAttributes(), which we used in creating a trading strategy when we made an indicator that plotted the strategy’s values. Interestingly enough, PlotAttributes() is not in the ‘PowerLanguage.Indicator’ folder but in the general ‘PowerLanguage’ folder.

So we expand the ‘PowerLanguage’ folder and browse to the ‘PlotAttributes’ folder:

PlotAttributes folder expanded

To see the different PlotAttributes() versions, we click on the ‘PlotAttributes Constructor’ folder. In the ‘Help’ window of the PowerLanguage .NET Editor we can now see its different versions (listed below ‘Overload List’):

Overloaded PlotAttributes constructor

This example also shows that sadly a decent amount of programming experience is needed to understand the help that’s provided in the PowerLanguage .NET Editor.

Opening the PowerLanguage .NET Help file to search it

Besides browsing the ‘Help Contents’ window we can also search for specific terms, which is often less confusing and more efficient. But before we can search the help file we first need to open it. We do that by going to the ‘Help’ menu and selecting ‘PowerLanguage .NET Help’:

Help menu in the PowerLanguage .NET Editor

Alternatively, we can open the help file by double-clicking on the ‘PowerLanguage.NET’ file in the MultiCharts .NET installation folder (which is ‘C:\Program Files\TS Support\MultiCharts .NET64\’ by default for the 64-bit version):

Opening the help file from within windows

Both approaches open the ‘PowerLanguage .NET Help’, which is a .chm (Microsoft Compiled HTML Help) file consisting out of a collection of HTML pages, an index, search, and other navigation tools (Wikipedia, 2015). Its contents, however, are the same as the help in the PowerLanguage .NET Editor:

Contents of the MultiCharts .NET help file

Searching in the PowerLanguage .NET Help file

To search the help file we select the ‘Search’ tab in the ‘PowerLanguage .NET Help’ window, type in the query, and then press Enter or click on ‘List Topics’. For instance:

Searching in the help file

By the way, if you cannot see the ‘Contents’, ‘Index’, and ‘Search’ tabs, click on the ‘Options’ button and select ‘Show Tabs’:

Displaying tabs in the help file

After searching we open a found item with a double-click or selecting it and pressing the ‘Display’ button. Doing so shows the contents of the help file:

Searching for the Send() method in the help file

Below the ‘Index’ tab we find an alphabetical list of all content. We can also search here by typing the keyword’s name:

Searching with the 'Index' tab

Since we only need to provide the first letters here, typing ‘eplot’ is sufficient to locate the EPlotShapes enumeration in the help file:

Help for the EPlotShapes enumeration

Another helpful feature is the ‘Locate’ button to highlight the current help page in the ‘Contents’ tab. That helps placing the help page into context and finding related content. For example with the ‘EPlotShapes Enumeration’ page it shows us several other enumerations:

The 'Locate' button in the help file

Opening help pages within the PowerLanguage .NET Editor

The help pages can also be opened from within the PowerLanguage .NET Editor. For that we need to place the text cursor on a code element and press the F1 keyboard key. For example, here the text cursor is placed in the StrategyInfo.GetPlotValue() method:

Context-aware help in the PowerLanguage .NET Editor

Now when we press F1, this method is highlighted in the ‘Help Contents’ window and its help page displayed in the ‘Help’ window (highlighted with two arrows):

Help file opens at the cursor location

When F1 is pressed while the text cursor is on a C# code element (like the override, protected, void, or new keywords in the image above), then nothing happens. Pressing F1 when the text cursor is on things like variables pops-up an error message:

Help file error message

Besides the ‘Help’ and ‘Help Contents’ windows we can also get information in the PowerLanguage .NET Editor from the intelligent code completion feature that also provides information when hovering over a code element.

Summary

Help information is displayed in the ‘Help’ and ‘Help Contents’ windows in the PowerLanguage .NET Editor. When we open the help file itself (through the ‘Help’ menu item or with the Windows Explorer), we can also search through the help file. Alternatively, pressing F1 when the text cursor is placed on a code element opens the corresponding help page in the PowerLanguage .NET Editor.


References

MultiCharts (2014). MultiCharts .NET Programming Guide (version 1.1). Retrieved from http://www.multicharts.com/downloads/MultiCharts.NET-ProgrammingGuide-v1.1.pdf

Wikipedia (2015, August 10). Microsoft Compiled HTML Help. Retrieved on August 11, 2015, from https://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help