Trading-shim Changelog

New in version 100831

September 1st, 2010
  • The shim now provides multi-version support for API levels 17 through 49 (the current IB TWS server API level) so that message formats as parsed vary to accord with the output of the IB TWS for that API level. This provides access to a number of previously inaccessible message attributes, such as the commission information included with the newer versions of the open order message.

New in version 100730 (July 31st, 2010)

  • As part of ongoing work on extending API level version coverage, this release adds a generic tick type list argument to the market data command, enlarges the set of tick indices and labels, and extends the number of market tick message types. In brief: you may now add a generic tick type list, e.g.: [100, 101, 104, 106], as the last argument of your market data commands, after the contract expression, and before the semicolon; or not, as you wish. Note: there are other, not yet documented tick types, ticks, and tick message types that will be added later as discovered.

New in version 100630 (July 1st, 2010)

  • This version adds the OrderLag configuration variable to control order pacing.
  • This time delay works to avoid 2102 errors from the IB tws ("Unable to modify this order as it's still being processed").
  • This release validates the shim for server-side API levels of 46, 47, and 49 (IB seems to have skipped 48), and fixes the version mismatch warnings for market data.

New in version 090930 (October 1st, 2009)

  • This release modifies order states to be consistent with those used by the IB TWS, extends the rule to choose the order ID start value so that order IDs are unique across sessions, has additional improvements in memory management, provides a "warn" option to list SQL warnings, and has various other bugfixes.

New in version 090313 (March 13th, 2009)

  • The command language has been extended to accept contract value expressions for stocks and futures in commands for subscriptions for price data, both market data and market depth, and queries for history data. E.g., the expression STK:SMART:AMAT:USD refers to the symbol NYSE:AMAT, though routed via SMART, and FUT:ECBOT:YM:USD:20090320 to the dow mini expiring next week, and routed to ECBOT. These new value forms are in addition to the older index forms that required the user to look up symbol indices (ibc:266093@SMART or ibc:49652404@ECBOT) in the database ahead of time.

New in version 090227 (February 28th, 2009)

  • The focus of this series so far has been on adding contract expressions to the command language, and as part of this, providing access to options.
  • The command language now accepts IB contract ids in contract expressions.
  • There is also limited support for options. For the latter, you'll first need to add options products to the database. Once this is done, you may refer to them by the Ib contract id (ib conid, or ibc), as noted above.

New in version 090109 (January 12th, 2009)

  • This release extends the language for specifying a contract expression to a more natural form ('select tick ibc: 266093@SMART 1;') and continues factoring away the need for LocalSet.
  • It makes minor changes in the database to reflect churn in currency names internationally, and housekeeping related to changes in the Contract table on a column name.
  • The developmental platform move to Debian 'lenny' is complete.

New in version 081219 (December 22nd, 2008)

  • The get account code logic during initialization was modified to read any number of order status and open order messages until reaching the first account code quad.
  • This is a change from the prior approach of reading only to a specified number of entries, in light of some observed behavior by European TWS instances.

New in version 081215 (December 16th, 2008)

  • Cross-session order management (state determination, modification, and optional cancellation) is now feature complete, tested, and stable, representing a major milestone.