Params
//此处添加参数
Numeric N(8); //N日内最低价/最高价
Numeric M1(10); //输出MR0:RSV的M1日[1日权重]移动平均
Numeric M2(20); //输出MC1:MR0的M2日[1日权重]移动平均
Vars
//此处添加变量
Series<Numeric> RSV;
Series<Numeric> MR0;
Series<Numeric> MC1;
Events
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
RSV=(Close-LowD(N))/(HighD(N)-LowD(N))*100; //这个值是有的
MR0=SMA(RSV,M1,1); //这个值没有
MC1=SMA(MR0,M2,1); //这个值没有
PlotNumeric("RSV",RSV); //下面3条线画不出来
PlotNumeric("MR0",MR0);
PlotNumeric("MC1",MC1);
}
代码可以编译通过
请问下这个SMA的值为什么求不出来,而且线也画不出来
只要有除法就一定要做除数为0的异常处理。
因为除数不能为零啊!!!
RSV=(Close-LowD(N))/(HighD(N)-LowD(N))*100;
If(RSV == InvalidNumeric)
{
RSV = 0;
}
。。。
对对对,加了这个代码数字有了,但是线画不出来
你把下面语句加到最后面看看
。。。
Commentary("RSV= "+Text(RSV));
Commentary("MR0= "+Text(MR0));
Commentary("MC1= "+Text(MC1));
}
没有数值