FC2ブログ

# コモディティ・チャネル・インデックス Commodity Channel Index
# 引数 期間 高値 安値 終値 ($Period, \@High, \@Low, \@Close)
# 戻り値 CommodityChannelIndex (@cci)
sub CCI{
my ($Period, $High, $Low, $Close) = @_;
my @cci = ();
my $const = 0.015;
my $count = @$Close - ($Period + 1);

# 期間と配列数の確認
if(($Period <= 0) || ($count < 0) || (@$Close != @$High) || (@$Close != @$Low)){
return 0;
}

# 計算
for(my $i = $count; $i >= 0; $i--){
my @tp = ();
my $avg = 0;
my $md = 0;

# 平均
for(my $j = 0; $j < $Period; $j++){
$tp[$j] = ($$High[$i + $j] + $$Low[$i + $j] + $$Close[$i + $j]) / 3;
$avg += $tp[$j] ;
}
$avg = $avg / $Period;

# 平均偏差
for(my $j = 0; $j < $Period; $j++){
$md += abs($tp[$j] - $avg);
}
$md = $md / $Period;

# Commodity Channel Index
$cci[$i] = (($tp[0] - $avg) / ($const * $md));
}

return @cci;
}


参考URL
Commodity Channel Index - Wikipedia, the free encyclopedia
CCI (Commodity Channel Index) 商品チャンネル指数 考案者:ドナルド・ランバート(Donald Lambert) 1980年
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS