DIFF:Ema(DCLOSE,12)-EMA(CLOSE,26);
DEA:EMA(DIFF,9);
macd:(DIFF-DEA)*2;
低位金:crOSS(DIFF,DEA)ANDDIFF -0.1;
JCCOUNT:=COUNT(CROSS(DIFF,DEA),BArslAst(DEA =0));
二次金:CROSS(DIFF,DEA)ANDDEA 0ANDCOUNT(JCCOUNT=2,34)=1;
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
底:REF(CLOSE,A1+1) CLOSEANDDIFF REF(DIFF,A1+1)ANDCROSS(DIFF,DEA);
A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));
顶背离:REF(CLOSE,A2+1) CLOSEANDREF(DIFF,A2+1) DIFFANDCROSS(DEA,DIFF),COLORRED;
强:IF(DIFF =DEA,DIFF,DRAWNULL),COLORRED,LINETHICK2;
SHORT:=12;
LONG:=26;
MID:=9;
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIF,MID);
MACD:(DIF-DEA)*2,COLORSTICK;
{底背离}
A1:=BARSLAST(REF(CROSS(DIF,DEA),1));
底背离:=REF(CLOSE,A1+1) CLOSEANDDIF REF(DIF,A1+1)ANDCROSS(DIF,DEA);
NOTEXT底背:DRAWLINE(A1=0,DEA,底背离,DEA,0),DOTLINE,COLORRED;
{顶背离}
A2:=BARSLAST(REF(CROSS(DEA,DIF),1));
顶背离:=REF(CLOSE,A2+1) CLOSEANDDIF REF(DIF,A2+1)ANDCROSS(DEA,DIF);
NOTEXT顶背:DRAWLINE(A2=0,DEA,顶背离,DEA,0),DOTLINE,COLORGREEN;
DRAWICON(CROSS(DIF,DEA),DEA*1.08,38);{金叉}
DRAWICON(CROSS(DEA,DIF),DEA*1.08,39);{死叉}
DRAWICON(底背离,DEA*2.0,7);
DRAWICON(顶背离,DEA*2.0,8);
公式解读:
[源码注释]通达信公式动态公式解读
输出DIFF:不定周期收盘价的12日指数移动平均-收盘价的26日指数移动平均
输出DEA:DIFF的9日指数移动平均
输出平滑异同平:(DIFF-DEA)*2
输出低位金:DIFF上穿DEAANDDIFF -0.1
JCCOUNT赋值:统计上次DEA =0距今天数日中满足DIFF上穿DEA的天数
输出二次金:DIFF上穿DEAANDDEA 0ANDCOUNT(JCCOUNT=2,34)=1
A1赋值:上次1日前的DIFF上穿DEA距今天数
输出底背离:A1+1日前的收盘价 CLOSEANDDIFF A1+1日前的DIFFANDCROSS(DIFF,DEA)
A2赋值:上次1日前的DEA上穿DIFF距今天数
输出顶背离:A2+1日前的收盘价 CLOSEANDREF(DIFF,A2+1) DIFFANDCROSS(DEA,DIFF),画红色
输出强:如果DIFF =DEA,返回DIFF,否则返回无效数,画红色,线宽为2
SHORT赋值:12
LONG赋值:26
MID赋值:9
输出DIF:收盘价的SHORT日指数移动平均-收盘价的LONG日指数移动平均
输出DEA:DIF的MID日指数移动平均
输出MACD:(DIF-DEA)*2,COLORSTICK
A1赋值:上次1日前的DIF上穿DEA距今天数
底背离赋值:A1+1日前的收盘价
CLOSEANDDIF
A1+1日前的DIFANDCROSS(DIF,DEA)
输出NOTEXT底背:当满足条件A1=0时,在DEA位置画直线起点,当满足条件底背离时,在DEA位置画直线终点,0表示是否延长.,DOTLINE,画红色
A2赋值:上次1日前的DEA上穿DIF距今天数
顶背离赋值:A2+1日前的收盘价
CLOSEANDDIF
A2+1日前的DIFANDCROSS(DEA,DIF)
输出NOTEXT顶背:当满足条件A2=0时,在DEA位置画直线起点,当满足条件顶背离时,在DEA位置画直线终点,0表示是否延长.,DOTLINE,画绿色
当满足条件DIF上穿DEA时,在DEA*1.08位置画38号图标
当满足条件DEA上穿DIF时,在DEA*1.08位置画39号图标
当满足条件底背离时,在DEA*2.0位置画7号图标
当满足条件顶背离时,在DEA*2.0位置画8号图标