FC2ブログ

# Centered Moving Average
# 引数 期間 値 ($Period, $Price)
# 戻り値 CenteredMovingAverage (@cma)
sub CMA{
my ($Period, $Price) = @_;
my @cma = ();
my $t = 0;
my $p = 0;
my $count = @$Price - $Period;

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

if(($Period % 2) == 0){
# 偶数
$t = $Period / 2;
$p = $Period;
}else {
# 奇数
$t = ($Period - 1) / 2;
$p = $Period - 1;
}

# 計算
for(my $i = $count; $i >= 0 + $t; $i--){
my $avg = 0;
my $p_back = $$Price[$i + $t];
my $p_center = 0;
my $p_front = $$Price[$i - $t];

for(my $j = 1; $j < $p; $j++){
$p_center += $$Price[($i + $t) - $j];
}

if(($Period % 2) == 0){
# 偶数
$avg = ($p_back + (2 * $p_center) + $p_front) / (2 * $Period);
}else {
# 奇数
$avg = ($p_back + $p_center + $p_front) / $Period;
}

# Centered Moving Average
$cma[$i] = $avg;
}

return @cma;
}
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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