Ниже еще один из популярных приемов МНК.
Может быть не так наглядно как у вас, но на моем компе делает оптимизацию в несколько раз быстрее.
Код: Выделить всё
/**
линейная регрессия МНК
20200222 prohar
**/
function Initialize()
{
  IndicatorName = "i_LinReg";      
  PriceStudy = true;   
  AddInput("Input", Inputs.Price);      
  AddSeries("LinReg", DrawAs.Line, Color.Red);      
  AddParameter("Period", 20);
  AddParameter("Extr", 10);
}
function Evaluate()
{
   double S = SMA(Input, Period);
   double W = WMA(Input, Period);
   LinReg =  (6*(W-S)/(Period-1)) *((double)Period+Extr) + (S-3*(W-S)/(Period-1)*(Period+1));
}
Вроде можно упростить, но тогда регрессор и коэффициенты альфа и бета перестанут быть явными.
Up. если Extr = 0, то
Код: Выделить всё
function Evaluate()
{
   LinReg =  3*WMA(Input, Period) - 2*SMA(Input, Period);
}
 Изображения (1057)
 Изображения (1057) Архивы (82)
 Архивы (82) Текстовые файлы (9)
 Текстовые файлы (9) Документы (7)
 Документы (7) Скрипты Альфа-Директ 4 (30)
 Скрипты Альфа-Директ 4 (30)