input:N(5,1,100);//取前N周期最高/最低点为压力支撑
XXX:=C*0;压力:=HHV(H,N);支撑:=LLV(L,N);
FAST:="kdj.K";//引用指标快线
SLOW:="kdj.D";//引用指标慢线
FOR s=20 TO DATACOUNT DO BEGIN
AAA:=FAST[s-1]-SLOW[s-1];
IF SLOW[s]>FAST[s] THEN BEGIN
Cros[s]:=1;//判断交叉
XXX[s]:=IF(AAA>0,压力[s],XXX[s-1]);
END;
ELSE BEGIN
Cros[s]:=0;//判断交叉
XXX[s]:=IF(AAA<0,支撑[s],XXX[s-1]);
END;
END;
PARTLINE(Cros=0 AND XXX<>0,XXX),CIRCLEDOT,COLORWHITE;//画线,可自行修改线型
PARTLINE(Cros AND XXX<>0,XXX),CIRCLEDOT,COLORRED;//画线
压力支撑主图 自动画线 适合任何震荡指标
就是为了让交叉点在主图上看的更清楚,利用任一震荡指标的黄金交叉作为支撑线,死亡交叉作为压力线
也可稍做修改,直接加入指标末尾或循环中
选个好的震荡指标很关键。
代码例子中为引用kdj,图为引用sinewave指标。希望对大家有用
源码
input:N(5,1,100);//取前N周期最高/最低点为压力支撑
XXX:=C*0;压力:=HHV(H,N);支撑:=LLV(L,N);
FAST:="kdj.K";//引用指标快线
SLOW:="kdj.D";//引用指标慢线
FOR s=20 TO DATACOUNT DO BEGIN
AAA:=FAST[s-1]-SLOW[s-1];
IF SLOW[s]>FAST[s] THEN BEGIN
Cros[s]:=1;//判断交叉
XXX[s]:=IF(AAA>0,压力[s],XXX[s-1]);
END;
ELSE BEGIN
Cros[s]:=0;//判断交叉
XXX[s]:=IF(AAA<0,支撑[s],XXX[s-1]);
END;
END;
PARTLINE(Cros=0 AND XXX<>0,XXX),CIRCLEDOT,COLORWHITE;//画线,可自行修改线型
PARTLINE(Cros AND XXX<>0,XXX),CIRCLEDOT,COLORRED;//画线