期貨軟體TB系統原始碼解讀系列58-CCI

CCI即商品通道指標,這個指標我也不熟悉,但是看著簡單,所以就寫了,代碼及解讀如下:

Params

Numeric Length(14);//聲明數值參數Length,初值14.//

Numeric AvgLength(9);//聲明數值參數AvgLength,初值9.//

Vars

NumericSeries TmpValue; //聲明數值序列變量TmpValue。//

Numeric Mean( 0 ); //聲明數值變量Mean,初值0.//

Numeric AvgDev( 0 ); //聲明數值變量AvgDev,初值0.//

Numeric Counter( 0 ) ;//聲明數值變量Counter,初值0.//

NumericSeries CCIValue(0); //聲明數值序列變量CCIValue,初值0.//

Numeric CCIAvg; //聲明數值變量CCIAvg。//

Begin

TmpValue = High + Low + Close; //變量TmpValue = 最高價High + 最低價Low + 收盤價Close。//

Mean = AverageFC( TmpValue, Length ) ; //代入相應數值與週期,快速求得均值,即可得變量Mean值。//

AvgDev = 0 ;//變量AvgDev = 0.//

for Counter = 0 to Length - 1 //循環從0到13.//

{

AvgDev = AvgDev + Abs( TmpValue[Counter] - Mean ) ;//做個例子,代入第一個數值0,AvgDev = 0 + Abs(TmpValue[0] - Mean),同理代入第二個,第三個...直到第十四個13結束,算得一個總值AvgDev。//

}

AvgDev = AvgDev / Length ;//變量AvgDev = 總值AvgDev /10. //

if( AvgDev == 0)//假如變量AvgDev 等於0.//

CCIValue = 0; //則變量CCIValue 賦值為0.//

Else//變量AvgDev不等於0的。//

CCIValue = ( TmpValue - Mean ) / ( 0.015 * AvgDev ) ;//還是同理的,把上面求得的相應值代入進去,即可算得CCIValue值。//

CCIAvg = AverageFC(CCIValue, AvgLength );//代入變量CCIValue值與週期9,快速求得平均值,即為變量CCIAvg值。//

PlotNumeric("CCI",CCIValue);//畫線CCI,值為CCIValue值。//

PlotNumeric("CCIAvg",CCIAvg);//畫線CCIAvg,值為CCIAvg值。//

PlotNumeric("OverSell",-100);//畫線超賣,值為-100.//

PlotNumeric("OverBuy",100);//畫線超買,值為100.//

End

期貨軟件TB系統源代碼解讀系列58-CCI


分享到:


相關文章: