由于在飞狐里无法使用画直线函数 DRAWLINE 作为变量引用,只能使用飞狐的趋势线数值函数 LINEVALUE 代替,但因为此函数的特殊性质『估计此函数设计出来就是为了预警使用的』,相同的画线条件在个股图形中只能显示最新成立的一段画线,无法在历史图形中显示,这个也是无奈之举,如果哪位老师有更好的方法解决 通达信 画直线函数 DRAWLINE 在飞狐中的变量引用问题,请一定指教,我这里先万分感谢了
源码
DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:=(DIF-DEA)*2;
VA1:=HHVBARS(MACD,BARSLAST(MACD<0)+1);
VA2:=CROSS(BACKSET(CROSS(0,MACD) OR (ISLASTBAR AND MACD>0),REF(VA1,1)+2),0.5);
前高:=LINEVALUE(VA2,MACD,REF(VA2,1),REF(MACD,1),0,0),COLORWHITE;
VA3:=LLVBARS(MACD,BARSLAST(MACD>0)+1);
VA4:=CROSS(BACKSET(CROSS(MACD,0) OR (ISLASTBAR AND MACD<0),REF(VA3,1)+2),0.5);
前低:=LINEVALUE(VA4,MACD,REF(VA4,1),REF(MACD,1),0,0),COLORYELLOW;
X:IF(COUNT(MACD>0,BARSLAST(VA2))=BARSLAST(VA2),LINEVALUE(VA2,H,REF(VA2,1),REF(H,1),0,0),0),COLORGREEN,LINETHICK;
PARTLINE(COUNT(MACD>0,BARSLAST(VA2))=BARSLAST(VA2),LINEVALUE(VA2,H,REF(VA2,1),REF(H,1),0,0)),COLORGREEN,LINETHICK2;
STICKLINE(MACD>0 AND C>X AND O>X,C,O,2.6666666666666666666666666666667,0),COLORRED;
STICKLINE(MACD>0 AND C>X AND O
STICKLINE(REFX(VA2,1) OR REFX(VA4,1),C,O,2.6666666666666666666666666666667,0),COLORGREEN;
JC:=CROSS(DIF,DEA);
JTS:=BARSLAST(DIF
STS:=BARSLAST(DIF>DEA);
价格低点:IF(JTS>0,LINEVALUE(JC,L,REF(JC,1),REF(L,1),0,0),0),COLORMAGENTA,LINETHICK;
PARTLINE(JTS>0,LINEVALUE(JC,L,REF(JC,1),REF(L,1),0,0)),COLORMAGENTA,LINETHICK2;
价格高点:IF(STS>0,LINEVALUE(SC,H,REF(SC,1),REF(H,1),0,0),0),COLORYELLOW,LINETHICK;
PARTLINE(STS>0,LINEVALUE(SC,H,REF(SC,1),REF(H,1),0,0)),COLORYELLOW,LINETHICK2;
JGGD:=LINEVALUE(SC,H,REF(SC,1),REF(H,1),0,0);
AQ:=SETVAL(JC,BARSLAST(VA4),0-BARSLAST(VA4),BARSLAST(VA4));
WW:=BARSLAST(VA4)<=REF(AQ,BARSLAST(VA4));
指标低点:IF(WW,LINEVALUE(VA4,L,REF(VA4,1),REF(L,1),0,0),0),COLORWHITE,LINETHICK;
PARTLINE(WW,LINEVALUE(VA4,L,REF(VA4,1),REF(L,1),0,0)),COLORWHITE,LINETHICK2;
白线:=LINEVALUE(VA4,L,REF(VA4,1),REF(L,1),0,0);
STICKLINE(MAX(C,O)<指标低点,C,O,2.6666666666666666666666666666667,0),COLORWHITE;
STICKLINE(MAX(C,O)>指标低点 AND MIN(C,O)<指标低点,指标低点,MIN(C,O),2.6666666666666666666666666666667,0),COLORWHITE;
STICKLINE(价格低点<白线 AND MAX(C,O)>价格低点 AND MIN(C,O)<价格低点,价格低点,
MIN(C,O),2.6666666666666666666666666666667,0),COLORMAGENTA;
STICKLINE(价格低点<白线 AND MAX(C,O)<价格低点,C,O,2.6666666666666666666666666666667,0),COLORMAGENTA;
DRAWTEXT(价格低点<白线 AND O<价格低点 AND C>价格低点 AND MACD>REF(MACD,1) AND
REF(C,1)<价格低点 AND JTS>1,L*0.99,'挖坑结束、还需确认'),COLORYELLOW;
DRAWTEXT(JC AND 价格低点>JGGD,L*0.99,'小心筑顶、红柱保护');
DRAWTEXT(NOT(WW) AND C>价格高点 AND O<价格高点,L*0.99,'简单骗术、时间和谐'),COLORWHITE;
DRAWTEXT(WW AND C>价格高点 AND O<价格高点,L*0.99,'再涨一段、注意真假'),COLORYELLOW;