xaverage函数的最新bar,用high代替close进行计算,我能想到的算法源码如下,但实际执行过程中barstastus会由2变成1,导致策略不能正常执行,请问如何写才是正确的?如何才能实现xaverage函数最新bar用high来计算?
望王老师不吝赐教!
Params
    Numeric Price(10);                //数值型序列值
    Numeric Length(10);             //周期数
Vars
    Numeric sFcactor;
    Series<Numeric> XAvgValue;
Begin
    sFcactor = 2 / ( Length + 1 );
    if (CurrentBar == 0 )
    {
        XAvgValue = Price;
    }
 else if(BarStatus==2)
    {
        XAvgValue = XAvgValue[1] + sFcactor * ( high - XAvgValue[1] ) ;
    } 
    else (BarStatus==1)
    {
        XAvgValue = XAvgValue[1] + sFcactor * ( Price - XAvgValue[1] ) ;
    } 
    Return XAvgValue;
End
感谢您的回答,代替的作用是只要high大于某值就开仓,并且避免用close造成的信号闪烁
我觉得你这又是另外的概念
high>某个值 是这样
你代替的作用是什么?
xaverage(high,20) 全部代替
如果你只要最后一bar,那你写法也行
自己顶一下