求条件成立的最低和最高值

{MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; MACDdea = XAverage(MACDDiff,MACDLength); up0=NthCon (crossover(MACDDiff,MACDdea),1)+1; dn0=NthCon (CrossUnder(MACDDiff,MACDdea),1)+1; if (crossover(MACDDiff,MACDdea)) { up_low =lowest(low, dn0);//MACD两条线金叉时求Diff与Dea死叉以来的最低值 } if (crossover(MACDdea,MACDDiff)) { dn_high =Highest(High, up0);//MACD两条线死叉时求Diff与Dea金叉以来的最低值 } PlotNumeric("H1", dn_high); PlotNumeric("L1", up_low); } 老师好,请问我求两条注释的值,这样写哪里不对,我加载了看画线数值不对

{MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; MACDdea = XAverage(MACDDiff,MACDLength); up0=NthCon (crossover(MACDDiff,MACDdea)&&CountIf(MACDdiff[1]<MACDdea[1],10)>=10,1)+1;//上升条件:金叉时,距离死叉10周期以上 dn0=NthCon (CrossUnder(MACDDiff,MACDdea)&&CountIf(MACDdiff[1]>MACDdea[1],10)>=10,1)+1;//下降条件:死叉时,距离金叉10周期以上 ll=lowest(low,dn0); if (crossover(MACDDiff,MACDdea)&&CountIf(MACDdiff[1]<MACDdea[1],10)>=10)//上升条件:金叉时,距离死叉10周期以上 { up_low =ll;//MACD两条线金叉时求Diff与Dea死叉以来的最低值 } hh=Highest(High,up0) ; if (crossover(MACDdea,MACDDiff)&&CountIf(MACDdiff[1]>MACDdea[1],10)>=10)//下降条件:死叉时,距离金叉10周期以上 { dn_high =hh;//MACD两条线死叉时求Diff与Dea金叉以来的最低值 } if (Low[1]>dn_high[1]-(dn_high-up_low)*0.25 && marketposition <=0) { Buy(1,open); } if (High[1]<up_low[1]+(dn_high-up_low)*0.25 && marketposition >=0) { SellShort(1,open); } PlotNumeric("Hh", dn_high); PlotNumeric("Ll", up_low); } 老师您好,我上面备注,上升条件和下降条件中,之前满足金叉或死叉10K线以上才有效,加这个条件为什么没效果呢?CountIf(MACDdiff[1]<MACDdea[1],10)>=10 CountIf(MACDdiff[1]>MACDdea[1],10)>=10

在 if 之前,计算 lowest 赋值给一个临时变量 LL,计算 highest 赋值给一个临时变量 HH; 在 if 里面, up_low = LL; dn_high = HH;