Welcome to tutorial 8 in this series of tutorials designed to introduce basic EasyLanguage concepts.
TO THE BEST OF MARKPLEX CORPORATION’S KNOWLEDGE, ALL OF THE INFORMATION ON THIS PAGE IS CORRECT, AND IT IS PROVIDED IN THE HOPE THAT IT WILL BE USEFUL. HOWEVER, MARKPLEX CORPORATION ASSUMES NO LIABILITY FOR ANY DAMAGES, DIRECT OR OTHERWISE, RESULTING FROM THE USE OF THIS INFORMATION AND/OR PROGRAM(S) DESCRIBED, AND NO WARRANTY IS MADE REGARDING ITS ACCURACY OR COMPLETENESS. USE OF THIS INFORMATION AND/OR PROGRAMS DESCRIBED IS AT YOUR OWN RISK.
ANY EASYLANGUAGE OR POWERLANGUAGE TRADING STRATEGIES, SIGNALS, STUDIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS (AND PARTS THEREOF) AND ASSOCIATED TECHNIQUES REFERRED TO, INCLUDED IN OR ATTACHED TO THIS TUTORIAL OR PROGRAM DESCRIPTION ARE EXAMPLES ONLY, AND HAVE BEEN INCLUDED SOLELY FOR EDUCATIONAL PURPOSES. MARKPLEX CORPORATION. DOES NOT RECOMMEND THAT YOU USE ANY SUCH TRADING STRATEGIES, SIGNALS, STUDIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS (OR ANY PARTS THEREOF) OR TECHNIQUES. THE USE OF ANY SUCH TRADING STRATEGIES, SIGNALS, STUDIES, INDICATORS, SHOWME STUDIES, PAINTBAR STUDIES, PROBABILITYMAP STUDIES, ACTIVITYBAR STUDIES, FUNCTIONS AND TECHNIQUES DOES NOT GUARANTEE THAT YOU WILL MAKE PROFITS, INCREASE PROFITS, OR MINIMIZE LOSSES.
In tutorial 7, I introduced arrays. In this tutorial I will describe how to create a simple function. If you missed tutorial 7, or would like to review other tutorials in this series, they are available on my Web site at tutorials.
Functions are extremely useful for performing calculations that you might need to use in future EasyLanguage strategies or indicators that you may create. By using functions, you do not need to keep rewriting parts of your programs that you use frequently. Functions can also be helpful because they take a portion of your EasyLanguage code out of a ‘main’ program into a function. By doing this they make the program easier to read and understand.
In this tutorial we will create a simple function that returns the average of the high, low, open and close of the current bar.
Create a new EasyLanguage program. To do this click File – New – Window. Select the EasyLanguage tab and click function. Enter the name of the function as in the following screen grab.
The function that we are creating, which I have called _Tutorial8, calculates the average of high, low, open and close for each bar. Enter the code follows:
Once the code is entered, click the verify button:
Unfortunately, you will see an error message at the bottom of the screen:
To be able to view this message make sure that View – EasyLanguage Output Bar is selected.
This message is telling us that we need to assign a value to a variable that has the same name as the function, thus:
By assigning this value we are able to use the value returned by the function in EasyLanguage indicators, strategies, show me studies or any other EasyLanguage program.
A function, by itself, is not a lot of use. The next step is to create an indicator to use the function. Create a new indicator and enter the following information:
Create the simplest indicator you have ever seen, as follows:
Apply this indicator to a chart and drag and drop the indicator into the main chart. You should see something like the following;
Creating the average in this example is trivial – but it could have been accomplished in several ways. If you are looking for a particular aspect of EasyLanguage syntax, a good place to look is in the EasyLanguage Dictionary. To access the dictionary, click Tools – EasyLanguage Dictionary.
We calculated our own average by summing the values and dividing by 4. We could also have used a built-in EasyLanguage command. By clicking Math and Trig, you will see a list of EasyLanguage Math and Trig functions. AvgList looks like it might work for us. If you highlight it and then press OK, the syntax is inserted in your EasyLanguage document.
This tutorial demonstrates a very simple function. Functions can really help as our programs become increasingly complex. Future tutorials will cover some of the more advanced aspects of creating and using EasyLanguage functions.
If you have any questions about the above material or you would like to point out a correction or typo, please e-mail: firstname.lastname@example.org.