信号闪烁问题帮忙看看哪里需要修改的
Params Numeric ss(1);//开仓手数 Numeric Length(9); Numeric SlowLength(3); Numeric SmoothLength(3); Numeric M1(5); Numeric M2(60); Vars Series<Numeric> HighestValue; Series<Numeric> LowestValue; Series<Numeric> KValue; Numeric SumHLValue; Numeric SumCLValue; Series<Numeric> DValue; Series<Numeric> MA1; Series<Numeric> MA2; BOOL PDCON1; BOOL PKCON1; BOOL DCON1; BOOL KCON1; Numeric MyEntryPrice; Numeric MyExitPrice; Numeric MINPOINT; Events onBar(ArrayRef<Integer> indexs) { HighestValue = HighestFC(High, Length); LowestValue = LowestFC(Low, Length); SumHLValue = SummationFC(HighestValue-LowestValue,SlowLength); SumCLValue = SummationFC(Close - LowestValue,SlowLength); If(SumHLValue <> 0) { KValue = SumCLValue/SumHLValue*100; }Else { KValue = 0; } DValue = AverageFC(KValue,SmoothLength); MinPoint = MinMove*PriceScale;//取得合约的最小波动单位 MA1=Average(CLOSE,M1); MA2=Average(CLOSE,M2); PlotNumeric("MA1",MA1); PlotNumeric("MA2",MA2); DCON1=KValue[1]>DValue[1] && C[1]>MA1[1]; KCON1=KValue[1]<DValue[1] && C[1]<MA1[1]; //开仓指令 IF((DCON1) && MarketPosition!=1 && (MaxEntries==0||BarsSinceExit>=1 ||BarsSinceEntry >= 1)) { Buy(ss,open); } IF((KCON1) && MarketPosition!=-1 && (MaxEntries==0||BarsSinceExit>=1 ||BarsSinceEntry >= 1)) { SellShort(SS,open); } PKCON1=KValue[1]>DValue[1]; PDCON1=KValue[1]<DValue[1]; MyEntryPrice=AvgEntryPrice; //PlotNumeric("均价",AvgEntryPrice); If(MarketPosition == 1 and BarsSinceEntry>=1 ) { If(Close < MA1 && BarsSinceEntry>=1) { Sell(0,OPEN); } } If(MarketPosition == -1 and BarsSinceEntry>=1) { If(Close > MA1 && BarsSinceEntry>=1) { BuyToCover(0,OPEN); } } }大神帮忙解决一下信号闪烁问题