Finance::InteractiveBrokers::TWS is a Perl module that lets you talk to Interactivebrokers Trader's Workstation using Perl.
This module is a wrapper around InteractiveBroker's Trader's Workstation (TWS) Java interface, that lets one interact with the TWS using Perl, via the vendor supplied API. This means that all the functionality available to Java programmers is also available to you.
SYNOPSIS
Methods implemented by Finance::InteractiveBrokers::TWS
use Finance::InteractiveBrokers::TWS;
my $tws = Finance::InteractiveBrokers::TWS->new(callback=>$callback);
my $callback = $tws->get_callback();
my $rc = $tws->eConnect($host, $port, $client_id);
my $rc = $tws->eDisconnect();
my $rc = $tws->isConnected(@parms);
my $rc = $tws->process_messages($seconds_to_wait);
Shortcuts for instantiating IB Java classes
my $combo_leg = $tws->ComboLeg->new(@parms);
my $contract_details = $tws->ContractDetails->new(@parms);
my $contract = $tws->Contract->new(parms);
my $execution_filter = $tws->ExecutionFilter->new(@parms);
my $execution = $tws->Execution->new(@parms);
my $order = $tws->Order->new(@parms);
my $scanner_sub = $tws->ScannerSubscription->new(@parms);
Shortcuts for asking TWS to do something for you
$tws->cancelHistoricalData(@parms);
$tws->cancelMktData(@parms);
$tws->cancelMktDepth(@parms);
$tws->cancelNewsBulletins(@parms);
$tws->cancelOrder(@parms);
$tws->cancelScannerSubscription(@parms);
$tws->exerciseOptions(@parms);
$tws->placeOrder(@parms);
$tws->replaceFA(@parms);
$tws->reqAccountUpdates(@parms);
$tws->reqAllOpenOrders(@parms);
$tws->reqAutoOpenOrders(@parms);
$tws->reqContractDetails(@parms);
$tws->reqExecutions(@parms);
$tws->reqHistoricalData(@parms);
$tws->reqIds(@parms);
$tws->reqManagedAccts(@parms);
$tws->reqMktData(@parms);
$tws->reqMktDepth(@parms);
$tws->reqNewsBulletins(@parms);
$tws->reqOpenOrders(@parms);
$tws->reqScannerParameters(@parms);
$tws->reqScannerSubscription(@parms);
$tws->requestFA(@parms);
$tws->setServerLogLevel(@parms);
Product's homepage
Requirements:
· Perl