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

//------------------------------------------------------------------------

// 简称: 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 缺少返回值  这个是什么原因。

onbar函数缺少返回值
为什么编译代码,提示我的OnInit()函数和bar()函数,缺少RETURN语句呢?这个OnInit()函数可以不需要返回值吧
成交更新事件域里面的代码不被执行,请问是什么原因
智大领峰代码编译返回缺少分号怎么处理?
参数优化无结果的原因是什么?
初学者,关于编译过程提示,出现OnBar函数缺少返回值的问题
这是什么原因?
废单,提示无效发单是什么原因?
自定义指数不生成是什么原因?
TBPY初始化失败,是什么原因?