均线、成交量、MACD三线金叉共振选股公式思路还是比较简单的,分别写出均线金叉、成交量的均量线金叉、MACD的快线和慢线金叉,最后用AND连接这三个条件。
一、编写选股公式所需通达信函数
1、EXIST函数
含义:是否存在
用法:EXIST(X,N),N周期内是否存在满足X条件
举例:EXIST(CROSS(MA(C,5),MA(C,10)),3) ,表示3日内是否存在5日均线、10日均线金叉,如果存在,结果为1,否则为0
2、FILTER函数
含义:过滤连续出现的信号
用法:FILTER(X,N),表示满足X条件后,将后面的N周期置为0
举例:FILTER(C>O,3),C>O表示阳线,FILTER(C>O,3)表示出现阳线之后,后面三天再次出现阳线也不会出现信号。看一眼下图,就明白了。
二、三线金叉选股公式编写
以5日均线、10日均线,5日均量线、10日均量线为例
MA5:=MA(C,5);{5日均线}
MA10:=MA(C,10);{10日均线}
V5:=MA(VOL,5);{5日均量线}
V10:=MA(VOL,10);{10日均量线}
DIF:=EMA(C,12)-EMA(C,26);{MACD指标快线}
DEA:=EMA(DIF,9);{MACD指标慢线}
A1:=CROSS(MA5,MA10);{5日均线、10日均线金叉}
A2:=CROSS(V5,V10);{5日均量线、10日均量线金叉}
A3:=CROSS(DIF,DEA);{快线、慢线金叉}
XG:A1 AND A2 AND A3;{三线金叉同时成立};
三、三线金叉选股公式改进
上面的公式中,用AND直接连接了三个金叉条件,表示三个金叉条件在同一天同时成立,这样的条件比较苛刻,符合条件的结果比较少。均线、均量线、MACD三线金叉只要在几日之内发生就可以,不一定要在同一天。用EXIST函数可以对公式进行改进优化。
MA5:=MA(C,5);{5日均线}
MA10:=MA(C,10);{10日均线}
V5:=MA(VOL,5);{5日均量线}
V10:=MA(VOL,10);{10日均量线}
DIF:=EMA(C,12)-EMA(C,26);{MACD指标快线}
DEA:=EMA(DIF,9);{MACD指标慢线}
MAJC:=CROSS(MA5,MA10);{5日均线、10日均线金叉}
VJC:=CROSS(V5,V10);{5日均量线、10日均量线金叉}
MACDJC:=CROSS(DIF,DEA);{快线、慢线金叉}
A1:=EXIST(MAJC,3);{最近三天存在均线金叉}
A2:=EXIST(VJC,3);{最近三天存在均量线金叉}
A3:=EXIST(MACDJC,3);{最近三天存在快线慢线金叉}
XG:FILTER(A1 AND A2 AND A3,2);{过滤信号,最近三天三个金叉条件都存在,满足该条件出信号,之后两天不出信号};
四、公式补充
上面的公式中,最后一句XG:FILTER(A1 AND A2 AND A3,2);,除了可以使用FILTER函数过滤信号,还可以使用在之前的文章中提到过的CROSS函数。XG:CROSS(A1 AND A2 AND A3,0.5);这样的写法可以实现相同的效果。