It may become necessary to write information in a file or to read it from a file for several reasons. A file can be used to deliver information to another program. In this case, the file can be created by an application program and used by it as an information receiver.
Today we will learn to write custom indicators. We will get acquainted with the classification of indicator features, will see how these features influence the indicator, will learn about new functions and optimization, and, finally, we will write our own indicators. Moreover, at the end of the article you will find advice on the programming style.
If this is the first article "for newbies" that you are reading, perhaps it would be better for you to read the previous ones. Besides, make sure that you have understood properly the previous material, because the given article does not explain the basics.
Types of Indicators Now I will show you, what kinds of indicators exist. Of course, you have seen a lot of them, but now I would like to draw your attention to features and parameters of indicators, thus we will make a small classification of features and parameters.
It will then help you to write custom indicators. So, the first simple indicator: This is Moving Average, MA, a widely used technical indicator.
Pay attention to the following important facts: The difference is in the range of the shown values. Note, that the second indicator shows values in the range from 0 to Now imagine that we show these values in a chart window.
And what would happen??
You would not see this line, because the price has a much narrower range. In our case it is from 0.
But it is not all. Actually, prices are positive numbers, and our value is negative. Indicators are drawn in a separate subwindow if their values are outside the price range of the active chart. And if the range is almost the same for example, different kinds of moving averagesan indicator is drawn in a chart window.
In future set this indicator parameter according to this simple logics. Here is a picture: It means the terminal sets a fixed scale for showing indicator values; and even if values exceed the range, you will not see them.
If you disable this parameter, the terminal automatically will change the scale so that it contains all values of an indicator. You have seen it quite often when setting up the drawing of indicators in the terminal.
Here is one restriction: Here is one more indicator: As you see, the indicator Volumes is drawn in the form of a histogram. So, there are several types of showing indicator values. Here is an example of another type: The indicator Fractals is drawn in the form of special symbols.
Now look at the following indicator: Note, the indicator simultaneously draws three values balance lines.The use of its embedded programming language, MQL4, lifts traders to a new level of trading - to automated trading. Now, a trader can implement his or her ideas as an application program - write a custom indicator, a script to perform single operations, or create an Expert Advisor - an automated trading system (trading robot).
The ObjectAttr macro declares standard get/set methods for a class. Just follow the Java Beans(TM) convention.
I used some macro tricks to work around limits of MQL. I will document the library in detail when I have the time.
Creates or opens a file for writing UTF-8 encoded text. If the file already exists, its contents are overwritten. Compared to Supertrend with the new version two interesting features has been added.
One is a simple EMA filter rule is added to Buy and Short Conditions and changes in the dashboard (included target levels in Supertrend Dashboard for discrete traders).
File Operations. In MQL4, it is possible to work with files containing a certain set of information. It may become necessary to write information in a file or to read it from a file for several reasons. MetaQuotes Language 4. Account Information Array functions Common functions Conversion functions Custom Indicator functions Date & Time functions.