N:=30; 时序:=SUM(1,0); 时序平方:=时序*时序; 时序均值:=MA(时序,N); 平方均值:=MA(时序平方,N); 价格均值:=MA(C,N); 时序方差和:=VARP(时序,N)*N; 平方方差和:=VARP(时序平方,N)*N; 时序平方协方差:=COVAR(时序,时序平方,N)*(N-1); 时序价格协方差:=COVAR(时序,C,N)*(N-1); 平方价格协方差:=COVAR(时序平方,C,N)*(N-1); 分母:=时序方差和*平方方差和 -时序平方协方差*时序平方协方差; 分母有效:=ABS(分母)>0.000001; 安全分母:=IF(分母有效,分母,1); 二次项:=(平方价格协方差*时序方差和 -时序价格协方差*时序平方协方差)/安全分母; 一次项:=(时序价格协方差*平方方差和 -平方价格协方差*时序平方协方差)/安全分母; 常数项:=价格均值 -一次项*时序均值 -二次项*平方均值; 数据有效:=BARSCOUNT(C)>=N AND 分母有效; 二次值:=IF( 数据有效, 常数项+一次项*时序+二次项*时序平方, DRAWNULL); 直线回归:IF( 数据有效, FORCAST(C,N), DRAWNULL),COLORGRAY; 回归上行:IF( 数据有效 AND 二次值>=REF(二次值,1), 二次值, DRAWNULL),COLORRED,LINETHICK3; 回归下行:IF( 数据有效 AND 二次值<REF(二次值,1), 二次值, DRAWNULL),COLORGREEN,LINETHICK3; 图标有效:=BARSCOUNT(C)>=N+2 AND 分母有效; 向上拐点:=图标有效 AND REF(二次值,1)<=REF(二次值,2) AND 二次值>REF(二次值,1); 向下拐点:=图标有效 AND REF(二次值,1)>=REF(二次值,2) AND 二次值<REF(二次值,1); DRAWICON(向上拐点,二次值,1); DRAWICON(向下拐点,二次值,2);