#!/usr/bin/perl

  use strict;
  use warnings;

  use Data::Dumper;
  use Getopt::Long;

  use GT::Calculator;
  use GT::Conf;
  use GT::Eval;
  use GT::Tools qw(:conf :timeframe);


  my @symbols = qw(EURUSD USDCHF);

  my ($verbose,$help,$timeframe) = (0,0,'day');
  GetOptions( 'verbose!' => \$verbose, 
            'timeframe=s' => \$timeframe);

  my $tf=GT::DateTime::name_to_timeframe($timeframe);
  die("Invalid timeframe: $timeframe\n") unless(defined($tf));


  GT::Conf::load();
  my $db = create_standard_object("DB::" . GT::Conf::get("DB::module"));

  my $indicator = create_standard_object('I:FromTimeframe', '{I:EMA 14}');
  foreach my $code (@symbols) {
      my ($q, $calc) = get_timeframe_data($code, $tf, $db, 350);
      my $i = $q->count()-1;
      $indicator->calculate($calc, $i);
      my $value = $calc->indicators->get($indicator->get_name(), $i);
      die("Failed to calculate:\n".$indicator->get_name."\n\n") unless(defined($value));
      print "$code\t$value\n";
  }
