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
Indicadores

Estocástico com Redução de Ruído - indicador para MetaTrader 4

Visualizações:
1677
Avaliação:
(9)
Publicado:
2016.06.24 13:35
\MQL4\Include\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Descrição:

O Oscilador Estocástico Padrão com recurso de sensibilidade.

Ele tem os mesmos parâmetros, como um estocástico padrão, mas com um parâmetro adicional "sensivity" (Sens na janela de parâmetros)

Ele permite considerar as oscilações somente abaixo de algum limite pré-definido, especificado em pontos. Desta forma, podemos reduzir a um monte de sinais falsos.

O Estocástico clássico localiza o preço atual entre os preços de máxima e mínima para um certo número de barras, definido pelo valor %K (Kperiod), e ele não distingue a diferença entre os extremos, por exemplo, 1 ponto ou 100 pontos. Para estes dois casos, os resultados serão os mesmos, e nós vamos obter os sinais de sobrecompra/sobrevenda.

Mas usando algum limite, podemos considerar somente oscilações significativas.

Na Fig. 1 (EURUSD, 1M), o gráfico de preços, estocástico padrão e o indicador proposto são apresentados.

Imagem:

Fig 1.

Os campos indicadores é o mesmo que para iStochastic, a diferença é que não há um parâmetro adicional Sens - sensibilidade.

Os buffers de saída são os mesmos: 0-o próprio valor do estocástico, 1-linha de sinal.

double iCustom(string symbol, int timeframe, "_StochNR", int %Kperiod, int %Dperiod, 
int slowing, int method, int price_field, int Sens, int mode, int shift); // StochNR adiciona um novo campo Sens 

double iStochastic(string symbol, int timeframe, int %Kperiod, int %Dperiod, 
int slowing, int method, int price_field, int mode, int shift) // estocástico padrão 

Para um uso prático, é possível chama-lo como especificado acima, mas é melhor realizar de outro modo. Basta adicionar algum código para a sua função Stoch:

double Stoch(int Kperiod, int Slowing, int PriceFild, double sens, int i) {  
   // preços de máxima e mínima
   double max,min,c;
   for(int j=i; j<i+Slowing; j++) {
      if(PriceFild==1) { // по Close
         max+=Close[ArrayMaximum(Close,Kperiod,j)];
         min+=Close[ArrayMinimum(Close,Kperiod,j)];
        }
      else { // по High/Low
         max+=High[ArrayMaximum(High,Kperiod,j)];
         min+=Low[ArrayMinimum(Low,Kperiod,j)];
        }
      c+=Close[j];
     }
   
   double delta=max-min;
   if(delta<sens) {
      sens/=2;
      max+=sens; min-=sens;
     }
   delta=max-min;
   if(delta==0) double s0=1;
   else s0=(c-min)/delta;

   return(100*s0);
  }

É claro que, se você precisar de uma linha de sinal, você precisa de uma média móvel adicional de seu valor. Outra maneira é obtê-lo a partir do primeiro buffer de iCustom, mas ele será lento.

Como você vê, agora o nome é mais informativo, há um tipo de cálculo de preços. Se a sensibilidade é definida maior que 0, o seu valor é adicionado ao nome do oscilador.


Observação do editor:

Note que ela é uma tradução espelho da versão Russa original.

Se você tiver alguma dúvida, sugestões ou comentários, é melhor publicá-las

Se você achou este código útil para fins de negociação ou educacionais, não se esqueça de agradecer o autor.

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

TimeLines TimeLines

Marcação automática do gráfico pelo tempo e o temporizador.

ADXcrosses ADXcrosses

Indicador ADXcrosses.

Indicador Hodrick Prescott Indicador Hodrick Prescott

Indicador do tipo MA baseado no Filtro de Hodrick Prescott

Indicador de posições em aberto Indicador de posições em aberto

Ele mostra uma breve informação sobre todas as posições em aberto. Pode ser útil, se o seu EA negocia muitas posições ao mesmo tempo.