请教macd金叉死叉问题
初学tb编程,请教macd金叉死叉的问题,我想请教,在使用macd函数过程中,如果我想满足以下条件:我想两个死叉之间的diff值作比较,同时要确保两个死叉中间的diff值和dea值不能跌破0轴,不清楚该怎么写,请指教,万分感谢 Params Numeric n1(12); Numeric n2(26); Numeric FastLength(12); Numeric SlowLength(26); Numeric AvgLength(9); Vars Numeric MACDDiff; Numeric MACDDEA; Numeric MACDValue; series<bool> golden(false); Series<bool> ending(false); series<Numeric> new_h; series<Numeric> new_l; series<Numeric> tem_new_h; //金叉过程中临时高点赋值 Series<Numeric> tem_new_l; //死叉过程红临时低点赋值 series<Numeric> new_ex_h; //新死叉形成记录前一个死叉的高点 Series<Numeric> new_ex_l; //新死叉形成记录前一个死叉的低点 series<Numeric> new_ex_h1; //新死叉形成记录前两个死叉的高点 Series<Numeric> new_ex_l1; //新死叉形成记录前两个死叉的低点 Series<Numeric> MACD_h; Series<Numeric> MACD_l; Series<Numeric> tem_MACD_h; Series<Numeric> tem_MACD_l; Series<Numeric> MACD_ex_h; Series<Numeric> MACD_ex_l; Series<Numeric> MACD_ex_h1; Series<Numeric> MACD_ex_l1; series<Numeric> ma1; series<numeric> ma2; Events OnBar(ArrayRef<Integer> indexs) { MACDDiff = xAverage( close , FastLength) - XAverage( close , SlowLength) ; MACDDEA = XAverage( MACDDiff , AvgLength); MACDValue = MACDDiff - MACDDEA ; golden = CrossOver (MACDDiff, MACDDEA); ending = CrossUnder (MACDDiff,MACDDEA); //PlotBool("golden",golden,close); if (CurrentBar == 0) { tem_new_h = 0; tem_MACD_h = 0; tem_new_l = 0; tem_MACD_l = 0; } else { tem_new_h = Highest(H[1],NthCon(golden,0)); tem_MACD_h = Highest(MACDDiff,NthCon(golden,0)); tem_new_l = Lowest(L[1],NthCon(ending,0)); tem_MACD_l = Lowest( MACDDiff,NthCon(ending,0)); //PlotNumeric("tem_new_h",tem_new_h); //PlotNumeric("tem_MACD_h",tem_MACD_h); //PlotNumeric("tem_new_l",tem_new_l); //PlotNumeric("tem_MACD_l",tem_MACD_l); if (ending == True) { new_h = tem_new_h; MACD_h = tem_MACD_h; //PlotNumeric("new_h",new_h); } if (golden == True) { new_l = tem_MACD_l; MACD_l = tem_MACD_l; } if (new_h <> new_h[1]) { new_ex_h = new_h[1]; new_ex_h1 = new_ex_h[1]; MACD_ex_h = MACD_h[1]; MACD_ex_h1 = MACD_ex_h[1]; //PlotNumeric("MACD_ex_h",MACD_ex_h); //PlotNumeric("MACD_ex_h1",MACD_ex_h1); } if (new_l <> new_l[1]) { new_ex_l = new_l[1]; new_ex_l1 = new_ex_l[1]; MACD_ex_l = MACD_l[1]; MACD_ex_l1 = MACD_ex_l[1]; } } }