Page 1 of 1

MultiCharts/EasyLanguage learning strategies

Posted: 15 Jan 2013
by bowlesj3
To anyone new to MC (or any experienced users who want to add ideas after reading this post):

Here is one strategy for learning MC that should get a new user coding with minimum frustration. Since there are difference approaches to learning, other experienced users may want to add posts to this thread.

Create a “useful commands document “ (UCD) that you can do string searches with (MS-Word most likely). It should have the command and where to find the info on it (maybe put this in an MS-Word table). Put a reminder in your calendar that you have this document and bump the reminder out a few weeks. After you have updated the document as described below and once you have remembered the document and used it to find a command then bump your reminder of its existence out a few months. If you have used it 2 times bump the reminder out a year or more as you feel is appropriate. There are several areas you need to take an overview of to make entries in the UCD. They are described below between the === lines.

==========================================================

Read the support section of the main MC website just in case something new is added that I am not aware of and have not listed below.

Read the manual front to back quickly and make entries in the UCD.

Read the command purposes in the Wiki (or help) command reference and update the UCD.

Read the forum FAQ thread descriptions and update the UCD.

Read the forum User contributed thread descriptions and update the UCD.

It is worth scanning all the build in Power Language code that comes with MC to add to the UCD. For example the Highest, HighestBar, Lowest and LowestBar. You will find a comment inside many of them at the top.

Read the document for EL collections and update the UCD. (you need to have studied the Manual first to know about global variables). The EL collections link is below. Read the second document which is in post #4 (it is the same but I put some examples in). In my case I did a first pass and things were not that clear (too much info too fast but it would be good for your UCD). I did a slower 2nd pass and I started to understand things. I then went into the specific commands to learn them well enough to get them to work in my applications. The thread was created by "DamageBoy" The link is viewtopic.php?=&p=8189

Read the ADE “All Data Everywhere" document and update the UCD. You will find the document in the zip archive for the ADE which is located in the damangeboy link. viewtopic.php?=&p=8189

Read each new release features list and update the UCD.

==========================================================

Once you have completed your overview to update the UCD for all these areas you will have a pretty good idea of all the commands you need, the threads you need to read and the user scripts that have been written to help make some of the commands easier to use. You will also know of the traps and have studied them in detail and you are then ready to code without having to worry about wasting too much time. Lastly, when your calendar reminds you of the UCD (or any time you feel the need) review the UCD and decide on a command you need to learn better right now.

Re: MC learning strategies

Posted: 17 Jan 2013
by bowlesj3
As part of learning MC, if you wish to follow a forum topic without actually creating a post you can click "subscribe topic" at the top of the thread.


As a variation on the UCD idea mentioned in post #1 above, when I was learning various programming skills while working as a full time programmer I would get up early in the morning, drive to a coffee shop near work and read a manual while having my coffee. I would miss the rush hour traffic giving me at least 10 minutes of extra study time and I found the good night's sleep and the caffeine would create a great learning situation with lots of ideas to help out. I would create a list of commands I wanted to do experiments on to understand them fully. Each night while at the computer I would test them. Within 1.5 years I was a Unix shell scripting expert using this learning strategy (it works well). Related to this topic, in MC's power language there is a command that can help you follow this procedure. It is called the RecalcLastBarAfter (example use below). All it does is create a fake tick coming in to your Power Language script every second if you choose to set the parameter to 1 second as I have shown below. This allows you to test some types of scripts after hours where there is no live feed coming in. It duplicates the tick that came in last thus submitting this tick at the same price. You place it within the LastBarOnChart if statement. Of course you can use this RecalcLastBarAfter command during the live trading day for situations where the ticks are coming in very slow but it has this great double use. It is great for testing certain types of scripts on weekends too so you waste less trading time. If you decide to use RecalcLastBarAfter when there is no live feed coming in you should read about the BarStatus keyword since it will explain the difference between using RecalcLastBarAfter during a live feed and when there is no live feed (just put in a print statement showing the BarStatus value). You might want to study the "Ticks" keyword too.

Code: Select all

If LastBarOnChart {for minute bars}
RecalcLastBarAfter(1); {generate a fake tick every second}

Code: Select all

If LastBarOnChart_s {for seconds bars}
RecalcLastBarAfter(2); {generate a fake tick every two seconds}

Re: MC learning strategies

Posted: 30 Jan 2013
by NW27
Related to this topic, in MC's power language there is a command that can help you follow this procedure. It is called the RecalcLastBarAfter (example use below). All it does is create a fake tick coming in to your Power Language script every second if you choose to set the parameter to 1 second as I have shown below. This allows you to test some types of scripts after hours where there is no live feed coming in. It duplicates the tick that came in last thus submitting this tick at the same price. You place it within the LastBarOnChart if statement. Of course you can use this RecalcLastBarAfter command during the live trading day for situations where the ticks are coming in very slow but it has this great double use. It is great for testing certain types of scripts on weekends too so you waste less trading time. If you decide to use RecalcLastBarAfter when there is no live feed coming in you should read about the BarStatus keyword since it will explain the difference between using RecalcLastBarAfter during a live feed and when there is no live feed (just put in a print statement showing the BarStatus value). You might want to study the "Ticks" keyword too.

Code: Select all

If LastBarOnChart {for minute bars}
RecalcLastBarAfter(1); {generate a fake tick every second}

Code: Select all

If LastBarOnChart_s {for seconds bars}
RecalcLastBarAfter(2); {generate a fake tick every two seconds}
I have used this code before but after reading your post I have thought how I can use it in a future project.
Thanks,
Neil.

Re: MultiCharts/EasyLanguage learning strategies

Posted: 19 Aug 2013
by ABC
I will start with a set of PowerLanguage tutorials and will put up a new one every week. At least this is the plan. This is basically geared to Multicharts users starting out in learning Powerlanguage, but at some point we might get to some advanced concepts down the road. With providing feedback or ideas you can definitely help in making the tutorials better for all.

Lesson 01: PowerLanguage Tutorial Lesson 01

Lesson 02: Multicharts Tutorial Lesson 02

Lesson 03: Multicharts PowerLanguage Tutorial 03

Lesson 04: If statements and conditional branching

Lesson 05: Text and trendlines

Regards,
ABC

Re: MultiCharts/EasyLanguage learning strategies

Posted: 16 Apr 2014
by hendrix
@ABC : greats tutorials
thanks a lot!