Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2435

 
Vitaly Muzichenko #:

Это с мт4 код?

Это с МТ4

Файлы:
 
Блин. Я всех ввёл в заблуждение. Сорри.
 
Tretyakov Rostyslav #:

Это с МТ4

Об этом Я и писал

res = LinearWeightedMA(1, 50, High);
//+------------------------------------------------------------------+
//| Linear Weighted Moving Average                                   |
//+------------------------------------------------------------------+
double LinearWeightedMA(const int position,const int period,const double &price[])
  {
//---
   double result=0.0,sum=0.0;
   int    i,wsum=0;
//--- calculate value
   if(position>=period-1 && period>0)
     {
      for(i=period;i>0;i--)
        {
         wsum+=i;
         sum+=price[position-i+1]*(period-i+1);
        }
      result=sum/wsum;
     }
//---
   return(result);
  }

--

Но почему так?

 
Vitaly Muzichenko #:

Приветствую!

Есть код мт4

Применяем <MovingAverages.mqh>

--

Жёлтым выделено то, что никогда не выполниться.

Что Я делаю не так?

если position меньше period то выполняется :-) в дальнем углу буфера

PS/ кстати, а примерно так разве не быстрее будет ? 

for(int i=position,k=period;k>0;k--) sum+=price[position++]*k; // ++ -- поменять от направления индексации 4,5

return sum/(period*(period-1)/2); // сумма/сумма_арифм_прогрессии