需求确认下一个逻辑的处理。你这个是无论金叉在前还是死叉在前都无所谓吗?只要是前前一个金叉和死叉之前的最高价就行是吗?
//创建MACD
DIF1:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA1:=EMA(DIF1,9);
MACD1:=2*(DIF1-DEA1),STICK;
MACD2:=EMA(MACD1,3);
A:=CROSS(DIF1,DEA1);{A:金叉}
B:=CROSS(DEA1,DIF1);{B:死叉}
N:BARSLAST(A)+1,NODRAW;
N1:REF(N,N)+N,NODRAW;
N2:REF(N,N1)+N1,NODRAW;{最近一次,前第二次以及前第三次满足时分别距目前的周期数}
现峰H值:HHV(HIGH,N),NODRAW;
隔1峰H值:ref(ref(H,hhvbars(H,N1-N+1)),N-1),NODRAW;{倒数第二次死叉与倒数第一次死叉的区间}
隔2峰H值:ref(ref(H,hhvbars(H,N2-N+1)),N-1),NODRAW;{倒数第三次死叉与倒数第一次死叉的区间}
隔1峰H值:ref(ref(H,hhvbars(H,N1-N+1)),N-1),NODRAW;{倒数第二次死叉与倒数第一次死叉的区间}
隔2峰H值:ref(ref(H,hhvbars(H,N2-N+1)),N-1),NODRAW;{倒数第三次死叉与倒数第一次死叉的区间}
我这个有问题,取值不对,
我想要
上涨:
{倒数第一次金叉与倒数第一次死叉的区间}
{倒数第二次金叉与倒数第二次死叉的区间}
{倒数第三次金叉与倒数第三次死叉的区间} 的k线最高价 太麻烦客服了。
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(hhv(HIGH,n2),n1);
上上个死叉的最高价:ref(hhv(HIGH,n2),n3);
上一个金叉的最高价:ref(hhv(HIGH,n1),n2);
上上个金叉的最高价:ref(hhv(HIGH,n2),n4);