Indicador diferencial Sultonov - página 42

 
Yousufkhodja Sultonov:
Eu quis dizer isto: "Tenhaem mente que a RSI usa o alisamento Wilder, é o mesmo que exponencial, mas com um período mais longo, pode haver uma discrepância perceptível em relação a isso. "

Qualquer convenção com períodos maiores ou menores, suavização exponencial ou convencional - qual é o objetivo de tudo isso? DA leva o Touro pelos chifres e o Urso pelas patas e pés.


Como posso saber o que você tem aí? O que eu tenho eu mostrei. Eu até expliquei, para que ficasse mais claro para todos que estão no tanque.

 
Дмитрий:

Você está tentando discutir com fórmulas com um homem que fala a linguagem da poesia.


:)

 
Дмитрий:

Você está tentando argumentar com fórmulas com alguém que fala a linguagem da poesia.

Você pode falar comigo aquihttps://www.mql5.com/ru/articles/250 e aquihttps://www.mql5.com/ru/articles/1825 no idioma das fórmulas.
 
Yousufkhodja Sultonov:
Você pode falar comigo aquihttps://www.mql5.com/ru/articles/250 e aquihttps://www.mql5.com/ru/articles/1825 no idioma das fórmulas.

E eu estou falando aqui... e eu não desenho flores flamastiradas.

 
Dmitry Fedoseev:

E eu estou falando aqui... e eu não estou pintando flores flamastiradas.

Isto foi dirigido a Dimitri.
 

Refinado. Alisamento de componentes habilitados/desabilitados. ComponentesVariável suave. Anexado ao posto.

Vimos este código, especialmente aquele "lugar":

bool ProcessBar(int nBarIndex, const double &farrClose[])
{
   if (nBarIndex + i_nPeriod > ArraySize(farrClose))
      return true;

   double fBullsSumm = 0.0, fBearsSumm = 0.0;
   int nBullsCnt = 0, nBearsCnt = 0;
   
   for (int i = nBarIndex + i_nPeriod - 1; i >= nBarIndex; --i)
   {
      double fPower = farrClose[i] - farrClose[i + 1];
      if (fPower > 2 * DBL_EPSILON)
      {
         fBullsSumm += fPower;
         nBullsCnt++;
      }
      if (fPower < -2 * DBL_EPSILON)
      {
         fBearsSumm -= fPower;
         nBearsCnt++;
      }
   }
   
   g_farrBullsPower[nBarIndex] = (nBullsCnt == 0)? 0.0 : 
                                  fBullsSumm / nBullsCnt / g_fPoint;
   g_farrBearsPower[nBarIndex] = (nBearsCnt == 0)? 0.0 : 
                                  fBearsSumm / nBearsCnt / g_fPoint;

   return true;
}

Isto nada mais é do que o estágio inicial de cálculo dos componentes da LER (com pequenas diferenças não principiantes).

Arquivos anexados:
qwerty2.mq5  6 kb
 

Erro no meu indicador (contundente). 5 min. irá consertá-lo.

 
Dmitry Fedoseev:

Refinado. Alisamento de componentes habilitados/desabilitados. ComponentesVariável suave. Anexado ao posto.

Vimos este código, especialmente aquele "lugar":

Isto nada mais é do que o estágio inicial de cálculo dos componentes da LER (com pequenas diferenças não principiantes).

Na variante dada do indicador DA, demos uma variante, que não tem nada em comum com o RSI, a única coisa em comum - é obter e usar diferenças de valores de preços adjacentes, e aquela no RSI entre barras, e no DA - dentro da 0ª barra. O uso de diferenças de preço também é tabuizado pela Widler?
 
Yousufkhodja Sultonov:
Na variante dada do indicador DA nós demos uma variante, que não tem nada em comum com o RSI, a única coisa em comum é obter e usar a diferença de valores de preços adjacentes, e aquela no RSI entre barras, e no DA - dentro da barra 0-ésima. O uso de diferenças de preço também é tabuizado pela Widler?

No RSI há um alisamento exponencial, enquanto você tem uma média simples.

 

Corrigido (anexo).

Aqui está uma comparação:

Linha amarela - Componentes RSI.

Vermelho - suavização simples com contagem de soma (estilo Yousufkhodja).

Modelo anexo.

Arquivos anexados:
qwerty3.mq5  7 kb
111.tpl  201 kb