Server Message: code 2104: Market data farm connection is OK:usfarm $VAR1 = 'SK::Trade::Brokerage::InteractiveBrokersEvents::09:30'; $VAR2 = [ bless( { 'total_buying_power' => '*********', 'api_version' => '9.64', '_global' => bless( { 'start_of_day' => '1335446999.750', 'db' => bless( { 'prefixAllFuncCalls' => undef, 'dbh' => bless( { 'profile' => 0, 'password' => '****', 'dsn' => 'DBI:Pg:dbname=*****', 'transaction_depth' => 0, 'options' => { 'AutoCommit' => 1, 'RaiseError' => 1 }, '_dbh' => bless( {}, 'DBI::db' ), 'user' => 'trade', 'log' => bless( { 'is_OFF' => sub { "DUMMY" }, 'is_DEBUG' => sub { "DUMMY" }, 'ERROR' => sub { "DUMMY" }, 'is_INFO' => sub { "DUMMY" }, 'layout' => undef, 'category' => 'SK.Resource.DBH', 'is_TRACE' => sub { "DUMMY" }, 'DEBUG' => sub { "DUMMY" }, 'is_ALL' => sub { "DUMMY" }, 'additivity' => 1, 'TRACE' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'ALL' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_FATAL' => sub { "DUMMY" }, 'is_WARN' => sub { "DUMMY" }, 'FATAL' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'ERROR'}, 'appender_names' => [], 'WARN' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'ERROR'}, 'INFO' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'ERROR'}, 'level' => undef, 'num_appenders' => 0, 'OFF' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'ERROR'}, 'is_ERROR' => sub { "DUMMY" } }, 'Log::Log4perl::Logger' ), '_setup' => 1, 'test_mode' => 0 }, 'SK::Resource::DBH' ), 'log' => bless( { 'is_OFF' => sub { "DUMMY" }, 'is_DEBUG' => sub { "DUMMY" }, 'ERROR' => sub { "DUMMY" }, 'is_INFO' => sub { "DUMMY" }, 'layout' => undef, 'category' => 'SK.Resource.DBFunction', 'is_TRACE' => sub { "DUMMY" }, 'DEBUG' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_ALL' => sub { "DUMMY" }, 'additivity' => 1, 'TRACE' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'ALL' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_FATAL' => sub { "DUMMY" }, 'is_WARN' => sub { "DUMMY" }, 'FATAL' => $VAR2->[0]{'_global'}{'db'}{'log'}{'ERROR'}, 'appender_names' => [], 'WARN' => $VAR2->[0]{'_global'}{'db'}{'log'}{'ERROR'}, 'INFO' => $VAR2->[0]{'_global'}{'db'}{'log'}{'ERROR'}, 'level' => undef, 'num_appenders' => 0, 'OFF' => $VAR2->[0]{'_global'}{'db'}{'log'}{'ERROR'}, 'is_ERROR' => sub { "DUMMY" } }, 'Log::Log4perl::Logger' ) }, 'SK::Resource::DBFunction' ), 'symbol_names' => [ 'ARCA:SPY', 'ARCA:GLD', 'ARCA:USO', 'NASDAQ:QQQ', 'ARCA:UCO', 'ARCA:ERX', 'ARCA:ERY', 'ARCA:XLE', 'NYSE:ACN' ], '_plugin_loaded' => {}, 'is_training' => 0, 'record_tick_data' => 0, 'continue_processing' => 1, 'current_event' => undef, 'extra_argv' => [], 'system_complex' => [ { 'symbol_name' => 'ARCA:USO', 'trade_type' => 'all', 'indicator_configuration' => [ { 'time_period' => '10', 'buy_threshold' => '0', 'trend_a' => { 'time_period' => '233', 'symbol_name' => 'ARCA:SPY', 'type' => 'K', 'bar_interval' => '42', 'bar_type' => '1Tick', 'price_type' => 'trade_close' }, 'trend_b' => { 'time_period' => '233', 'symbol_name' => 'ARCA:SPY', 'type' => 'K', 'bar_interval' => '42', 'bar_type' => '1Tick', 'price_type' => 'trade_close' }, 'sell_threshold' => '-4', 'type' => 'Momentum' } ], 'exit_plan_by' => 'NotForced', 'enter_plan_by' => 'IndicatorOr', 'type' => 'Genetic', 'position_plan_configuration' => { 'sell_trail_by' => 0, 'buy_order_type' => 'market', 'sell_order_type' => 'market', 'buy_trail_by' => 0 } } ], '_plugin_ns' => 'Trade', 'assetmanager_feature' => [ 'Order::MaxShares', 'Order::MinShares', 'Order::RoundTo100', 'Positions::CloseAtEndOfDay', 'Positions::PreventOpenNearEndOfDay' ], '_systems' => [ bless( { 'plan_count_limit' => 1, 'indicator_configuration' => $VAR2->[0]{'_global'}{'system_complex'}[0]{'indicator_configuration'}, '_plugin_locator' => bless( { '_exceptions' => { 'except_hash' => {}, 'only_hash' => {}, 'only' => undef, 'except' => undef }, 'search_path' => [ 'SK::Trade' ] }, 'Module::Pluggable::Object' ), '_plugin_loaded' => { 'System::EnterPlan::IndicatorOr' => 'SK::Trade::System::EnterPlan::IndicatorOr', 'System::ExitPlan::NotForced' => 'SK::Trade::System::ExitPlan::NotForced' }, 'enter_plan_by' => 'IndicatorOr', 'indicators' => [ bless( { '_trend_a_obj' => bless( { '_global' => $VAR2->[0]{'_global'}, '_original_class_name' => 'SK::Trade::Trend::K', 'symbol_name' => 'ARCA:SPY', '_plugin_loaded' => {}, 'stock' => bless( { '_plugin_loaded' => {}, '_plugin_list' => [], 'qualified_symbol' => 'ARCA:SPY', '_plugin_ns' => 'Trade', 'log' => bless( { 'is_OFF' => sub { "DUMMY" }, 'is_DEBUG' => sub { "DUMMY" }, 'ERROR' => sub { "DUMMY" }, 'is_INFO' => sub { "DUMMY" }, 'layout' => undef, 'category' => 'SK.Trade.Symbol', 'is_TRACE' => sub { "DUMMY" }, 'DEBUG' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_ALL' => sub { "DUMMY" }, 'additivity' => 1, 'TRACE' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'ALL' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_FATAL' => sub { "DUMMY" }, 'is_WARN' => sub { "DUMMY" }, 'FATAL' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'}{'log'}{'ERROR'}, 'appender_names' => [], 'WARN' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'}{'log'}{'ERROR'}, 'INFO' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'}{'log'}{'ERROR'}, 'level' => undef, 'num_appenders' => 0, 'OFF' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'}{'log'}{'ERROR'}, 'is_ERROR' => sub { "DUMMY" } }, 'Log::Log4perl::Logger' ), '_bars' => { '42_1Tick' => bless( { 'stack_limit' => 100000, 'symbol' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'}, '_original_class_name' => 'SK::Trade::Bar::1Tick', '_listeners' => { 'bar_complete' => [ sub { "DUMMY" } ] }, '_global' => $VAR2->[0]{'_global'}, 'bar_counter' => 0, '_plugin_loaded' => {}, '_plugin_list' => [], '_plugin_ns' => 'Trade', '_aliases' => { 'bar_complete' => { '89096264' => [] } }, 'bar_event_refs' => { 'ticksize' => sub { "DUMMY" }, 'tickprice' => sub { "DUMMY" } }, 'bar_tick_smallest_unit' => 1 }, 'SK::Trade::Bar::1Tick' ) }, 'ticker_id' => 3302, 'price_ref' => sub { "DUMMY" }, '_global' => $VAR2->[0]{'_global'}, '_listeners' => { 'ticksize' => [ $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'}{'_bars'}{'42_1Tick'}{'bar_event_refs'}{'ticksize'} ], 'tickprice' => [ $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'}{'price_ref'}, $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'}{'_bars'}{'42_1Tick'}{'bar_event_refs'}{'tickprice'} ] }, '_original_class_name' => 'SK::Trade::Symbol', 'symbol' => 'SPY', 'security_type' => 'STOCK', '_aliases' => { 'ticksize' => { '95371696' => [] }, 'tickprice' => { '95371816' => [], '95374120' => [] } }, 'primary_exchange' => 'ARCA', 'exchange' => 'SMART' }, 'SK::Trade::Symbol' ), 'bar_interval' => '42', 'bar_type' => '1Tick', '_plugin_list' => [], 'time_period' => '233', '_plugin_ns' => 'Trade', 'price_type' => 'trade_close', '_bar' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'}{'_bars'}{'42_1Tick'} }, 'SK::Trade::Trend::K' ), '_plugin_loaded' => {}, 'sell_threshold' => '-4', '_plugin_list' => [], 'time_period' => '10', '_plugin_ns' => 'Trade', 'log' => bless( { 'is_OFF' => sub { "DUMMY" }, 'is_DEBUG' => sub { "DUMMY" }, 'ERROR' => sub { "DUMMY" }, 'is_INFO' => sub { "DUMMY" }, 'layout' => undef, 'category' => 'SK.Trade.Indicator.Momentum', 'is_TRACE' => sub { "DUMMY" }, 'DEBUG' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_ALL' => sub { "DUMMY" }, 'additivity' => 1, 'TRACE' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'ALL' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_FATAL' => sub { "DUMMY" }, 'is_WARN' => sub { "DUMMY" }, 'FATAL' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'log'}{'ERROR'}, 'appender_names' => [], 'WARN' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'log'}{'ERROR'}, 'INFO' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'log'}{'ERROR'}, 'level' => undef, 'num_appenders' => 0, 'OFF' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'log'}{'ERROR'}, 'is_ERROR' => sub { "DUMMY" } }, 'Log::Log4perl::Logger' ), 'stack_limit' => 100000, '_original_class_name' => 'SK::Trade::Indicator::Momentum', '_listeners' => { 'signal_change' => [ sub { "DUMMY" } ] }, '_global' => $VAR2->[0]{'_global'}, 'buy_threshold' => '0', '_trend_b_obj' => undef, '_aliases' => { 'signal_change' => { '86692272' => [] } }, 'events' => {}, 'trend_a' => $VAR2->[0]{'_global'}{'system_complex'}[0]{'indicator_configuration'}[0]{'trend_a'}, 'trend_b' => $VAR2->[0]{'_global'}{'system_complex'}[0]{'indicator_configuration'}[0]{'trend_b'} }, 'SK::Trade::Indicator::Momentum' ) ], '_plugin_list' => [ 'System::EnterPlan::IndicatorOr', 'System::ExitPlan::NotForced' ], '_plugin_ns' => 'Trade', '_plans' => [], 'trade_type' => 'all', 'log' => bless( { 'is_OFF' => sub { "DUMMY" }, 'is_DEBUG' => sub { "DUMMY" }, 'ERROR' => sub { "DUMMY" }, 'is_INFO' => sub { "DUMMY" }, 'layout' => undef, 'category' => 'SK.Trade.System.Genetic', 'is_TRACE' => sub { "DUMMY" }, 'DEBUG' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_ALL' => sub { "DUMMY" }, 'additivity' => 1, 'TRACE' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'ALL' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_FATAL' => sub { "DUMMY" }, 'is_WARN' => sub { "DUMMY" }, 'FATAL' => $VAR2->[0]{'_global'}{'_systems'}[0]{'log'}{'ERROR'}, 'appender_names' => [], 'WARN' => $VAR2->[0]{'_global'}{'_systems'}[0]{'log'}{'ERROR'}, 'INFO' => $VAR2->[0]{'_global'}{'_systems'}[0]{'log'}{'ERROR'}, 'level' => undef, 'num_appenders' => 0, 'OFF' => $VAR2->[0]{'_global'}{'_systems'}[0]{'log'}{'ERROR'}, 'is_ERROR' => sub { "DUMMY" } }, 'Log::Log4perl::Logger' ), 'position_plan_configuration' => $VAR2->[0]{'_global'}{'system_complex'}[0]{'position_plan_configuration'}, 'asset_manager' => bless( { 'is_end_of_day' => 0, '_consecutive_losses' => 0, '_plugin_locator' => bless( { '_exceptions' => { 'except_hash' => {}, 'only_hash' => {}, 'only' => undef, 'except' => undef }, 'search_path' => [ 'SK::Trade' ] }, 'Module::Pluggable::Object' ), '_plugin_loaded' => { 'AssetManager::Positions::CloseAtEndOfDay' => 'SK::Trade::AssetManager::Positions::CloseAtEndOfDay', 'AssetManager::Order::MinShares' => 'SK::Trade::AssetManager::Order::MinShares', 'AssetManager::Positions::PreventOpenNearEndOfDay' => 'SK::Trade::AssetManager::Positions::PreventOpenNearEndOfDay', 'AssetManager::Order::RoundTo100' => 'SK::Trade::AssetManager::Order::RoundTo100', 'AssetManager::Order::MaxShares' => 'SK::Trade::AssetManager::Order::MaxShares' }, '_plugin_list' => [ 'AssetManager::Order::MaxShares', 'AssetManager::Order::MinShares', 'AssetManager::Order::RoundTo100', 'AssetManager::Positions::CloseAtEndOfDay', 'AssetManager::Positions::PreventOpenNearEndOfDay' ], '_plugin_ns' => 'Trade', 'current_trading_day' => 0, 'assetmanager_feature' => $VAR2->[0]{'_global'}{'assetmanager_feature'}, 'ruin_percentage' => '0.25', 'near_end_of_day' => '1335470100.000', 'log' => bless( { 'is_OFF' => sub { "DUMMY" }, 'is_DEBUG' => sub { "DUMMY" }, 'ERROR' => sub { "DUMMY" }, 'is_INFO' => sub { "DUMMY" }, 'layout' => undef, 'category' => 'SK.Trade.AssetManager.AllInCash', 'is_TRACE' => sub { "DUMMY" }, 'DEBUG' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_ALL' => sub { "DUMMY" }, 'additivity' => 1, 'TRACE' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'ALL' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_FATAL' => sub { "DUMMY" }, 'is_WARN' => sub { "DUMMY" }, 'FATAL' => $VAR2->[0]{'_global'}{'_systems'}[0]{'asset_manager'}{'log'}{'ERROR'}, 'appender_names' => [], 'WARN' => $VAR2->[0]{'_global'}{'_systems'}[0]{'asset_manager'}{'log'}{'ERROR'}, 'INFO' => $VAR2->[0]{'_global'}{'_systems'}[0]{'asset_manager'}{'log'}{'ERROR'}, 'level' => undef, 'num_appenders' => 0, 'OFF' => $VAR2->[0]{'_global'}{'_systems'}[0]{'asset_manager'}{'log'}{'ERROR'}, 'is_ERROR' => sub { "DUMMY" } }, 'Log::Log4perl::Logger' ), 'asset_cash' => 98039612, 'min_shares' => 100, '_days_traded' => 1, '_original_class_name' => 'SK::Trade::AssetManager::AllInCash', '_listeners' => { 'sell_position' => [ sub { "DUMMY" } ], 'finish_plan' => [ sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" } ], 'buy_position' => [ sub { "DUMMY" } ] }, '_global' => $VAR2->[0]{'_global'}, '_plugin_app_ns' => [ 'SK' ], 'report_type' => 'off', 'max_shares' => 500, 'assets' => 98039612, '_aliases' => { 'sell_position' => { '79647832' => [] }, 'finish_plan' => { '79636872' => [], '79520984' => [], '79646560' => [], '79636752' => [], '79632744' => [], '79636224' => [], '79637424' => [], '79638456' => [], '79637928' => [], '79639488' => [], '79638264' => [], '79639200' => [], '79635864' => [], '79595680' => [], '79596712' => [], '79639104' => [] }, 'buy_position' => { '79647664' => [] } }, 'position_quantity' => {}, 'trade_stack' => [], 'is_near_end_of_day' => 0, '_consecutive_gains' => 0, 'asset_cash_start' => 0 }, 'Moose::Meta::Class::__ANON__::SERIAL::30' ), '_original_class_name' => 'SK::Trade::System::Genetic', '_listeners' => { 'finish_plan' => [ sub { "DUMMY" } ] }, '_global' => $VAR2->[0]{'_global'}, '_plugin_app_ns' => [ 'SK' ], 'stock' => bless( { 'symbol' => 'USO', '_original_class_name' => 'SK::Trade::Symbol', '_listeners' => { 'tickprice' => [ sub { "DUMMY" } ] }, '_global' => $VAR2->[0]{'_global'}, '_plugin_loaded' => {}, 'security_type' => 'STOCK', '_plugin_list' => [], 'qualified_symbol' => 'ARCA:USO', '_plugin_ns' => 'Trade', '_aliases' => { 'tickprice' => { '95253768' => [] } }, 'primary_exchange' => 'ARCA', '_bars' => {}, 'ticker_id' => 3301, 'price_ref' => $VAR2->[0]{'_global'}{'_systems'}[0]{'stock'}{'_listeners'}{'tickprice'}[0], 'exchange' => 'SMART' }, 'SK::Trade::Symbol' ), '_aliases' => { 'finish_plan' => { '79653880' => [] } }, 'exit_plan_by' => 'NotForced' }, 'Moose::Meta::Class::__ANON__::SERIAL::39' ) ], 'brokerage_config' => {}, 'brokerage' => 'InteractiveBrokers', 'log' => bless( { 'is_OFF' => sub { "DUMMY" }, 'is_DEBUG' => sub { "DUMMY" }, 'ERROR' => sub { "DUMMY" }, 'is_INFO' => sub { "DUMMY" }, 'layout' => undef, 'category' => 'SK.Trade', 'is_TRACE' => sub { "DUMMY" }, 'DEBUG' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_ALL' => sub { "DUMMY" }, 'additivity' => 1, 'TRACE' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'ALL' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_FATAL' => sub { "DUMMY" }, 'is_WARN' => sub { "DUMMY" }, 'FATAL' => $VAR2->[0]{'_global'}{'log'}{'ERROR'}, 'appender_names' => [], 'WARN' => $VAR2->[0]{'_global'}{'log'}{'ERROR'}, 'INFO' => $VAR2->[0]{'_global'}{'log'}{'ERROR'}, 'level' => undef, 'num_appenders' => 0, 'OFF' => $VAR2->[0]{'_global'}{'log'}{'ERROR'}, 'is_ERROR' => sub { "DUMMY" } }, 'Log::Log4perl::Logger' ), 'usage' => bless( { 'leader_text' => 'usage: trade.pl [-?abfrs] [long options...]', 'options' => [ { 'spec' => 'help|usage|?!', 'desc' => 'Prints this usage information.', 'name' => 'help', 'constraint' => {} }, { 'spec' => 'current_event=s', 'desc' => ' ', 'name' => 'current_event', 'constraint' => {} }, { 'spec' => 'log', 'desc' => ' ', 'name' => 'log', 'constraint' => {} }, { 'spec' => 'db', 'desc' => ' ', 'name' => 'db', 'constraint' => {} }, { 'spec' => 'dbh', 'desc' => ' ', 'name' => 'dbh', 'constraint' => {} }, { 'spec' => 'asset_manager|a=s', 'desc' => 'Module to use for money/position tracking', 'name' => 'asset_manager', 'constraint' => {} }, { 'spec' => 'assetmanager_feature|f=s@', 'desc' => 'Features to apply to the AssetManager', 'name' => 'assetmanager_feature', 'constraint' => {} }, { 'spec' => 'brokerage|b=s', 'desc' => 'Module to use for trade data/connection', 'name' => 'brokerage', 'constraint' => { 'required' => 1 } }, { 'spec' => 'brokerage_config=s%', 'desc' => 'Brokerage configuration options', 'name' => 'brokerage_config', 'constraint' => {} }, { 'spec' => 'record_tick_data|r!', 'desc' => 'Record stock data for future backtesting', 'name' => 'record_tick_data', 'constraint' => {} }, { 'spec' => 'report_type=s', 'desc' => 'Print a detailed report', 'name' => 'report_type', 'constraint' => {} }, { 'spec' => 'symbol_names|s=s@', 'desc' => 'Symbols to track', 'name' => 'symbol_names', 'constraint' => {} }, { 'spec' => 'is_training!', 'desc' => ' ', 'name' => 'is_training', 'constraint' => {} }, { 'spec' => 'trainer=s', 'desc' => ' ', 'name' => 'trainer', 'constraint' => {} } ] }, 'Getopt::Long::Descriptive::Usage' ), 'asset_manager' => 'AllInCash', 'current_timestamp' => '1335447289.59642', '_listeners' => { 'current_timestamp_change' => [ sub { "DUMMY" }, sub { "DUMMY" } ], 'ticksize' => [], 'trading_finish' => [ sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" } ], 'brokerage_connection_open' => [ sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" } ], 'trading_start' => [ sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" }, sub { "DUMMY" } ], 'tickprice' => [] }, '_original_class_name' => 'SK::Trade', 'source_directory' => '/home/rbt/trade/bin/..', 'ARGV' => [ '-b', 'InteractiveBrokers' ], 'report_type' => 'off', 'end_of_day' => '1335470400.000', '_aliases' => { 'current_timestamp_change' => { '79647208' => [], '79647040' => [] }, 'ticksize' => {}, 'trading_finish' => { '88352800' => [], '75867184' => [], '88376056' => [], '79646704' => [], '83307128' => [], '89301744' => [], '89230384' => [], '76485968' => [], '86452560' => [], '76173816' => [], '91318488' => [], '89471816' => [] }, 'brokerage_connection_open' => { '92482392' => [], '83271776' => [], '88376440' => [] }, 'trading_start' => { '88379224' => [], '78835448' => [], '88376824' => [], '88331600' => [], '88375888' => [], '86452752' => [], '75859168' => [], '52140808' => [] }, 'tickprice' => {} }, 'brokerage_obj' => bless( { 'ib_obj' => bless( { 'handler' => $VAR2->[0], 'ibclient' => bless( {}, 'Finance::InteractiveBrokers::SWIG::IBAPI::IBAPIClient' ), 'api' => bless( { 'version' => '9.64' }, 'Finance::InteractiveBrokers::API' ) }, 'Finance::InteractiveBrokers::SWIG' ), 'server_host' => 'localhost', 'account_code' => '********', 'last_order_id' => 12, '_global' => $VAR2->[0]{'_global'}, 'client_id' => 1, 'replay_data_cache' => 0, 'trade_start_refs' => { 'current_timestamp_change' => sub { "DUMMY" }, 'ticksize' => sub { "DUMMY" }, 'tickprice' => sub { "DUMMY" } }, 'symbol_tickers' => { '3301' => $VAR2->[0]{'_global'}{'_systems'}[0]{'stock'}, '3302' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'} }, 'process_messages_sleep_microseconds' => 500, 'last_ticker_id' => 3302, 'log' => bless( { 'is_OFF' => sub { "DUMMY" }, 'is_DEBUG' => sub { "DUMMY" }, 'ERROR' => sub { "DUMMY" }, 'is_INFO' => sub { "DUMMY" }, 'layout' => undef, 'category' => 'SK.Trade.Brokerage.InteractiveBrokers', 'is_TRACE' => sub { "DUMMY" }, 'DEBUG' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_ALL' => sub { "DUMMY" }, 'additivity' => 1, 'TRACE' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'ALL' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_FATAL' => sub { "DUMMY" }, 'is_WARN' => sub { "DUMMY" }, 'FATAL' => $VAR2->[0]{'_global'}{'brokerage_obj'}{'log'}{'ERROR'}, 'appender_names' => [], 'WARN' => $VAR2->[0]{'_global'}{'brokerage_obj'}{'log'}{'ERROR'}, 'INFO' => $VAR2->[0]{'_global'}{'brokerage_obj'}{'log'}{'ERROR'}, 'level' => undef, 'num_appenders' => 0, 'OFF' => $VAR2->[0]{'_global'}{'brokerage_obj'}{'log'}{'ERROR'}, 'is_ERROR' => sub { "DUMMY" } }, 'Log::Log4perl::Logger' ), '_position_plan_features' => [], 'server_port' => '****' }, 'SK::Trade::Brokerage::InteractiveBrokers' ), '_symbol_obj' => { 'ARCA:SPY' => $VAR2->[0]{'_global'}{'_systems'}[0]{'indicators'}[0]{'_trend_a_obj'}{'stock'}, 'ARCA:USO' => $VAR2->[0]{'_global'}{'_systems'}[0]{'stock'} } }, 'SK::Trade' ), 'available_funds' => '*********', 'log' => bless( { 'is_OFF' => sub { "DUMMY" }, 'is_DEBUG' => sub { "DUMMY" }, 'ERROR' => sub { "DUMMY" }, 'is_INFO' => sub { "DUMMY" }, 'layout' => undef, 'category' => 'SK.Trade.Brokerage.InteractiveBrokersEvents', 'is_TRACE' => sub { "DUMMY" }, 'DEBUG' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_ALL' => sub { "DUMMY" }, 'additivity' => 1, 'TRACE' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'ALL' => $VAR2->[0]{'_global'}{'db'}{'dbh'}{'log'}{'DEBUG'}, 'is_FATAL' => sub { "DUMMY" }, 'is_WARN' => sub { "DUMMY" }, 'FATAL' => $VAR2->[0]{'log'}{'ERROR'}, 'appender_names' => [], 'WARN' => $VAR2->[0]{'log'}{'ERROR'}, Call dispatch for 09:30 failed with: SK::Trade::Brokerage::InteractiveBrokersEvents received invalid event 30( ) at /usr/local/lib/perl/5.12.4/Finance/InteractiveBrokers/SWIG/EventHandler.pm line 147 Finance::InteractiveBrokers::SWIG::EventHandler::AUTOLOAD(undef) called at /usr/local/lib/perl/5.12.4/Finance/InteractiveBrokers/SWIG.pm line 136 eval {...} called at /usr/local/lib/perl/5.12.4/Finance/InteractiveBrokers/SWIG.pm line 135 Finance::InteractiveBrokers::SWIG::_event_dispatcher('09:30') called at /usr/local/lib/perl/5.12.4/Finance/InteractiveBrokers/SWIG.pm line 229 Finance::InteractiveBrokers::SWIG::AUTOLOAD('Finance::InteractiveBrokers::SWIG=HASH(0x5a6c128)') called at /home/rbt/trade/bin/../lib/SK/Trade/Brokerage/InteractiveBrokers.pm line 162 SK::Trade::Brokerage::InteractiveBrokers::process_messages('SK::Trade::Brokerage::InteractiveBrokers=HASH(0x5283a80)') called at /usr/local/lib/perl/5.12.4/Moose/Meta/Method/Delegation.pm line 110 SK::Trade::process_messages('SK::Trade=HASH(0x4858600)') called at /home/rbt/trade/bin/../lib/SK/Trade.pm line 386 SK::Trade::play_brokerage_ticks('SK::Trade=HASH(0x4858600)') called at /home/rbt/trade/bin/../lib/SK/Trade.pm line 296 SK::Trade::run('SK::Trade=HASH(0x4858600)') called at bin/trade.pl line 16 at /home/rbt/trade/bin/../lib/SK/Trade/Brokerage/InteractiveBrokers.pm line 162 'INFO' => $VAR2->[0]{'log'}{'ERROR'}, 'level' => undef, 'num_appenders' => 0, 'OFF' => $VAR2->[0]{'log'}{'ERROR'}, 'is_ERROR' => sub { "DUMMY" } }, 'Log::Log4perl::Logger' ), 'margin_multipler' => 1, 'interactive_brokers' => $VAR2->[0]{'_global'}{'brokerage_obj'}, 'api' => $VAR2->[0]{'_global'}{'brokerage_obj'}{'ib_obj'}{'api'} }, 'SK::Trade::Brokerage::InteractiveBrokersEvents' ) ];