Indicadores: LinearRegressionChannel

 

LinearRegressionChannel:

Instrumento personalizado de regressão linear. A Linha LR, valores de suporte e resistência estão contidos nos buffers do indicador.

Fig.1 Indicador LinearRegressionChannel

Autor: Nikolay Kositsin

 
Ao compilar o indicador, ele apresenta um erro - acesso ambíguo, que pode ser um dos seguintes: linearregressionchannel.mq5 60 33

 

Olá, Sr. Nikolay

Bom dia, do Rio de Janeiro

No momento, estou explorando o indicador Regression channel e encontrei seu excelente código para um indicador com essa característica de regressão linear para o MT5.

Antes de mais nada, parabéns pelo excelente código e por compartilhar generosamente seu trabalho árduo.

Depois de começar, tive que corrigir dois erros relacionados a declarações ENUM.

No entanto, notei que o canal não atualizava sua condição para cada barra.

Tomei a liberdade de alterar o código e agora ele está atualizando o canal para cada barra, para o total de barras inseridas.

Ele agora está funcionando como eu esperava e pretendo explorá-lo junto com outros indicadores de tendência para maximizar a probabilidade de prever as direções de preço.

Obrigado novamente por sua generosidade em compartilhar

Salustiano Leal

Rio de Janeiro, Brasil

 
Olá, não consigo carregar o indicador da biblioteca no terminal.
 
Tankarotrader #:
Ao compilar o indicador, ele apresenta um erro - acesso ambíguo, que pode ser um dos seguintes: linearregressionchannel.mq5 60 33

KKAAZZOO #:
Olá, o indicador da biblioteca não é carregado no terminal.

Na linha 50 e seguintes, a enumeração é definida, onde o valor predefinido MODE_CLOSE é usado.

Vamos corrigi-lo assim:

//+-----------------------------------+
//|| declarando uma enumeração |
//+-----------------------------------+
enum ENUM_USER_PRICE
  {
   USER_PRICE_CLOSE=MODE_CLOSE,  //Use close
   USER_PRICE_HIGH_LOW           //Usar alto e baixo
  };
//+-----------------------------------+
//| PARÂMETROS DE ENTRADA DO INDICADOR
//+-----------------------------------+
input ENUM_USER_PRICE UserPrice=USER_PRICE_CLOSE; /Opção de preço
input uint  barsToCount=50;  //Número de barras a serem calculadas
//+-----------------------------------+

Agora, na linha 194, você pode fazer isso da seguinte forma:

if(UserPrice==(ENUM_USER_PRICE)MODE_CLOSE)

ou assim:

if(UserPrice==USER_PRICE_CLOSE)

- não faz diferença. Porque o USER_PRICE_CLOSE personalizado é igual ao MODE_CLOSE padrão. Somente com a primeira opção você precisa especificar o tipo da variável de enumeração ENUM_USER_PRICE, caso contrário, haverá um aviso sobre tipos diferentes.

O arquivo está no trailer.

Arquivos anexados: