请教王恺明老师,xaverage函数的最新bar,用high代替close进行计算,我能想到的算法源码如下

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

求王恺明老师三重算法的重播
@王恺明老师:年前您讲的三步检查算法代理哪里能够看到?
用A函数代替图层函数
请教王凯明老师,对数据中心的自定义数据进行追加失败
关于开仓价格问题(buy Open\close\High\Low)
请教老师,用buy(0,close)下单,委托价的问题
HIGH/Close/low 函数调用时出错
请问barssinceentry 函数在tbquant里用什么代替?
请问各位老师XAverage是加权平均吗?
请教王老师,这样的策略有实盘价值吗?

感谢您的回答,代替的作用是只要high大于某值就开仓,并且避免用close造成的信号闪烁

我觉得你这又是另外的概念

high>某个值 是这样

你代替的作用是什么?

xaverage(high,20) 全部代替

如果你只要最后一bar,那你写法也行

自己顶一下