用sum函数。我之前给你的代码,只要你真的消化理解了,这个没有难度。自己尝试下。遇到具体问题我们再沟通。
DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26); 面积:ABS(DIFF-DEA); 上一个金叉面积:ref(hhv(面积,n1),n2); |
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);
n4:=sumbars(macd<0 and ref(macd>0,1),2);
//上死叉面积:ref(sum(macd,n2),n1);
//上上死叉面积:ref(sum(macd,n2),n3);
//上金叉面积:ref(sum(macd,n1),n2);
//上上金叉面积:ref(sum(macd,n1),n4);
//当前最新为死叉状态,取当前绿柱面积和上一次绿柱面积,否者因为当前是红柱,所以取距离当前位置最近的两次绿柱面积)。
倒数第一次死叉面积:if(macd<0,sum(macd,n2),ref(sum(macd,n2),n1));
倒数第二次死叉面积:if(macd<0,ref(sum(macd,n2),n1),ref(sum(macd,n2),n3));
倒数第一次金叉面积:if(macd>0,sum(macd,n1),ref(sum(macd,n1),n2));
倒数第二次金叉面积:if(macd>0,ref(sum(macd,n1),n2),ref(sum(macd,n1),n4));