API Release Notes - Build 9.62

API Release Notes - Build 9.62

The modifications below are in build 9.62 of the TWS API. Please note that all the enhancements for release 9.62 require the minimum server version 43 (TWS 889).

For clarification on any of the items listed, refer to the appropriate section in the API Reference Guide, or send us an email at API Support.

Enhancements
New POSIX API and Test Client

The C++ API code has been refactored so it can be built on any POSIX-compliant platform. Use this new POSIX API to build a TWS API on Linux, and on Windows in non-MFC applications.

Note: Although the pre-existing public interface has been preserved, you must recompile your client applications.

This API beta release also includes a POSIX test client. The API installation directory includes these new directories for the POSIX API: PosixSocketClient and TestPosixSocketClient. The POSIX test client uses the same methods as the C++ Socket client, plus it exposes several extra methods that clients must call when data is available on a socket for read/write. Refer to TestPosixSocketClient as an example. Please note that this test client is greatly simplified. For real POSIX API applications, you will have to use a select system of some kind to manage several sockets and/or asynchronous events.

Required Validation for Precautionary Constraints

Modifications to the Precautionary Constraints in the TWS order Presets page, described in the next paragraph, has precipitated the required validation of these constraints for orders submitted through the API. Users can override this mandatory validation from the API or from within TWS. From within the API, set the overridePercentageConstraints parameter in the Order object to TRUE using “1.” In TWS, enter zero in the Precautionary Value fields that have a default, including the Size Limit and Total Value Limit fields, and ensure that there is NO value in the Percentage and Number of ticks constraint fields.

In TWS, the Precautionary Settings on the Preset page now include system default limits in both the Size Limit and Total Value Limit fields. The system-defined Size Limit is (Default Size) * 5. The Total Value Limit set by the system is 100,000 USD or equivalent. To disable these limit fields, enter zero.

DDE for Excel API Sample Spreadsheet Updates

The DDE for Excel API sample spreadsheet (TwsDde.xls) has been updated with the following user interface improvements:

Note: The VBA code for the DDE for Excel sample spreadsheet has not been changed.

New ActiveX for Excel Sample Spreadsheet

This API beta release includes a new ActiveX for Excel sample spreadsheet, TwsActiveX.xls. This new spreadsheet duplicates the functionality of the DDE for Excel API spreadsheet but internally uses an ActiveX component. One of the benefits of using this spreadsheet is that it can connect to a TWS that is running on a remote PC. The DDE for Excel API spreadsheet cannot do this.

The ActiveX for Excel API sample spreadsheet includes these tabbed pages:

General

This page is new in the ActiveX for Excel spreadsheet. It is not available in the DDE for Excel sample spreadsheet.

Tickers

The following buttons available on the Tickers page of the DDE for Excel sample spreadsheet are NOT available on the Tickers page of the ActiveX for Excel sample spreadsheet:

Bulletins

This page is new to the ActiveX for Excel sample spreadsheet. It is not available in the DDE for Excel sample spreadsheet.

Market Depth

The following button available on the Market Depth page of the DDE for Excel sample spreadsheet is NOT available on the Market Depth page of the ActiveX for Excel sample spreadsheet:

Basic Orders

Advanced Orders

The functionality of this page is the same as Basic Orders page. It is intended to improve ease of learning for orders that require the use of extended order attributes. This page includes mouseover help for Bracket, VOL, Trailing Stop Limit, Scale and Relative orders.

Extended Order Attributes

The functionality of this page is the same as Extended Order Attributes page in the DDE for Excel sample spreadsheet.

Open Orders

The following button available on the Open Orders page of the DDE for Excel sample spreadsheet is NOT available on the Open Orders page of the ActiveX for Excel sample spreadsheet:

Account

Portfolio

The following buttons available on the Portfolio page of the DDE for Excel sample spreadsheet are NOT available on the Portfolio page of the ActiveX for Excel sample spreadsheet:

Executions

The following button available on the Executions page of the DDE for Excel sample spreadsheet is NOT available on the Executions page of the ActiveX for Excel sample spreadsheet:

Historical Data

Contract Details

Bond Contract Details

Real Time Bars

This page is new in the ActiveX for Excel spreadsheet. It is not available in the DDE for Excel sample spreadsheet.

Market Scanner

Fundamentals

This page is new in the ActiveX for Excel spreadsheet. It is not available in the DDE for Excel sample spreadsheet.

Advisors

The functionality of this page is the same as Basic Orders and Advanced Orders pages. It is intended to improve ease of learning for FA orders. This page includes mouseover help.

Log

This page is new in the ActiveX for Excel spreadsheet. It is not available in the DDE for Excel sample spreadsheet.

Note: The Conditional Orders and Executions Reporting pages on the DDE for Excel spreadsheet are NOT included in the ActiveX for Excel spreadsheet because they are not supported by the TWS ActiveX component.

ContractDetails Passes More Information to the Client

ContractDetails now passes the following additional information to the client:

This enhancement requires the minimum server version 43 (TWS 889).

New End Marker for Tick Snapshots

There is a new callback, tickSnapshotEnd(), that is called called to notify customers when a snapshot market data subscription has been fully handled and there is nothing more to wait for. This also covers the timeout case.

This enhancement requires the minimum server version 43 (TWS 889).

Changes and Fixes
Important Bug Fixes

This release includes important bug fixes and supercedes the previous API Beta release, 9.61. If you have already installed the 9.61 beta release, we advise you not to use it. You should install this 9.62 Beta release instead.

RTVolume Generic Tick Type and mdoff Flag

The generic tick type RTVolume (Integer ID Value 233) is now accessible via the API and recognized by the test clients provided with the API software installation. Note that this change does not affect the library code.

Also, a new flag called mdoff has been added to the generic tick tags string. mdoff blocks regular market data so that only specified generic ticks are received. In response to a 233,mdoff request, pure RTVolume data will be returned without any additional records.

This enhancement requires the minimum server version 43 (TWS 889).

Using Negative API Order ID Numbers

The way TWS handles API order IDs for orders that automatically bind to an API client as a result of reqOpenOrders or reqAutoOpenOrders calls or volatility hedging orders has been changed. Users now have the option of configuring TWS to use negative API order ID numbers (-2, -3, -4, and so on) in these situations.

On the TWS Global Configuration API screen, there is a check box called "Use negative numbers to bind automatic orders." If this flag is checked, orders that are automatically bound to an API client as a result of reqOpenOrders or reqAutoOpenOrders calls or system-generated orders like volatility hedging orders, will be assigned negative API Order ID numbers. If this flag is unchecked, orders bound as a result of reqOpenOrders or reqAutoOpenOrders calls will be assigned incremental API Order ID numbers. Volatility hedging orders will be assigned API Order ID numbers in the format “parent order API ID + 1” when possible.

If your favorite API application stops working, uncheck the "Use negative numbers to bind automatic orders" box on the TWS API Configuration screen.

This enhancement requires the minimum server version 43 (TWS 893).

 

© 2001 - 2009 Interactive Brokers LLC. All rights reserved. Sun, Sun Microsystems, the Sun Logo and Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Excel is a trademark or registered trademark of Microsoft Corporation in the United States and/or other countries.