MT4指标
外汇指标
当前位置:找指标 More Indicators 正文

相关系数指标(Corr)

corr()本身是相关系数函数,用来刻画二维随机变量两个分量间相互关联程度。-1<corr(x,y)<1,也就是说相关系数介于-1到1之间,并可以对它说明:corr(x,y)=0,则称X,Y不相关,不相关是指X,Y没有线性关系,但也有可能有其他关系,比如平方关系,立方关系等,corr(x,y)=1,则称X与Y完全正相关,corr(x,y) =-1,则称X,Y完全负相关。当然,这里用于MQL4语言中,它是一个自定义函数,有着它独特的算法。

Corr 指标

Corr 指标以特定的算法绘制曲线,用来显示收盘价和开盘价的差值、序数i及设定的参数CorrLen的相互关系系数。可以从其算法中研究其计算原理:

double corr(double& a[], int start, int len)
  {
   double m1 = 0; 
   double m2 = 0; 
   double m1_2 = 0; 
   double m2_2 = 0; 
   double m12 = 0;

   for(int i = 0; i < len; i++)
     {
       m1 = m1 + a[i];
       m2 = m2 + a[start + i];
       m1_2 = m1_2 + a[i]*a[i];
       m2_2 = m2_2 + a[start + i]*a[start + i];
       m12 = m12 + a[i]*a[start + i];
     }
   m1 = m1/len;
   m2 = m2/len;
   m1_2 = m1_2/len;
   m2_2 = m2_2/len;
   m12 = m12/len;
   if((m1_2 - m1*m1)*(m2_2 - m2*m2) == 0) 
       return(0);
   return((m12 - m1*m2) / MathSqrt(MathAbs((m1_2 - m1*m1)*(m2_2 - m2*m2))));
}//自定义Corr函数

for(int i = 0; i < Bars; i++)
       ExtMapBuffer[i] = Close[i] - Open[i];  
   for(i = 0; i < Bars - CorrLen; i++)
       ExtMapBuffer[i] = corr(ExtMapBuffer, i, CorrLen);//指标值算法
非商业用途转载请注明标题及链接:找指标 » 相关系数指标(Corr)