关于内建函数XAverage应该怎么理解?

翻看了XAverage的源码:

Params
    Numeric Price(10);                //数值型序列值
    Numeric Length(10);             //周期数
Vars
    Numeric sFcactor;
    Series<Numeric> XAvgValue;
Begin
    sFcactor = 2 / ( Length + 1 );
    if (CurrentBar == 0 )
    {
        XAvgValue = Price;
    }else
    {
        XAvgValue = XAvgValue[1] + sFcactor * ( Price - XAvgValue[1] ) ;
    }    
    Return XAvgValue;
End

问题如下:

1.求老师告知, XAvgValue = XAvgValue[1] + sFcactor * ( Price - XAvgValue[1] )这段应该怎么理解?

2.XAvgValue 和 Average  有啥区别?

3.XAverage(TrueRange,ATRLength)与 AvgTrueRange(Numeric Length) 有什么区别?

内建函数ProfitTrackExit阅读理解问题
内建函数怎么引用
tick该怎么理解
开仓仓位应该怎么写?
XAverage和WAverage
很多内建函数都没有啊
信号不稳定的第2种情况怎么理解?
XAverage与Average的区别
SetBeginBarMaxCount中设置最大起始bar数这个怎么理解
内建函数多个返回值如何处理

xaverage就是平时讲的ema