1

Тема: Linear regression

Уважаемые! Помогите написать индикатор
Имеется код под мт4. нужно перевести на луа

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Blue
//---- input parameters
extern int N=10;
extern double StdDev=2.0;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
//+------------------------------------------------------------------+
int init()
 {
 SetIndexStyle(0,DRAW_LINE);
 SetIndexBuffer(0,ExtMapBuffer1);
 SetIndexStyle(1,DRAW_LINE);
 SetIndexBuffer(1,ExtMapBuffer2);
 SetIndexStyle(2,DRAW_LINE);
 SetIndexBuffer(2,ExtMapBuffer3);
 return(0);
 }
//+------------------------------------------------------------------+
int deinit()
 {
 return(0);
 }
//+------------------------------------------------------------------+
int start()
 {
 int j;
 double a,b,Summ_x,Summ_y,Summ_x_2,Summ_xy,Deviation,StdDeviation,Sredn_y;
 if (Bars < N+1) return(0);
 for (int x=1;x<=N;x++)
 { j=N-x; 
Summ_x=Summ_x+x; 
Summ_y=Summ_y+Close[j]; 
Summ_xy=Summ_xy+x*Close[j]; 
Summ_x_2=Summ_x_2+MathPow(x,2); 
}
 b=(N*Summ_xy-Summ_x*Summ_y)/(N*Summ_x_2-MathPow(Summ_x,2)); 
a=(Summ_y-b*Summ_x)/N;
 Sredn_y=Summ_y/N;
 for (x=1;x<=N;x++)
 {
 j=N-x;
 Deviation=Deviation+MathPow((Close[j]-Sredn_y),2);
 }
 StdDeviation=MathSqrt(Deviation/N);
 ExtMapBuffer1[N]=EMPTY_VALUE;
 ExtMapBuffer2[N]=EMPTY_VALUE;
 ExtMapBuffer3[N]=EMPTY_VALUE;
 for (x=1;x<=N;x++)
 { j=N-x; 
ExtMapBuffer1[j]=b*x+a; 
ExtMapBuffer2[j]=b*x+a+StdDev*StdDeviation;
 ExtMapBuffer3[j]=b*x+a-StdDev*StdDeviation;
 }

 return(0);
 }