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);
输出,变成这样了
将条件改为
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);}
输出还是
将条件去除
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);}
值就正常了,这是为什么?
If(BarStatus!=2)
{Return;}
条件前置也这样吗?
此外,close也是序列变量的一种吗