помогите найти Адаптивный мувинг - страница 4

 

я тут провел некоторый тест одного старенького советника в котором в качестве фильтра используется МАшка. Заменил обычну МАшку на адаптивную и результаты ее влияния очевидны.

Этот рисунок теста советника с обычной МАшкой

Этот - с использованием адаптивной МАшкой (выложена выше в постах adaptivsMEMA_3.mq4)


 

Денис, я так понял, что красная линия отвечает за ТФ, а желтая - это МА?

На данном графике меня настораживает сильное запаздывание сигнала (шпилька вверх) на возмущающий фактор: цена за 1 бар (5 мин.) обвалилась вниз с одного горизонтального канала на другой (самый последний).

 
PPC:

Денис, я так понял, что красная линия отвечает за ТФ, а желтая - это МА?


Нет желтая -МА10, синяя МА30, красной нет. Красные и зеленые это бары, которые строятся по некоторым правилам
 

ну вот эта красная шпилька мне и не нравится

Но если она вписывается в Вашу систему... то всё имеет право на существование

 
Денис, зачем график удалили, боитесь, шпионы рассекретят План Барбаросса? :D
 
PPC:

Денис, я так понял, что красная линия отвечает за ТФ, а желтая - это МА?

На данном графике меня настораживает сильное запаздывание сигнала (шпилька вверх) на возмущающий фактор: цена за 1 бар (5 мин.) обвалилась вниз с одного горизонтального канала на другой (самый последний).


Теперь вы понимаете, что не совсем правы "А растягивание ТФ - будет то же самое что растягивание периода МА (от перемены мест слагаемых...) ".

А про запаздывание, так это самая первая версия, без тюнинга так сказать.

 
CROM:

:D


Спасибо, Neutron
поставил этот индюк на М5 EURGBP, а в журнале пишется - zero divide (деление на ноль). как решить сие недоразумение?
 
PPC:
Денис, зачем график удалили, боитесь, шпионы рассекретят План Барбаросса? :D

Да секрета особого нет, просто смысла больше его показывать нет
 
evbut:
поставил этот индюк на М5 EURGBP, а в журнале пишется - zero divide (деление на ноль). как решить сие недоразумение?

Сравните код Вашего индюка с тем, что я выкладывал в этой ветке. У меня там одной переменной присваивается начальное значение 0.0000000000001 для решения такой же проблеммы. Найдите в коде Вашего индюка переменную, которой изначально присваивается 0, или она просто объявляется, и на которую делится что-либо и поступите аналогично. Всё заработает
 
PPC:

Сравните код Вашего индюка с тем, что я выкладывал в этой ветке. У меня там одной переменной присваивается начальное значение 0.0000000000001 для решения такой же проблеммы. Найдите в коде Вашего индюка переменную, которой изначально присваивается 0, или она просто объявляется, и на которую делится что-либо и поступите аналогично. Всё заработает
#property indicator_chart_window
#property indicator_color1 Red
#property indicator_width1 3
extern int w=10;
extern double a=0.01;
int Start,i,m;
double MA[5000],MA1[5000],MA2[5000],W=0.1,S; 

double th(double x)
  {
   if(MathAbs(x)<50.)S=(MathExp(x)-MathExp(-x))/(MathExp(x)+MathExp(-x));
   else S=MathAbs(x)/x;
   return(S);
  }
  
int start()
{
Start=1000;      
         MA[Start  ]=Open[Start];  MA1[Start  ]=0.;MA2[Start  ]=0.;
         MA[Start-1]=Open[Start-1];MA2[Start-1]=0.;MA2[Start-1]=0.;
         for (i=Start-2;i>=0;i--){MA1[i]=a*((Open[i]-Open[i+1])*(Open[i+1]-Open[i+2])-MA1[i+1])+(1.-MathSqrt(W))*(MA1[i+1]-MA1[i+2])+MA1[i+1];
                                  MA2[i]=a*((Open[i]-Open[i+1])*(Open[i  ]-Open[i+1])-MA2[i+1])+(1.-MathSqrt(W))*(MA2[i+1]-MA2[i+2])+MA2[i+1];
                                  W=(1+0.99*th(MA1[i]/MA2[i]))/w;
                                  MA[i]= W*(Open[i]-MA[i+1])+(1.-MathSqrt(W))*(MA[i+1]-MA[i+2])+MA[i+1];        
                                  }
                                  
}
int init()
{
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,MA);
   return(0);
}
Это весь код индикатора. Выделенные жирным надо заменить?
Причина обращения: