AverageFC这个函数为什么在加了BarStatus==2这条件出来的值会有问题?

AverageFC这个函数在加了BarStatus==2这条件出来的值,在交易时间内值不对,比如


If(BarStatus!=2)

{Return;}

MA1=AverageFC(Close,Length1);

MA2=AverageFC(Close,Length2);

MA3=AverageFC(Close,Length3);

MA4=AverageFC(Close,Length4);

PlotNumeric(MA1,MA1);

PlotNumeric(MA2,MA2);

PlotNumeric(MA3,MA3);

PlotNumeric(MA4,MA4);

输出,变成这样了

data-href=

将条件改为

If(BarStatus!=2)

{MA1=AverageFC(Close,Length1);

MA2=AverageFC(Close,Length2);

MA3=AverageFC(Close,Length3);

MA4=AverageFC(Close,Length4);

PlotNumeric(MA1,MA1);

PlotNumeric(MA2,MA2);

PlotNumeric(MA3,MA3);

PlotNumeric(MA4,MA4);}

或者

      If(CurrentBar==149)//当前bar值149

{MA1=AverageFC(Close,Length1);

MA2=AverageFC(Close,Length2);

MA3=AverageFC(Close,Length3);

MA4=AverageFC(Close,Length4);

PlotNumeric(MA1,MA1);

PlotNumeric(MA2,MA2);

PlotNumeric(MA3,MA3);

PlotNumeric(MA4,MA4);}

输出还是

data-href=

将条件去除


MA1=AverageFC(Close,Length1);

MA2=AverageFC(Close,Length2);

MA3=AverageFC(Close,Length3);

MA4=AverageFC(Close,Length4);

PlotNumeric(MA1,MA1);

PlotNumeric(MA2,MA2);

PlotNumeric(MA3,MA3);

PlotNumeric(MA4,MA4);

或者改为

      If(CurrentBar==CurrentBar)//当前bar值149

{}MA1=AverageFC(Close,Length1);

MA2=AverageFC(Close,Length2);

MA3=AverageFC(Close,Length3);

MA4=AverageFC(Close,Length4);

PlotNumeric(MA1,MA1);

PlotNumeric(MA2,MA2);

PlotNumeric(MA3,MA3);

PlotNumeric(MA4,MA4);}

data-href=

值就正常了,这是为什么?


为什么AverageFC函数计算出来的是无效值?
请教!!!RANGE下的执行顺序与 BarStatus==2
关于BarStatus 函数的功能
在OnBar里执行策略前判断BarStatus==2 再执行有什么用
请问下这个sma的值求不出来,而且线也划不出来
为什么加了条件后,k线显示是压缩的?
为什么同一个策略在策略研究和策略交易跑出来的绩效会有差异?
为什么用了这个函数加载公式会出现2个同样的周期??
函数返回值的问题
SetTBProfileString2File函数的问题

AverageFC 不要把函数如果调用了序列变量,尽量不要放在条件语句内

因为你有条件的进入,导致序列变量缺少赋值

If(BarStatus!=2)

{Return;}

条件前置也这样吗?

此外,close也是序列变量的一种吗