Mira cómo descargar robots gratis
¡Búscanos en Twitter!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Visualizaciones:
1050
Ranking:
(28)
Publicado:
2014.01.15 09:10
Actualizado:
2016.11.22 07:33
\MQL5\Include\
getextremums.mqh (5.22 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

La función GetExtremums() está diseñada para identificar extremums durante un período determinado de la historia. El algoritmo de búsqueda es similar a la utilizada en el indicador FastZZ y utiliza sólo un parámetro - el mínimo cambio del precio - para identificar un valor extremum.

int GetExtremums(double range,      //mínimo cambio del precio
                 MqlRates &rates[], //array del historial de cotizaciones
                 dextremum &ge[],  // array devulta de extremums
                 int total=0)      //número requerido de extremums o cero para todos los extremums        
Parámetros:
  •     double range - mínimo cambio del precio requerido para identificar un extremum;
  •     MqlRates &rates[] - array de cotizaciones;
  •     dextremum &ge[] - array que almacena los extremums identificados en orden consecutivo, el valor extremum más cercano en el tiempo se almacena en el primer elemento(índice 0).
  •     int total - limite del número total de extremums que se encuentran. Por defecto se buscan todos los extremums (total==0).
Valor devuelto:
  •     Número de elementos del array de extremums.

Se utiiliza la siguiente estructura para la descripción de los extremums.

struct dextremum         //descripción de extremum
{
   int        type;      //1 - peek, -1 - trough
   datetime   time;
   double      value;
};


Un ejemplo del uso GetExtremums().

#include <GetExtremums.mqh>
//----
void OnStart()
{
   MqlRates rt[];
   dextremum zz[];
   CopyRates(_Symbol,_Period,TimeCurrent(),100,rt);
   //la primera variante - para conseguir 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?"Peek":"Trough","=",zz[i].value);
   //la segunda variante - para obtener todos los extremums 
   cnt=GetExtremums(100*_Point,rt,zz);
   Print("Encontrados",cnt," extremums");
}
//----

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/1052

SinTick SinTick

El seno y el indicador de tick

XMA de 3ª generación XMA de 3ª generación

XMA de 3ª generación es una media móvil de tercera generación. Se trata de una versión avanzada del indicador estándar media móvil (МА) que sigue un procedimiento bastante sencillo para reducir el retraso del tiempo, basándose en el incremento del período de la media móvil.

gpfTCPivotStop gpfTCPivotStop

Asesor Experto basado en el soporte del Pivot diario.

gpfTCPivotLimit gpfTCPivotLimit

Funcionamiento de un sistema de comercio basado en el rebote de los niveles de soporte/resistencia del indicador Pivot