最近研究PowerLanguage, 以下是遇到的问题: Bollinger Band 中计算标准差: 小弟的写法: MA = AverageFC(Close, Len); 平均线 MD = SquareRoot(Summation(Square(PriceValue - MA),Len) / Len); 标准差 MC内置标准差的写法: var1 = StandardDev( BollingerPrice, Length, 1 ) ; ------------------------------------------------- inputs: PriceValue( numericseries ), Len( numericsimple ), DataType( numericsimple ) ; Value1 = VariancePS( PriceValue, Len, DataType ) ; if Value1 > 0 then StandardDev = SquareRoot( Value1 ) else StandardDev = 0 ; ------------------------------------------------- inputs: PriceValue( numericseries ), Len( numericsimple ), DataType( numericsimple ) ; variables: var0( 0 ), var1( 0 ), var2( 0 ) ; VariancePS = 0 ; var0 = Iff( DataType = 1, Len, Len - 1 ) ; if var0 > 0 then begin var2 = Average( PriceValue, Len ) ; var1 = 0 ; for Value1 = 0 to Len - 1 begin var1 = var1 + Square( PriceValue[Value1] - var2 ) ; end ; VariancePS = var1 / var0 ; end ; --------------------------------------------------------------------- 小弟才疏学浅,刚接触策略,条件判断上面可能有些不周,但是基本逻辑“平方根N日的(C-MA)的两次方之和除以N ”还是遵循的,但奈何画出来的线图与内置线图差别很大,求高人帮助。。。
2个可能的地方吧: 1、如是总体,标准差公式根号内除以n 如是样本,标准差公式根号内除以(n-1) 因为我们大量接触的是样本,所以普遍使用根号内除以(n-1) 2、均线,内置线图用的是简单均线还是指数均线。