Разность Коши - предвестник разворота и/или коррекции? - страница 3

 

Прилагаю запрошенный индикатор.

За основу взят Custom Moving Average из папки с примерами индикаторов.

Функция расчета SMA без изменений.
GMA считается в отдельной функции.
В конце высчитываем их разницу.

Файлы:
Koshi.mq5  6 kb
 
elibrarius:

Прилагаю запрошенный индикатор.

За основу взят Custom Moving Average из папки с примерами индикаторов.

Функция расчета SMA без изменений.
GMA считается в отдельной функции.
В конце высчитываем их разницу.

Лучше картинку графика.
 
 
elibrarius:

Прилагаю запрошенный индикатор.

За основу взят Custom Moving Average из папки с примерами индикаторов.

Функция расчета SMA без изменений.
GMA считается в отдельной функции.
В конце высчитываем их разницу.

Благодарю! Из приведенного графика видно, что индикатор выполняет свою функцию. Или не так? Еще много надо работать над ним, чтобы лучше его понимать.

Вопрос: какой период использован?

 
elibrarius:

Ниче не вижу, кроме того, что можно увидеть и без индикаторов.

Период М1. Написано в левом углу.) 

 
Yuriy Asaulenko:
Ниче не вижу, кроме того, что можно увидеть и без индикаторов.
Потому, что, не хотите видеть. Я вижу, что индикатор однозначно предсказал снижение еще раньше (на стадии подъема), чем цена фактически ушла вниз.
 
Yousufkhodja Sultonov:
Благодарю! Из приведеннго графика видно, что индикатор выполняет свою функцию. Или не так?
Индикатор считает то, что ему задано в формуле. А вот интерпретация результатов и создание ТС на его основе - намного более сложная задача.
Кстати, прошу проверить верно ли считаю GMA?

void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[])
  {
   int i,limit;
//--- first calculation or number of bars was changed
   double powr=1/(double)InpMAPeriod;
   if(prev_calculated==0)// first calculation
     {
      limit=InpMAPeriod+begin;
      //--- set empty value for first limit bars
      for(i=0;i<limit-1;i++) gma[i]=1.0;
      //--- calculate first visible value
      double firstValue=1;
     
      for(i=begin;i<limit;i++)
         firstValue*=price[i];
      firstValue=MathPow(firstValue, powr);
      gma[limit-1]=firstValue;
     }
   else limit=prev_calculated-1;
//--- main loop
   for(i=limit;i<rates_total && !IsStopped();i++){
      gma[i]=gma[i-1] * (MathPow(price[i], powr) / MathPow(price[i-InpMAPeriod], powr));
   }
//---
  }
 
Yuriy Asaulenko:

Ниче не вижу, кроме того, что можно увидеть и без индикаторов.

Период М1. Написано в левом углу.) 

Я под периодом понимаю количество последних баров истории, используемые при расчете линии индикатора.
 
Yousufkhodja Sultonov:
Потому, что, не хотите видеть. Я вижу, что индикатор однозначно предсказал снижение еще раньше (на стадии подъема), чем цена фактически ушла вниз.

Разве?

Даже еще раз посмотрел. 

Зы Производная от МАшки дала бы тоже самое. Даже еще предсказывала и направление.) 

 
elibrarius:
Индикатор считает то, что ему задано в формуле. А вот интерпретация результатов - намного более сложная задача.
Кстати, прошу проверить верно ли считаю GMA?

void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[])
  {
   int i,limit;
//--- first calculation or number of bars was changed
   double powr=1/(double)InpMAPeriod;
   if(prev_calculated==0)// first calculation
     {
      limit=InpMAPeriod+begin;
      //--- set empty value for first limit bars
      for(i=0;i<limit-1;i++) gma[i]=1.0;
      //--- calculate first visible value
      double firstValue=1;
     
      for(i=begin;i<limit;i++)
         firstValue*=price[i];
      firstValue=MathPow(firstValue, powr);
      gma[limit-1]=firstValue;
     }
   else limit=prev_calculated-1;
//--- main loop
   for(i=limit;i<rates_total && !IsStopped();i++){
      gma[i]=gma[i-1] * (MathPow(price[i], powr) / MathPow(price[i-InpMAPeriod], powr));
   }
//---
  }
К сожалению, я не очень разбираюсь в коде, пусть, кто знающий проверит, сравнивая с приведенными формулами или введите цены из приведенного теста в исходной таблице. Чувствую, по порядку чисел, что, считаете верно.
Причина обращения: