Дифференциальный индикатор Султонова - страница 42

 
Yousufkhodja Sultonov:
Я имел ввиду вот это: "Имейте ввиду, что у РСИ используется сглаживание Вайлдера, это тоже самое что экспоненциальное, но с более большим периодом, от этого может быть заметное несоответствие."

Какие-то условности с большим или меньшим периодом, экспоненциальное или обычное сглаживание - к чему все это? DA берет Быка за рога, а Медведя - за лапы и ноги.


Откуда я знаю что у вас там? Что у меня я показал. И даже объяснил, чтобы было понятнее всем кто в танке.

 
Дмитрий:

Ты пытаешься спорить с помощью формул с человеком, который говорит на языке поэзии.


:)

 
Дмитрий:

Ты пытаешься спорить с помощью формул с человеком, который говорит на языке поэзии.

Можете поговорить со мной здесь https://www.mql5.com/ru/articles/250 и здесь https://www.mql5.com/ru/articles/1825 на языке формул.
 
Yousufkhodja Sultonov:
Можете поговорить со мной здесь https://www.mql5.com/ru/articles/250 и здесь https://www.mql5.com/ru/articles/1825 на языке формул.

А я здесь говорю... и не цветочки фламастиром рисую. 

 
Dmitry Fedoseev:

А я здесь говорю... и не цветочки фламастиром рисую. 

Это было адресовано Дмитрию.
 

Доработано. Сделано включение/выключение сглаживания компонентов. Переменная ComponentsSmooth. В приложении к посту.

Посмотрел вот этот код, особенно вот 'то место:

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;
}

Это ни что иное, как начальный этап расчета компонентов РСИ (с небольшими непринципиальными отличиями).

Файлы:
qwerty2.mq5  6 kb
 

Ошибка в моем индикаторе (тупая). 5 мин. исправлю. 

 
Dmitry Fedoseev:

Доработано. Сделано включение/выключение сглаживания компонентов. Переменная ComponentsSmooth. В приложении к посту.

Посмотрел вот этот код, особенно вот 'то место:

Это ни что иное, как начальный этап расчета компонентов РСИ (с небольшими непринципиальными отличиями).

В приведенном варианте индикатора DA мы привели вариант, не имеющий ничего общего с РСИ , единственное общее - это получение и использование разностей соседних значений цены, и то, в РСИ между барами, а в DA - внутри 0-го бара. Неужели и на использование разности цен наложено табу Уайдлером?
 
Yousufkhodja Sultonov:
В приведенном варианте индикатора DA мы привели вариант, не имеющий ничего общего с РСИ , единственное общее - это получение и использование разностей соседних значений цены, и то, в РСИ между барами, а в DA - внутри 0-го бара. Неужели и на использование разности цен наложено табу Уайдлером?

В РСИ экспоненциальное сглаживание, а у вас простое среднее.

 

Исправлено (приложение).

Вот сравнение:

Желтая линия - компоненты РСИ.

Красная - простое сглаживание с подсчетом количества слагаемых (Yousufkhodja style). 

Шаблон прилагается.

Файлы:
qwerty3.mq5  7 kb
111.tpl  201 kb