请教王恺明老师,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

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

回复:我觉得你这又是另外的概念 high>某个值 是这样

你代替的作用是什么? xaverage(high,20) 全部代替 如果你只要最后一bar,那你写法也行

自己顶一下