飞狐版北沙MACD幅图公式
rn
由于在飞狐里无法使用画直线函数 DRAWLINE 作为变量引用,只能使用飞狐的趋势线数值函数 LINEVALUE 代替,但因为此函数的特殊性质『估计此函数设计出来就是为了预警使用的』,相同的画线条件在个股图形中只能显示最新成立的一段画线,无法在历史图形中显示,这个也是无奈之举,如果哪位老师有更好的方法解决 通达信 画直线函数 DRAWLINE 在飞狐中的变量引用问题,请一定指教,我这里先万分感谢了
rn
源码
rn
MACD:"MACD.MACD",LINETHICK;
rnW1:STICKLINE(MACD>0,MACD,0,8,1),COLORRED;
rnW2:STICKLINE(MACD<0,MACD,0,8,1),COLORCYAN;
rnVA1:=HHVBARS(MACD,BARSLAST(MACD<0)+1);
rnVA2:=CROSS(BACKSET(CROSS(0,MACD),REF(VA1,1)+2),0.5);
rnQG:=CROSS(BACKSET(CROSS(0,MACD) OR (ISLASTBAR AND MACD>0),REF(VA1,1)+2),0.5);
rn前高:LINEVALUE(VA2,MACD,REF(VA2,1),REF(MACD,1),0,0),COLORMAGENTA;
rnVA3:=LLVBARS(MACD,BARSLAST(MACD>0)+1);
rnVA4:=CROSS(BACKSET(CROSS(MACD,0),REF(VA3,1)+2),0.5);
rnBD:=BARSLAST(FILTERX(CROSS(0,MACD),BARSCOUNT(C)));
rn前低:LINEVALUE(VA4,MACD,REF(VA4,1),REF(MACD,1),0,0);
rnBDTJ:=IF(MACD<0,FILTERX(MACD=LLV(MACD,BARSLAST(MACD>0)),
rnBARSCOUNT(C)),0);
rnTSBDTJ:=BARSLAST(BDTJ);
rnZQ:=DATACOUNT-BARPOS;
rnBDZH:=FILTERX(MACD<REFX(LLV(MACD,BD+1),ZQ),BARSCOUNT(C));
rnBDTS:=BARSLAST(BDZH);
rn本低:IF(BD+1>=1,REFX(LLV(MACD,BD+1),ZQ),0),LINETHICK;
rnPARTLINE(BD+1>=1,REFX(LLV(MACD,BD+1),ZQ));
rnBDCL:=CROSS(COUNT(CROSS(MACD>本低/2 AND MACD<0,0.5),TSBDTJ)=1,0.5) AND TSBDTJ>=0;
rn终点:=IF(ISLASTBAR AND MACD>0 AND MACD=HHV(MACD,BARSLAST(MACD<0)),1,
rnIF(FILTERX(QG,BARSCOUNT(C)),2,0));
rnUU:=(终点=1 OR 终点=2) AND MACD>0;
rnZZ:=FILTERX(UU,BARSCOUNT(C));
rn本高:LINEVALUE(ZZ,MACD,REF(ZZ,1),REF(MACD,1),0,0),COLORWHITE;
rn横线:=REFX(REF(MACD,BARSLAST(ZZ)),ZQ);
rnWW:=MACD>横线;
rn起始点:=FILTERX(REFX(BARSLAST(WW),1)=1,BARSCOUNT(C));
rn天数┃:BARSLAST(起始点),COLORYELLOW,LINETHICK;
rn上横线:LINEVALUE(起始点,横线,ZZ,横线,0,0),COLORGREEN,LINEDOT;
rn下横线:DRAWLINE(BDZH,REFX(LLV(MACD,BD+1),ZQ),BDTJ=1,MACD,0),COLOR8080FF,LINEDOT;
rnDRAWNUMBER(BDTJ,REFX(LLV(MACD,BD+1),ZQ)*0.9,BDTS,2);
rnDRAWNUMBER(ZZ,上横线*1.1,天数┃,2);
rnAQ:=SETVAL(起始点,BARSLAST(ZZ),0-BARSLAST(ZZ),BARSLAST(ZZ));
rnTJ:=IF(起始点,AQ,0);
rn红柱数量:IF(天数┃>0 AND 天数┃<=REF(TJ,天数┃),SUM(MACD>0,天数┃),0),COLORWHITE,LINETHICK;
rn横线起始价:REF(C,天数),LINETHICK;
rn空间评估:(横线起始价-C)/C*100,LINETHICK;
rnTT:=BARSLAST(ZZ);
rnWQG:=CROSS(COUNT(CROSS(MACD<本高/2 AND MACD>0,0.5),ZZ)=1,0.5) AND ZZ>=0;
rnSTICKLINE(MACD>前高 AND 本高>前高 AND BARSLAST(CROSS(MACD<本高/2,0.5))>0 AND
rnMACD>(前高+本高)/2,MACD,前高,2.6666666666666666666666666666667,0),COLORYELLOW;
rn前高本高二分位:IF(MACD>0 AND 本高<>前高,LINEVALUE(WQG,(前高+本高)/2,REF(WQG,1),REF((前高+本高)/2,1),0,0)
rn,0),COLORC0C000,LINEDOT,LINETHICK;
rnPARTLINE(MACD>0 AND 本高<>前高,LINEVALUE(WQG,(前高+本高)/2,REF(WQG,1),REF((前高+本高)/2,1),0,0)),COLORC0C000,LINEDOT;
rnAA:=’〖’+’上升空间’+’〗’+NUMTOSTR(IF(空间评估,空间评估,0),2);
rnDRAWTEXTEX(C>0,1,0,1000,AA + ‘﹪’),COLORWHITE;
rnDRAWTEXT(WQG,MACD*1.1,’本高成立’),COLORWHITE;
rnDRAWTEXT(BDCL,MACD*1.1,’本低成立’),COLORWHITE;
rnSTICKLINE(MACD>前高,MACD,前高,1,0),COLORYELLOW;
rnSTICKLINE(WQG,MACD,0,2.6666666666666666666666666666667,0),COLORGREEN;
rnSTICKLINE(MACD<0 AND MACD<前低 AND 前低<0,MACD,前低,2.6666666666666666666666666666667,0),COLORBLUE;
rnAQ1:=SETVAL(CROSS(MACD<0,0.5),BARSLAST(BDTJ),0-BARSLAST(BDTJ),BARSLAST(BDTJ));
rnB1:=IF(CROSS(MACD<0,0.5),AQ1,0);
rnTSB1:=BARSLAST(MACD>0)-1;
rnSTICKLINE(BARSLAST(BDCL)>=0 AND MACD<前低 AND MACD<0,MACD,前低,2.6666666666666666666666666666667,0),COLORGREEN;
rnSTICKLINE(BDCL,MACD,0,2.6666666666666666666666666666667,0),COLORWHITE;
rnSTICKLINE(MACD>前高 AND 本高>前高 AND BARSLAST(WQG)>0,
rnMACD,前高,2.6666666666666666666666666666667,0),COLORRED;
rnDRAWTEXT(VA2 AND VA2<>UU,(MACD/10)*9,’前’);
rnDRAWTEXT(VA2 AND VA2<>UU,MACD/10,’高’);
rnDRAWTEXT(ZZ,(MACD/10)*9,’本’),COLORWHITE;
rnDRAWTEXT(ZZ,MACD/10,’高’),COLORWHITE;
rnDRAWTEXT(BDTJ,(MACD/10)*9,’低’),COLORRED;
rnDRAWTEXT(BDTJ,MACD/10,’本’),COLORRED;
rnPARTLINE(BARSLAST(BDCL)>=0,本低/2),COLORRED,LINEDOT;
rn



















暂无评论内容