Join our fan page
- Views:
- 5009
- Rating:
- Published:
- 2012.11.14 15:57
- Updated:
- 2016.11.22 07:32
-
Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
The GetExtremums() function is designed to identify extremums over a given period of history. The search algorithm is similar to that used in the FastZZ indicator and uses only one parameter - the minimum price change - to identify an extremum.
int GetExtremums(double range, //minimum price change MqlRates &rates[], //array of history quotes dextremum &ge[], //returned array of extremums int total=0) //required number of extremums or zero for all extremumsParameters:
- double range - minimum price change required to identify an extremum;
- MqlRates &rates[] - array of quotes;
- dextremum &ge[] - array that stores identified extremums in consecutive order, the extremum closest in time being stored in the first element (0 index).
- int total - limit for the total number of extremums to be found. All extremums are searched for by default (total==0).
- Number of elements in the array of extremums.
The following structure is used for the description of extremums.
struct dextremum //description of extremum { int type; //1 - peak, -1 - trough datetime time; double value; };
An example of using GetExtremums().
#include <GetExtremums.mqh> //---- void OnStart() { MqlRates rt[]; dextremum zz[]; CopyRates(_Symbol,_Period,TimeCurrent(),100,rt); //the first variant - to get 10 extremums int cnt=GetExtremums(100*_Point,rt,zz,10); for(int i=0; i<cnt; i++) Print(i,") ",zz[i].time," >> ",zz[i].type==1?"Peak":"Trough","=",zz[i].value); //the second variant - to get all extremums cnt=GetExtremums(100*_Point,rt,zz); Print("Found ",cnt," extremums"); } //----
Translated from Russian by MetaQuotes Ltd.
Original code: https://www.mql5.com/ru/code/1052
![gpfTCPivotStop](https://c.mql5.com/i/code/expert.png)
The Expert Advisor based on daily Pivot support.
![gpfTCPivotLimit](https://c.mql5.com/i/code/expert.png)
The trading system operating based on the bounce off the support/resistance levels of the Pivot indicator
![SinTick](https://c.mql5.com/i/code/indicator.png)
The sine and tick indicator
![3rd Generation XMA](https://c.mql5.com/i/code/indicator.png)
3rd Generation XMA is the 3rd generation moving average. This is an advanced version of the standard moving average indicator (МА) that follows a fairly simple procedure to reduce the time lag based on the increase in the moving average period.