请帮忙写一个macd红绿柱面积公式 macd是有连续红柱和连续绿柱组成,呈现出正弦波浪形,请写一下,MACD一段连续红绿柱子的数字之和。【每根柱子都有一个数值,没一段连续大于等于3根连续红/绿柱子之和】 谢谢 |
s:=12;
p:=26;
m:=9;
DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA : =EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA);
nn1:barslast(macd1>0);
nn2:barslast(macd1<0);
ss1:=sum(macd1,ref(nn2+1,1));
ss2:=sum(macd1,ref(nn1+1,1));
if macd1<0 and ref(macd1>0,1) then ss:=ss1;
if macd1>0 and ref(macd1<0,1) then ss:=ss2;
runmode:0;
s:=12;
p:=26;
m:=9;
DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA : =EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA),colorstick;
nn1:barslast(macd1>0);
nn2:barslast(macd1<0);
ss1:=sum(macd1,ref(nn2+1,1));
ss2:=sum(macd1,ref(nn1+1,1));
if macd1<0 and ref(macd1>0,1) then ss:=ss1;
if macd1>0 and ref(macd1<0,1) then ss:=ss2;
sss:ss;
最后一句改成
sss:ss,linethick0;
runmode:0;
s:=12;
p:=26;
m:=9;
DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA : =EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA),colorstick;
nn1:=barslast(macd1>0);
nn2:=barslast(macd1<0);
ss1:=sum(macd1,ref(nn2+1,1));
ss2:=sum(macd1,ref(nn1+1,1));
if macd1<0 and ref(macd1>0,1) then ss:=ss1;
if macd1>0 and ref(macd1<0,1) then ss:=ss2;
sss:ss,linethick0;