通达信二次金叉抄底/选股指标公式源码
这是一个基于MACD指标进行深度优化的副图指标,主要用于识别特定的交易信号。指标在标准MACD的基础上,增加了丰富的柱状图颜色和形态识别功能。
指标构成与信号:
1. 基础MACD计算:计算了DIFF线(12日与27日EMA的差值)、DEA线(DIFF的9日EMA)和MACD柱(2(DIFF-DEA))。
2. 柱状图颜色系统:MACD柱根据其数值和变化趋势,用不同颜色和宽度的柱体显示,共分四类:
红色渐变柱:MACD为正值且持续增长时显示。
蓝色渐变柱:MACD为正值但开始下降时显示。
粉色渐变柱:MACD为负值但开始回升时显示。
橙色渐变柱:MACD为负值且持续下降时显示。
基础柱:纯白色(负值)和洋红色(正值)的粗柱作为底色。
3. DIFF线着色:
当DIFF为负值时,线显示为红色。
当DIFF为正值时,线显示为黄色。
此外,DIFF与DEA之间填充了绿色和白色的带状线,用于直观显示两线的相对位置。
4. 核心交易信号:
低位金叉:当DIFF上穿DEA,且DIFF值小于-0.1时触发。在零轴下方标记黄色柱状和“低位金叉”文字。
二次金叉:在DEA处于零轴下方的背景下,21个交易日内出现的第二次DIFF上穿DEA。标记紫色柱状、图标和“二次金叉”文字。
底背离:价格创新低,但DIFF线未创新低,随后出现DIFF上穿DEA的金叉。标记绿色柱状、红色连接线和“底背离”文字。
顶背离:价格创新高,但DIFF线未创新高,随后出现DEA下穿DIFF的死叉。标记绿色连接线。
选股器说明:
配套的选股公式专门用于捕捉“二次金叉”信号。其逻辑是:在DEA线位于零轴以下的情况下,筛选出最近21个交易日内发生第二次DIFF上穿DEA的股票。
使用要点:
1. 该指标通过颜色和形态,直观地区分了MACD柱的强度变化(加速/减速)和多空状态。
2. “低位金叉”和“二次金叉”是重点关注的做多信号,尤其在零轴下方出现时,常被视为较强的反弹或趋势转折预警。
3. “底背离”和“顶背离”信号用于提示潜在的趋势衰竭和反转点,但通常需要结合其他信号或价格行为进行确认。
4. 选股器可用于快速筛选出出现“二次金叉”模式的股票,进行进一步分析。
{副图源码如下}
DIFF:EMA(CLOSE,12)-EMA(CLOSE,27);
DEA:EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
STICKLINE(MACD>=0,MACD,0,4,1),COLORF00FF0;
STICKLINE(MACD<0,MACD,0,4,1),COLORWHITE;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,4,0 ),COLOR00AAFF;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,3.3,0 ),COLOR00BBFF;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,2.2,0 ),COLOR00CCFF;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,1.65,0 ),COLOR00DDFF;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,1.1,0 ),COLOR00EEFF;
STICKLINE(MACD<REF(MACD,1)AND MACD>0,0,MACD,0.55,0 ),COLOR00FFFF;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,4 ,0 ),COLOR0000AA;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,3.3 ,0 ),COLOR0011BB;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,2.2,0 ),COLOR0022CC;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,1.65 ,0 ),COLOR0033DD;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,1.1 ,0 ),COLOR0044EE;
STICKLINE(MACD>=REF(MACD,1)AND MACD>0,0,MACD,0.55 ,0 ),COLOR0055FF;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,4,0 ),COLORAA00BB;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,3.3 ,0 ),COLORBB11BB;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,2.2,0 ),COLORCC22BB;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,1.65,0 ),COLORDD33BB;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,1.1,0 ),COLOREE44BB;
STICKLINE(MACD>REF(MACD,1)AND MACD<0,0,MACD,0.55 ,0 ),COLORFF55BB;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,4,0 ),COLORFFAA00;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,3.3 ,0 ),COLORFFBB11;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,2.2,0 ),COLORFFCC22;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,1.65 ,0 ),COLORFFDD33;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,1.1 ,0 ),COLORFFEE44;
STICKLINE(MACD<=REF(MACD,1)AND MACD<0,0,MACD,0.55 ,0 ),COLORFFFF55;
IF(DIFF<0,DIFF,0),COLORRED,LINETHICK1;
IF(DIFF<0,0,DIFF),COLORYELLOW,LINETHICK1;
IF(DIFF<DEA,DIFF,DEA),COLOR00FF00,LINETHICK1;
IF(DIFF>DEA,DEA,DEA),COLORWHITE,LINETHICK1;
{- }
低位金叉:=CROSS(DIFF,DEA) AND DIFF<-0.1;
STICKLINE(低位金叉,0,-0.18,6,0),COLORYELLOW;
DRAWTEXT(低位金叉,-0.1,' 低位金叉'),COLORYELLOW;
JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));
二次金叉:=CROSS(DIFF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1;
STICKLINE(二次金叉,0,-0.18,6,0),COLORFF00FF;
DRAWICON(二次金叉,DEA*1.04,13) ;
DRAWTEXT(二次金叉,-0.1,' 二次金叉'),COLORFF00FF;
A1:=BARSLAST(REF(CROSS(DIFF,DEA),1));
底背离:=REF(CLOSE,A1+1)>CLOSE AND DIFF>REF(DIFF,A1+1) AND CROSS(DIFF,DEA);
STICKLINE(底背离,0,0.13,6,0),COLOR00FF00;
DRAWLINE(A1=0,DEA,底背离,DEA,0),COLORRED,LINETHICK2;
DRAWTEXT(底背离,0.1,' 底背离'),COLOR00FF00;
A2:=BARSLAST(REF(CROSS(DEA,DIFF),1));
顶背离:=REF(CLOSE,A2+1)<CLOSE AND REF(DIFF,A2+1)>DIFF AND CROSS(DEA,DIFF);
DRAWLINE(A2=0,DEA,顶背离,DEA,0),COLORGREEN,LINETHICK2;
{选股源码如下}
DIFF:=EMA(CLOSE,12)-EMA(CLOSE,27);
DEA:=EMA(DIFF,9);
JCCOUNT:=COUNT(CROSS(DIFF,DEA),BARSLAST(DEA>=0));
二次金叉:CROSS(DIFF,DEA) AND DEA<0 AND COUNT(JCCOUNT=2,21)=1;
来函数检测结果如下:
该公式没有未来函数
定制、编写公式指标请联系QQ或微信同号:88652583
输出DIFF:收盘价的12日指数移动平均-收盘价的27日指数移动平均
输出DEA:DIFF的9日指数移动平均
MACD赋值:2*(DIFF-DEA)
当满足条件MACD>=0时,在MACD和0位置之间画柱状线,宽度为4,1不为0则画空心柱.,COLORF00FF0
当满足条件MACD<0时,在MACD和0位置之间画柱状线,宽度为4,1不为0则画空心柱.,画白色
当满足条件MACD<1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLOR00AAFF
当满足条件MACD<1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为3.3,0不为0则画空心柱.,COLOR00BBFF
当满足条件MACD<1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为2.2,0不为0则画空心柱.,COLOR00CCFF
当满足条件MACD<1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为1.65,0不为0则画空心柱.,COLOR00DDFF
当满足条件MACD<1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为1.1,0不为0则画空心柱.,COLOR00EEFF
当满足条件MACD<1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为0.55,0不为0则画空心柱.,COLOR00FFFF
当满足条件MACD>=1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLOR0000AA
当满足条件MACD>=1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为3.3,0不为0则画空心柱.,COLOR0011BB
当满足条件MACD>=1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为2.2,0不为0则画空心柱.,COLOR0022CC
当满足条件MACD>=1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为1.65,0不为0则画空心柱.,COLOR0033DD
当满足条件MACD>=1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为1.1,0不为0则画空心柱.,COLOR0044EE
当满足条件MACD>=1日前的MACDANDMACD>0时,在0和MACD位置之间画柱状线,宽度为0.55,0不为0则画空心柱.,COLOR0055FF
当满足条件MACD>1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLORAA00BB
当满足条件MACD>1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为3.3,0不为0则画空心柱.,COLORBB11BB
当满足条件MACD>1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为2.2,0不为0则画空心柱.,COLORCC22BB
当满足条件MACD>1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为1.65,0不为0则画空心柱.,COLORDD33BB
当满足条件MACD>1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为1.1,0不为0则画空心柱.,COLOREE44BB
当满足条件MACD>1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为0.55,0不为0则画空心柱.,COLORFF55BB
当满足条件MACD<=1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为4,0不为0则画空心柱.,COLORFFAA00
当满足条件MACD<=1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为3.3,0不为0则画空心柱.,COLORFFBB11
当满足条件MACD<=1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为2.2,0不为0则画空心柱.,COLORFFCC22
当满足条件MACD<=1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为1.65,0不为0则画空心柱.,COLORFFDD33
当满足条件MACD<=1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为1.1,0不为0则画空心柱.,COLORFFEE44
当满足条件MACD<=1日前的MACDANDMACD<0时,在0和MACD位置之间画柱状线,宽度为0.55,0不为0则画空心柱.,COLORFFFF55
如果DIFF<0,返回DIFF,否则返回0,画红色,线宽为1
如果DIFF<0,返回0,否则返回DIFF,画黄色,线宽为1
如果DIFF如果DIFF>DEA,返回DEA,否则返回DEA,画白色,线宽为1
低位金叉赋值:DIFF上穿DEA AND DIFF<-0.1
当满足条件低位金叉时,在0和-0.18位置之间画柱状线,宽度为6,0不为0则画空心柱.,画黄色
当满足条件低位金叉时,在-0.1位置书写文字,画黄色
JCCOUNT赋值:统计上次DEA>=0距今天数日中满足DIFF上穿DEA的天数
二次金叉赋值:DIFF上穿DEA AND DEA<0 AND 统计21日中满足JCCOUNT=2的天数=1
当满足条件二次金叉时,在0和-0.18位置之间画柱状线,宽度为6,0不为0则画空心柱.,COLORFF00FF
当满足条件二次金叉时,在DEA*1.04位置画13号图标
当满足条件二次金叉时,在-0.1位置书写文字,COLORFF00FF
A1赋值:上次1日前的DIFF上穿DEA距今天数
底背离赋值:A1+1日前的收盘价>收盘价 AND DIFF>A1+1日前的DIFF AND DIFF上穿DEA
当满足条件底背离时,在0和0.13位置之间画柱状线,宽度为6,0不为0则画空心柱.,COLOR00FF00
当满足条件A1=0时,在DEA位置画直线起点,当满足条件底背离时,在DEA位置画直线终点,0表示是否延长.,画红色,线宽为2
当满足条件底背离时,在0.1位置书写文字,COLOR00FF00
A2赋值:上次1日前的DEA上穿DIFF距今天数
顶背离赋值:A2+1日前的收盘价<收盘价 AND A2+1日前的DIFF>DIFF AND DEA上穿DIFF
当满足条件A2=0时,在DEA位置画直线起点,当满足条件顶背离时,在DEA位置画直线终点,0表示是否延长.,画绿色,线宽为2
DIFF赋值:收盘价的12日指数移动平均-收盘价的27日指数移动平均
DEA赋值:DIFF的9日指数移动平均
JCCOUNT赋值:统计上次DEA>=0距今天数日中满足DIFF上穿DEA的天数
输出二次金叉:DIFF上穿DEA AND DEA<0 AND 统计21日中满足JCCOUNT=2的天数=1