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,那你写法也行
自己顶一下