代码缺少返回值是什么原因

//------------------------------------------------------------------------// 简称: ADXandMAChannelSys_L// 名称: 基于ADX及EMA的交易系统多// 类别: 公式应用// 类型: 内建应用// 输出://----------------------------------------------------------------------//Params Numeric DMI_N(14); Numeric DMI_M(30); Numeric AvgLen(30); Numeric EntryBar(2);Vars Series<Numeric> oDMIPlus; Series<Numeric> oDMIMinus; Series<Numeric> oDMI; Series<Numeric> oADX; Series<Numeric> oADXR; Series<Numeric> oVolty; Series<Numeric> sDMI; Series<Numeric> sADX; Series<Numeric> cumm; Series<Numeric> sVolty; Numeric PlusDM; Numeric MinusDM; Numeric UpperMove; Numeric LowerMove; Numeric SumPlusDM(0); Numeric SumMinusDM(0); Numeric SumTR(0); Series<Numeric> AvgPlusDM; Series<Numeric> AvgMinusDM; Numeric SF; Numeric Divisor; Numeric i; Series<Numeric> TRValue; Series<Numeric> UpperMA(0); Series<Numeric> LowerMA(0); Series<Numeric> ADXValue(0); Series<Numeric> ChanSpread(0); Bool BuySetup(False); Series<Numeric> BuyTarget(0); Series<Numeric> MROBS(0); Series<Bool> Con1; Numeric Minpoint;Events OnBar(ArrayRef<Integer> indexs) { Minpoint=Minmove*PriceScale; SF = 1/DMI_N; TRValue = TrueRange; If(CurrentBar == DMI_N) { For i = 0 To DMI_N - 1 { PlusDM = 0 ; MinusDM = 0 ; UpperMove = High[i] - High[ i + 1 ] ; LowerMove = Low[ i + 1 ] - Low[i] ; If (UpperMove > LowerMove And UpperMove > 0 ) { PlusDM = UpperMove; }Else if (LowerMove > UpperMove And LowerMove > 0) { MinusDM = LowerMove ; } SumPlusDM = SumPlusDM + PlusDM ; SumMinusDM = SumMinusDM + MinusDM ; SumTR = SumTR + TRValue[i] ; } AvgPlusDM = SumPlusDM / DMI_N ; AvgMinusDM = SumMinusDM / DMI_N ; sVolty = SumTR / DMI_N ; } Else if(CurrentBar > DMI_N) { PlusDM = 0 ; MinusDM = 0 ; UpperMove = High - High[1] ; LowerMove = Low[1] -Low ; If (UpperMove > LowerMove And UpperMove > 0 ) { PlusDM = UpperMove; }Else if (LowerMove > UpperMove And LowerMove > 0 ) { MinusDM = LowerMove ; } AvgPlusDM = AvgPlusDM[1] + SF * ( PlusDM - AvgPlusDM[1] ) ; AvgMinusDM = AvgMinusDM[1] + SF * ( MinusDM - AvgMinusDM[1] ) ; sVolty = sVolty[1] + SF * ( TRValue - sVolty[1] ) ; } Else { oDMIPlus = InvalidNumeric; oDMIMinus = InvalidNumeric; oDMI = InvalidNumeric; oADX = InvalidNumeric; oADXR = InvalidNumeric; oVolty = InvalidNumeric; } If (sVolty > 0) { oDMIPlus = 100 * AvgPlusDM / sVolty ; oDMIMinus = 100 * AvgMinusDM / sVolty ; }Else { oDMIPlus = 0 ; oDMIMinus = 0 ; } Divisor = oDMIPlus + oDMIMinus ; if (Divisor > 0) { sDMI = 100 * Abs( oDMIPlus - oDMIMinus ) / Divisor; }else { sDMI = 0 ; } cumm=Cum( sDMI ); If(CurrentBar > 0) { If (CurrentBar <= DMI_N) { sADX = Cumm / CurrentBar ; oADXR = ( sADX + sADX[ CurrentBar - 1 ] ) * 0.5 ; }Else { sADX = sADX[1] + SF * ( sDMI - sADX[1] ) ; oADXR = ( sADX + sADX[ DMI_M - 1 ] ) * 0.5 ; } } oVolty = sVolty; oDMI = sDMI; oADX = sADX; ADXValue = oADX; }函数最后大括号语句 报错 说是 OnBar 缺少返回值 这个是什么原因。

新建错了,新建公式,s+,不是新建函数