|
Location : Home > Languages > Perl > Package Title : Math::Business::EMA |
![]() |
Math::Business::EMA - 移動平均の計算
use Math::Business::EMA;
my $ema = new Math::Business::EMA;
set_days $ema 3;
my @closing_values = qw(
3 4 4 5 6 5 6 5 5 5 5
6 6 6 6 7 7 7 8 8 8 8
);
foreach(@closing_values) {
$ema->insert( $_ );
if( defined(my $q = $ema->query) ) {
# 最初の値はそのまま移動平均の値に
print "EMA value: $q.\n";
} else {
# 少なくとも $days 個のデータがないと定義されない
print "EMA value: n/a.\n";
}
}
# 長いリストにわずかな数値を追加するために再計算するのを防ぐために
$ema->start_with( $the_last_calculated_value );
# 値が挿入された場合は新たに計算を行う。
# すなわち、new() を実行することで set_days() を省略することができる。
my $longer_ema = new Math::Business::EMA(10);
Jettero Heller, <jettero@cpan.org>
http://www.voltar.org
perl(1), Math::Business::EMA(3).
![]() |
Updated : 2006/06/06 |