Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Bibliotecas

GetExtremums - biblioteca para MetaTrader 5

Visualizações:
1273
Avaliação:
(28)
Publicado:
2014.01.15 08:29
Atualizado:
2016.11.22 07:33
\MQL5\Include\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

A função GetExtremums() foi projetada para identificar os extremos ao longo de um determinado período da história.

O algoritmo de pesquisa é similar ao utilizado no indicador FastZZ, ele usa apenas um parâmetro - a mudança de preços mínimos - para identificar um extremo.

int GetExtremums(double range,      // Alteração do preço mínimo
                 MqlRates &rates[], //array de cotações históricas
                 dextremum &ge[],  //retorno do array de extremos
                 int total=0)      //número necessário de extremos ou zero para todos os extremos        
Parâmetros:
  •     double range - Variação de preço mínimo necessário para identificar um extremo;
  •     MqlRates &rates[] - array de cotações;
  •     dextremum &ge[] - array que armazena extremos identificados em ordem consecutiva, o extremo mais próximo no tempo que está sendo armazenado é o primeiro elemento (índice 0).
  •     int total - Limite de extremos que devem ser encontrados. Todos os extremos são procurados por padrão (total == 0).
Valor de retorno:
  •     Número de elementos no array de extremos.

A seguinte estrutura é utilizada para a descrição dos extremos.

struct dextremum         //Descrição do extremo
{
   int        type;      //1 - peek, -1 - trough
   datetime   time;
   double      value;
};

Um exemplo do uso GetExtremums().

#include <GetExtremums.mqh>
//---
void OnStart()
{
   MqlRates rt[];
   dextremum zz[];
   CopyRates(_Symbol,_Period,TimeCurrent(),100,rt);
   //--- a primeira variante - para obter 10 extremos
   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);
   //--- a segunda variante - para obter todos os extremos 
   cnt=GetExtremums(100*_Point,rt,zz);
   Print("Achou ",cnt," extremos");
}

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/1052

SinTick SinTick

O seno e o indicador tick.

Assistente MQL5 - Sinais de Negociação Baseados no cruzamento da linha Principal e das linhas de Sinais do indicador MACD Assistente MQL5 - Sinais de Negociação Baseados no cruzamento da linha Principal e das linhas de Sinais do indicador MACD

Os Sinais de Negociação Baseados no cruzamento da linha Principal e das linhas de Sinais do indicador MACD (CSignalMACD da Biblioteca Padrão MQL5) serão utilizados aqui. O código do Expert Advisor com base nesta estratégia pode ser gerado automaticamente usando o Assistente MQL5.

gpfTCPivotStop gpfTCPivotStop

Expert Advisor baseado no suporte de Pivot diário.

gpfTCPivotLimit gpfTCPivotLimit

A operação do sistema de negociação se baseia no salto fora dos níveis de suporte/resistência do indicador Pivot.