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
閱讀更多 依之翊 的文章