# Kansas City Board of Trade (KCBT) setups. # Copyright 2005, 2006, 2007, 2008, 2009 Kevin Ryde # This file is part of Chart. # # Chart is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation; either version 3, or (at your option) any later version. # # Chart is distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along # with Chart. If not, see . package App::Chart::Suffix::KCBT; use 5.006; use strict; use warnings; use Locale::TextDomain 'App-Chart'; use App::Chart; use App::Chart::Barchart; use App::Chart::Suffix::MGEX; use App::Chart::Sympred; use App::Chart::TZ; use App::Chart::Weblink; our $timezone_kansas = App::Chart::TZ->new (name => __('Kansas City'), # no separate Olson entry for Kansas City choose => [ 'America/Kansas_City', 'America/Chicago'], fallback => 'CST+6'); my $pred = App::Chart::Sympred::Suffix->new ('.KCBT'); $timezone_kansas->setup_for_symbol ($pred); # (source-help! kcbt-symbol? # (__p('manual-node','Kansas City Board of Trade')) $App::Chart::Barchart::fiveday_pred->add ($pred); #------------------------------------------------------------------------------ # weblink - contract specs my %weblink_url = ('KW' => 'http://www.kcbt.com/contract_wheat.html', 'KE' => 'http://www.kcbt.com/symbols_trading_hours.html', 'MV' => 'http://www.kcbt.com/symbols_trading_hours.html'); App::Chart::Weblink->new (pred => $pred, name => __('KCBT _Contract Specifications'), desc => __('Open web browser at the Kansas City Board of Trade contract specifications for this commodity'), proc => sub { my ($symbol) = @_; return $weblink_url{App::Chart::symbol_commodity ($symbol)}; }); #----------------------------------------------------------------------------- # intraday # # Alternately to do it with the main App::Chart::Barchart # $App::Chart::Barchart::intraday_pred->add ($pred); # App::Chart::Suffix::MGEX::barchart_customer_intraday ($pred, 'http://customer1.barchart.com/cgi-bin/mri/kcbtchart.htx?page=chart&code=mfo&org=com&crea=Y'); # (lambda (symbol) # (let ((date-time (kcbt-quote-adate-time symbol))) # (set-first! date-time (adate->tdate (first date-time))) # date-time)) 1; __END__