App-Chart
view release on metacpan or search on metacpan
devel/closed-form.pl view on Meta::CPAN
my $in_series = ConstantSeries->new (array => \@input);
my $ma_series = $in_series->$method ($N);
my $hi = $ma_series->hi;
$ma_series->fill (0, $hi);
my $output = $ma_series->values_array;
my @weights = @{$output}[$warmup .. $hi];
print "$basename: ",Data::Dumper->Dump([\@weights],['weights']);
}
my $N = 15;
my $N2 = int($N/2);
my $NS = int(sqrt($N));
my $p = wma($N2);
print "N2 ",$p,"\n\n";
my $q = wma($N);
print "N ",$q,"\n\n";
$p = $p->multiply_scalar(2); # - $q;
print "2*N ",$p,"\n\n";
$p -= $q;
print "2*N-N ",$p,"\n\n";
exit 0;
$p = wma($NS, $p);
print $p,"\n\n";
foreach my $i (0 .. $p->degree) {
print "$i ",$p->coeff($i)->numify*100,"\n";
}
weights (description => "Hull moving average weights",
basename => "chart-hull-weights",
method => 'HullMA',
N => 15,
show_count => 20);
exit 0;
package ConstantSeries;
use strict;
use warnings;
use base 'App::Chart::Series';
sub new {
my ($class, %option) = @_;
my $array = delete $option{'array'} || die;
$option{'hi'} = $#$array;
$option{'name'} //= 'Const';
$option{'timebase'} ||= do {
require App::Chart::Timebase::Days;
App::Chart::Timebase::Days->new_from_iso ('2008-07-23')
};
return $class->SUPER::new (arrays => { values => $array },
%option);
}
sub fill_part {}
( run in 0.823 second using v1.01-cache-2.11-cpan-ceb78f64989 )