条件选股公式,假定当前MACD>0,比较两波红柱子之和:
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
N1:=SUMBARS(MACD>0 AND REF(MACD<0,1),1);
N2:=SUMBARS(MACD<0 AND REF(MACD>0,1),1);
N3:=SUMBARS(MACD>0 AND REF(MACD<0,1),2);
M1:=SUM(MACD,N1);
M2:=REF(SUM(MACD,N3),N2);
M1>=M2;
问题1:N1,N2,N3周期区间是否正确(变量导出图形验证是正确的,帮忙再确认一下)
问题2:公式M1,M2是否为下图所示红柱之和?
问题3:按此条件选股,有明显M1<M2的股票入选,可能是什么原因?
谢谢!
1.N1-N3是正确的。
2.M变量是要求单纯红柱只和,绿柱值算不算在内?因为如果当前是绿柱,M用sum计算时候绿柱值也是累加进去的。
这样就是只红柱累计进去。
M1:=SUM(if(MACD>0,MACD,0),N1);
你修改下m的定义方式,把绿柱时候值设成0. 你当前macd大于0 但是你sum时候还是会覆盖到前面绿柱时候的值。
好的。M2:=REF(SUM(MACD,N3),N2);
M2的定义方式有问题吗?应该不会把绿柱覆盖吧?
一样的如果当前是绿柱还会有点问题的。
可以这样做:
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA);
N1:SUMBARS(MACD>0 AND REF(MACD<0,1),1);
N2:SUMBARS(MACD>0 AND REF(MACD<0,1),2);
M0:SUM(IF(MACD>0,MACD,0),N2);//最近2段红柱值的总和
M1:SUM(if(MACD>0,MACD,0),N1);//最近一段红柱总和
M2:M0-M1;//倒数第二段红柱总和
这样应该简洁点吧,而且就算当前是绿柱也无所谓。