
等级: 新手上路
- 注册:
- 2023-4-19
- 曾用名:
|
如题
麻烦老师帮忙看下这个代码哪里有错,帮忙给修改下
N:=5;
{用于满足阈值的阳性数量}
TH:=3; {斜率阈值}
SLOPE_TH:=0.02; {最大与最小连续斜率相差阈值}
MIN_DIFF_TH:=0.001; {寻找最高与最低点}
MAXC:=HHV(CLOSE,N);
MINC:=LLV(CLOSE,N); {计算高低点斜率}
SLOPE_MAX:=(-4*REF(MAXC,-4)+3*REF(MAXC,-3)-2*REF(MAXC,-2)+REF(MAXC,-1))/6;
SLOPE_MIN:=(-4*REF(MINC,-4)+3*REF(MINC,-3)-2*REF(MINC,-2)+REF(MINC,-1))/6; {检测楔形}
X:=0;
FOR
I:=2 TO 20 DO
BEGIN
IsWedge:=ABS(REF(SLOPE_MAX,-I)-SLOPE_MAX)<SLOPE_TH AND ABS(REF(SLOPE_MIN,-I)-SLOPE_MIN)<SLOPE_TH;
IsWedge:=IsWedge AND ABS((REF(MAXC,-I)-MAXC)-(REF(MINC,-I)-MINC))>MIN_DIFF_TH;
IF(IsWedge,I:=20;X:=X+1);{满足楔形条件加一}
END;
Lp:=BARSLAST(X=TH); {楔形信号}
WedgeSignal:=X>=TH; IF(WedgeSignal,1,Lp);
|
|