Hi, I can't seem to autostudy. I've looked at the archives, and I know I need to study at least one class in order to autostudy others. But when I do the below I get:
[EMAIL PROTECTED]:~/Finance-IB-TWS/t$ perl demo.pl Can't locate object method "new" via package "com::ib::client::Contract" (perhaps you forgot to load "com::ib::client::Contract"?) at demo.pl line 38, <GEN8> line 16. If I uncomment the studying of the Contract class everything works. Maybe I misunderstand autostudy, but I thought it was an ease of use thing, so you don't have to list every java class you might use Thanks Jay use Finance::IB::TWS; use Finance::IB::TWS::callback; use Inline ( Java => 'STUDY', AUTOSTUDY => 1, STUDY => [ 'com.ib.client.EClientSocket', # 'com.ib.client.Contract', ], ); my $callback = Finance::IB::TWS::callback->new(); my $tws = Finance::IB::TWS->new(callback=>$callback); my $ib = $tws->get_EClientSocket(); my $api = $tws->get_api(); #### Host Port Client_ID #### ---- ---- --------- my @tws_GUI_location = qw/ 127.0.0.1 7496 15 /; $ib->eConnect(@tws_GUI_location); $api->OpenCallbackStream() ; my $flag = 1; while ((my $got_data = $api->WaitForCallback(.01)) > -1) { if ($got_data) { print "process data\n"; $api->ProcessNextCallback() ; } else { if ($flag) { my $contract = com::ib::client::Contract->new(); $contract->{m_symbol} = 'QQQQ'; $contract->{m_secType} = 'STK'; $contract->{m_exchange} = 'SMART'; my $contract_id = 50; $ib->reqMktData($contract_id, $contract); $flag=0; } print "No data to process\n"; } }