Appendix B – change log

Changelog

The following table lists changes done to this document and IB-Matlab. Depending on the date that you have installed IB-Matlab, your version may be missing some features discussed in this document. Whenever you renew your annual license, you will receive the latest IB-Matlab version, including all the functionality detailed here.

Note: The last column indicates the change type: F=functional; D=documentation.

Version

Date

Section(s)

Description

1.00

2010-12-06

-

First commercial release of IB-Matlab

F

1.09

2012-04-16

-

Baseline version for this change-log

D

1.10

2012-05-05

4

Some account-data fields have several variants starting with this IB-Matlab version

F

15.1

Clarified on mixing Matlab and Java trade orders

D

1.11

2012-05-27

16

Major overhaul of the Pairs Trading sample model

D

A.2

Added this new section with references to online MathWorks webinars

D

1.12

2012-05-30

Cover

Added note about compatibility with the IB API version 9.67

D

15.2

Added Java method interfaces commissionReport(), marketDataType(), reqMarketDataType()

F

1.13

2012-06-15

3

Added currency usage example (RUTà’CAD’); added explanation how to retrieve contract info in TWS via Contract Info / Description menu

D

5

Clarified what happens if any of the pre-conditions for querying market data are not met

D

11.1

Clarified to follow the hyperlinks in the table

D

12.1

Fixed usage example code: ‘open’ à ‘executions’

D

14

Typo fix: “code=2000à “code=200)

D

1.14

2012-06-19

4

Clarified about requesting portfolio information (multi-accounts, safe programming, shorts, sums)

D

8

Added references to AuxPrice parameter where relevant; added TWAP order type; rearranged the parameters in the order-params table; clarified TIF =‘GTD’ usage; clarified ParentID usage

F

1.15

2012-06-28

9.4

Clarified that LimitBasis cannot be used with LimitPrice; fixed the code snippet accordingly

F

14

Added discussion of data error leading to -1 value

D

16.1

Added link to MathWorks Econometrics Toolbox

D

1.16

2012-07-18

11.1

Added usage example of the Java connector object for implementing combo-trades

D

14

Added discussion of out-of-memory errors

D

1.17

2012-08-07

9.3

Fixed LMTSTP à STPLMT

D

1.18

2012-09-13

Disclaimer

Changed paragraph ordering (no change in text)

D

3

Expanded the explanation how to retrieve contract info in TWS via Contract Info / Description menu

D

4

Added the contract field in the portfolio-query results struct; fixed code snippet (sleepàpause)

F

5

Clarified that if any of the pre-conditions for querying market data are not met, the returned info can be empty or error

D

9.5

Clarified on using the ibConnector

D

A.1

Clarified about telling IB support that IB-Matlab uses the Java API when contacting them

D

1.19

2012-09-25

5

Clarified that all time-stamp fields except lastTimestamp reflect the local (not server) time.

D

1.20

2012-09-27

11.1, 14, 16.1

Updated some reference links following changes on the mathworks.com website

D

1.21

2012-10-03

2

Clarified on setting the path in classpath.txt

D

1.22

2012-10-06

3

Clarified on reusing the struct input format

D

4

Split §4 into §4.1 (account information) and §4.2 (portfolio information)

D

A.2

Added resource: added reference to Automated Trading online webinar

D

1.23

2012-10-25

Cover

Updated IB API compatibility: 9.67 à 9.68

D

4.1

Clarified that on a multi-account, not specifying the AccountName parameter can lead to stale or empty account data

D

4.2

The returned contract field in the portfolio query results struct is now a Matlab struct, not a Java object; clarification that AccountName ='All' can be used on a multi-account

F

5

Added the contractDetails field in the market-query results struct

F

9.6
(now: 9.5)

New section and functionality (ComboActions, ComboRatios params) for combo-orders

F

1.24

2012-11-19

2

Clarified (item 9e) about upgrades in Windows 32-bit to 64-bit

D

9.6
(now: 9.5)

Switched usage example from ECBOT to GLOBEX exchange

D

1.25

2012-11-27

9.5, 9.6

Switched the relative order of these sections

D

11.1

Clarified that the Java connector object can be used to implement combo trades as an alternative to the built-in mechanism (§9.5)

D

1.26

2012-12-22

9.5

Added ComboBagSymbol parameter; added usage example of ComboBagSymbol; clarified regarding combo legs limitations (need to use same exchange/currency, default ratio)

F

1.27

2013-01-10

15.2

Replaced Booleanàboolean in Java method interfaces; added methods reqNextValidId(), reqId(), reqIds(), calculateImpliedVolatility(), cancelCalculateImpliedVolatility(), calculateOptionPrice(), cancelCalculateOptionPrice()

F

1.28

2013-02-08

-

(formatting changes only; no change in text)

D

1.29

2013-02-10

A.2, A.3

Added a few online resources

D

1.30

2013-03-08

2

Clarified editing the classpath.txt file

D

1.31

2013-04-11

8

Fixed description of Hold (refer to §9.6, not §9.5)

D

9.6

Added usage example for preparing an order for manual approval/transmission

D

B

Added this change log in a new Appendix B

D

1.32

2013-04-19

Cover

Updated IB API compatibility: 9.68 à 9.69

D

1, A.1

Updated IB links, following IB website changes

D

15.2

Added new methods supported by 9.69: reqAccountSummary(), cancelAccountSummary(), reqPositions(), cancelPositions(), accountSummary(), accountSummaryEnd(), position(), positionEnd()

F

1.33

2013-04-30

3

Clarified usage of Symbol and SecType options

D

8

Added additional supported TIF options

F

11

Added new section §11.4; updated section titles

D

1.34

2013-05-10

7

Clarified streaming quotes limitations

D

14

Clarified updated MsgDisplayLevel=1 behavior

F

A.1

Added references for IB API chat-room and Yahoo! Forum; updated IB’s forum web-address

D

1.35

2013-06-21

2, 3

Clarified that IB’s paper-trade account is the simulated trading account

D

6

Added the datenum field in the historical-data query results struct; clarified that the time part is omitted in the dateTime field when BarSize>=1d

F

12.2

Clarified setting LogFileName='', to prevent real-time execution logging, for improved performance

D

1.36

2013-07-15

5, 9.5, 11.4

Added contract field to market query results

F

6

Updated historical data limitations imposed by IB

D

1.37

2013-09-11

11.1

Added callbacks for IB’s AccountSummary, AccountSummaryEnd, CommissionReport, MarketDataType, Position and PositionEnd events

F

15.2

Clarified function interface of reqRealTimeBars()

D

A.2

Added MathWorks Commodities Trading webinar

D

(all)

Updated IB links, following IB website changes

D

1.38

2013-09-27

9.4

Added the LimitUpdateMode parameter;
Added clarification about the Tick value

F

A.2

Added Real-time trading in MATLAB webinar / presentation (+demo application source code)

D

1.39

2013-10-10

6

Added the Timeout parameter

F

9.4

Clarified about LimitRepeatEvery value

D

9.5

Clarified about ComboRatios volatility and LocalSymbol sensitivity

D

1.40

2013-10-23

Disclaimer

Clarified the Disclaimer text e.g., clarified that any mention of a trading symbol or trading order does not constitute a trading recommendation etc.

D

1

Replaced outline image with a clearer version

D

3

Clarified that an IB client (TWS or Gateway) needs to be active in order for IB-Matlab to work;

Added: IB-Matlab will automatically start TWS if an IB client (TWS or IB Gateway) is not active

F

8

Fixed reference URL to IB’s order-types webpage

D

A.2

Added screenshot of Real-time Trading webinar;

Added link to MathWorks Algorithmic Trading portal that features a webinar on using IB-Matlab

D

1.41

2013-11-19

7.1

Clarified about using GenericTickTypes parameter to get extra info in streaming quotes

D

7.2

Added section on the new realtime bars feature

F

11.1

Indicated that realtimeBar events are triggered by IB-Matlab accessible via CallbackRealtimeBar

F

11.4

Clarified that the returned data structure only contains contract info for a single option contract

D

13

Clarified the options of multi-client connection(s); Minor clarification on use of ClientID parameter

D

A.3

Added reference to Spatial Econometrics Toolbox

D

B

Clarified that users get the latest IB-Matlab version whenever they renew their annual license

D

1.42

2013-11-27

5.2

Added this section on the new scanner data feature

F

7.1

Added minor clarification about not enclosing numeric parameters in Matlab string quotes (''); Clarified that streaming quote fields are independent of each other

D

11.1

Indicated that the scanner* events are triggered by IB-Matlab, in response to user scanner requests

F

1.43

2014-01-02

8

Clarified that SSHORT order action is typically used only by some institutional traders; most users should only use BUY and SELL order actions.

D

9.4

Added the LimitPause parameter for automated orders

F

9.5

Clarified that IB sends an error message when the combo ratio is incorrect

D

1.44

2014-01-25

6

Clarified the effect of UseRTH on the reported historical data dates; clarified that the historical data mechanism is also used for retrieving intra-day data.

D

7.1

Modified streaming quotes ReconnectEvery default value (2000à5000)

F

10.1

Added usage example of filtering open orders by their limit price

D

1.45

2014-02-03

5.1

Added automatic re-fetch attempt if missing data

F

7.2

Added the serverTime field to realtime-bars data

F

9.6

Added usage example of setting the orderRef field

D

1.46

2014-03-03

7.2

Added ReconnectEvery feature to realtime bars

F

1.47

2014-03-14

-

Added ability for IB-Matlab to work with VPN

F

9.4

Added the LimitBounds parameter for automated orders

F

9.5

Clarified explanation of ComboRatios parameter

D

1.48

2014-05-26

2.1

Added section: licensing alternatives

F

2.2

Added section: switching activated computers

F

5.2

Clarified importance of some scanner parameters

D

10.2

Clarified how to get unique orderIds for manual orders placed within TWS

D

1.49

2014-08-05

9.6

Explained how to prepare Iceberg, hidden, all-or-none, sweep-to-fill and other special order types

D

14

Clarified that no IB message is displayed if MsgDisplayLevel >= 2

D

1.50

2014-09-05

17

Added new section: FAQ

D

1.51

2014-10-01

5.1

Clarified possible reasons for receiving partial query data when querying current market data.

D

9.5

Clarified usage of CME inter-commodity spreads

D

3, 9.6

Clarified that primary exchange can be specified in Exchange parameter (e.g., 'SMART:NYSE')

D

1.52

2014-10-06

8

Added the TrailingPercent parameter for use by various TRAIL order types. Clarified the use of AuxPrice parameter for trailing amounts.

F

1.53

2014-10-20

4.1

Modified the returned account info data structure to reflect various currencies, where available.

F

9.6

Added example of setting a contract’s multiplier.

D

1.54

2014-11-11

7.1

Clarified that IB server (not IB-Matlab) limits the messages rate (this was corrected on 2014-11-22)

D

1.55

2014-11-19

2

Clarified usage of javaclasspath.txt file for setting Java’s static classpath; also clarified that without static classpath IB-Matlab cannot receive IB data.

D

8

Added the HedgeType, HedgeParam parameters

F

1.56

2014-11-22

3, 8

Clarified IB’s limit of 50 msgs/sec to IB server

D

7.1

Clarified that the streamed quotes rate is limited by client computer not by IB server or IB-Matlab. This fixes the clarification made on 2014-11-11.

D

1.57

2014-11-27

3

Clarified the alternatives for specifying the primary exchange of a contract.

D

12.2

Clarified usage of the automated trades log files.

D

17

Clarified some FAQ items, e.g. item #13 on the ability to compile and deploy IB-Matlab.

D

1.58

2014-12-16

5.3

Renumbered §5.2 (Scanner data) as §5.3.

D

5.2, 7.3, 11.5

Added new sections on the new Market Depth functionality and NumberOfRows parameter.

F

11.1

Indicated that IB-Matlab may trigger the UpdateMktDepth and UpdateMktDepthL2 events

D

1.59

2015-02-14

15.3

Clarified the usage of ibConnector

D

1.60

2015-03-13

3.2

Clarified parameter data-types

D

6,7.2,11.1

Fixed typos regarding the dateNum struct field

D

14

IB error messages are now sent to standard error (stderr) and displayed in red in Matlab console;
IB msgs with code>3000 now display as errors.

F

15.2

Fixed typos; added new methods to create default contract/order: createContract(), createOrder()

F

1.61

2015-03-19

16.2

Added new section: example of simple automated trading program using an RSI-based strategy

D

1.62

2015-03-25

2.0

Modified explanation to refer to Matlab’s Desktop toolstrip, rather than the outdated menubar.

D

5.4

Added new section: retrieving contract details of single securities and options chains

F

3.3, 9.5

Added Multiplier parameter (useful for options)

F

1.63

2015-04-08

3.2

Added example of resolving Currency ambiguity

D

3.3

Added new supported contract SecType values:

BOND (bonds)

CMDTY (commodity)

FUND (mutual funds)

IOPT (structured product)

SSF (single-stock future)

WAR (warrants)

Clarified that ETF contracts use SecType=STK

F

5.1

Clarified it is wise to set the Timeout parameter when querying contracts that have missing fields.

D

5.1, 13

Clarified that IB only sends live/historic data to a single computer, so retrieving such data requires IB-Matlab to be connected to TWS with the live data, not to another TWS on a different computer. Also, if you manage several accounts, associate all of them with the main account to receive live data.

D

6, 7.1

Clarified that historical and streaming data retrieval are subject to the same pre-conditions as for retrieving the current live market data.

D

9.7

Added new section: excercising / lapsing options

F

1.64

2015-04-15

2.1

Added clarifications on the Multi-year, Site and Deployment (compiled) license options.

D

6

Modified the chapter title to clarify that it relates to retrieving both historical and intra-day data.

D

13

Clarified the alternatives of connecting IB-Matlab to TWS/Gateway on a different computer.

D

1.65

2015-05-04

2.1

Removed local activation alternative; explained solutions for cloud services, activation problems

D

2.2

Clarified, simplified the activation switch process

F

1.66

2015-05-13

2

Minor clarifications regarding IB’s demo account

D

2.1

Added new version parameter

F

18

Added new section: Troubleshooting

D

1.67

2015-05-21

6

Fixed bar-size “1 sec” à “1 secs”

D

8

Minor clarification on HedgeType, HedgeParam

D

1.68

2015-06-02

18

Clarified several troubleshooting entries

D

1.69

2015-06-10

Disclaimer

Added clarification paragraph that the IB-Matlab software depends on external software, hardware, systems and services that are beyond our control.

D

6

Small corrections to the Duration/BarSize table

D

1.70

2015-06-25

3.3, 6

Added the IncludeExpired contract property

D

9.8

Added new section: IBAlgo orders, describing the new support for IBAlgo trade-order strategies Arrival Price, Dark Ice, Percentage of Volume, Balance Impact/Risk, and Minimize Risk.

F

1.71

2015-06-29

9.6

Clarified using some special order attributes

D

1.72

2015-07-14

6

Clarified on potential error messages and added allowed Duration/BarSize combinations.

D

1.73

2015-08-04

4.2

Clarified meaning of portfolio’s marketPrice field

D

9.6

Clarified possible values of order clearingIntent

D

1.74

2015-08-24

8

Added the OCAType order parameter

F

1.75

2015-09-27

1, 4.1

Removed very old (2012) product change notes

D

5.1

Clarified the lastEventTime, lastTimestamp fields

D

9.6

Clarified that order modification may sometimes be rejected by IB server if done right after creation

D

B

Added new column describing the change type

D

1.76

2015-10-29

3.2

Clarified the retrieval of contract info from TWS

D

6

Updated the allowed values of Duration/BarSize; explained usage of Bid_Ask historical data results; added SecType/WhatToShow values matrix.

D

16.2

Corrected minor printout bug in IBMatlab_AlgoRSI

D

1.77

2015-11-22

3.2

Described an issue with numeric display precision

D

4.1, 4.2

Fixed behavior of AccountName='All' (due to an IB server behavior change). Improved error msgs. Added summary account data where available.

F

4.1, 4.2

Clarified retrieval of account and portfolio data when multiple accounts are managed.

D

4.2

Clarified contents and usage of contract subfield.

D

12.1

Clarified how to get previous days’ executions (IB only returns today’s executions by default).

D

1.78

2015-12-24

4.2

Added Type='positions' portfolio retrieval option.

F

8

Added explanation on sending TRAIL orders.

D

9.5

Added several clarifications regarding combos. Added informative run-time warning messages.

F

11.1

Indicated that IB-Matlab triggers Position events.

D

17.19

TA Developer backtesting product is now defunct.

D

1.79

2016-01-25

4.2

Added Matlab code example + API settings details

D

8

Added Action='close' trade orders functionality. Divided chapter 8 into sections for readability.

F

1.80

2016-01-28

3.3

IB’s API uses ISLAND for NASDAQ requests – added code to accept both Exchange alternatives.

F

1.81

2016-03-11

3.1, 13

Clarified that the TWS account is transparent to IBMatlab; use the appropriate TWS login to control whether a live/simulated account is used.

D

5.2

Changed market-depth NumberOfRows limit from 5 to 10 (subject to exchange limits)

F

5.4

Clarified that reported m_expiry is the contract’s last trading date, not its actual expiration date.

Clarified that extracting the full options chain contract details (although not prices) in a single IBMatlab command is possible.

D

6

Added reported workaround for a problem of IB returning missing historical index data.

D

9.5

Clarified that creating a combo in TWS might help to determine the necessary parameters.

D

9.7

Clarified that IB only supports exercising/lapsing options, not FOP (future-on-option) or warrants.

D

9.8

Clarified that IBAlgo orders cannot use the default TIF value of 'GTC': set TIF='Day' for such orders

D

18

Added workaround for error messages about using an invalid TIF with an IBAlgo order.

D

A.3

Removed reference to defunct quantcentral.com

D

1.82

2016-03-16

3.2

Clarified that LocalSymbol format follows the OSI specification naming convention.

D

5.3

Clarified that scanner parameters only filter data, and cannot be used to provide unsubscribed data.

D

6

Clarified that IB returns expired contract history data just for futures, and only for their last year.

D

1.83

2016-04-07

Disclaimer

Clarified that IB-Matlab is not officially approved by any commercial, governing or regulatory body.

D

1.84

2016-05-25

3.2

Clarified that the Expiry parameter indicates the last trading date, not the actual expiration date.

D

5.3

Added alternative online screener resources.

D

9.4

Fixed typo in the LimitRepeatEvery example.

D

1.85

2016-07-11

3.2

Clarified aspects relating to FOREX currencies.

D

5.3

Compacted scanner parameters XML output.

F

5.5

Added new section and functionality for fetching Fundamental data and ratios.

F

11.3

Clarified about tickGeneric’s eventData fields.

D

1.86

2016-08-01

7.1

Clarified the data type that is returned by the initial vs. subsequent streaming quotes requests.

D

8.1

Clarified some aspects of trade order parameters.

D

8.5

Added new section and functionality for orders in Financial Advisor (FA, multi-client) accounts.

F

18

Added some error messages to troubleshooting list

D

1.87

2016-09-23

4.2

Report a security held at different exchanges separately (previously, only one was reported).

F

4.2

Report the Exchange field better (either exchange or primaryExchange value, whichever IB reports).

F

7, 18

Display error message when trying to retrieve streaming data for a symbol that is not streaming.

F

9.5

Clarified potential problems with combo trades.

D

1.88

2016-12-13

8.1

Clarified potential problems with trade orders.

D

1.89

2017-01-09

8.4

Clarified IB API’s functionality change regarding TRAIL LIMIT orders and the new usage.

F

1.90

2017-03-18

2

Clarified that IB provides only limited support for some features on paper-trading/demo accounts.

D

8.3

Clarified that IB does not support some order types on the paper-trading accounts.

D

9.5

Clarified that IB provides only limited support for combos on the paper-trading accounts.

D

1.91

2017-05-11

5.1

Added usage example of querying a Future asset.

D

1.92

2017-07-14

9.1

Clarified VWAP now uses LMT as the base order;

added the SpeedUp, MonetaryValue parameters.

F

9.8

Clarified VWAP now uses LMT as the base order;

added the SpeedUp, MonetaryValue parameters; added the Close Price algo; fixed IB website links

F

1.93

2017-10-30

5.1, 7.1

Added return of delayed quotes when real-time data is not subscribed, subject to IB limitations.

F

8.1, 8.6, 10.1

Added new section and functionality for order margin impact (“what-if”) study.

F

1.94

2017-11-14

3.1

Added new functionality to enable specifying the input parameters using a CSV/XLS input file.

F

1.95

2017-11-23

6

Automatically resend historical data request to IB if no data was returned, presumably due to an un-supported combination of SecType, WhatToShow

F

1.96

2017-12-01

3.1

Accept Matlab string args e.g. either "Day" or 'Day'

F

5.1

Clarified that in a market query, multiple generic tick types can be specified, separated by a comma.

D

5.5

Added new ReportOwnership fundamental data.

F

6

Added several additional WhatToShow options.

F

8.4

Clarified that some trailing-order parameters are exclusive (cannot be specified together).

D

9.5

Added example of a FOP bear spread combo order

D

17.19

Clarified that IB-Matlab does not include a back-testing or algo-trading engine, but I will be happy to develop or integrate one for you as a consultant;
A few minor edits to other FAQ items.

D

Multiple

Updated links to IB’s online API documentation.

D

1.97

2017-12-21

9.5

Enabled combo-leg snapshot queries even on paper-trade accounts; returned leg contract details.

F

1.98

2018-01-07

2, 2.3, 18

IB-Matlab installation no longer requires changing the Java classpath file, from this version onward.

F

3.1

IB-Matlab now accepts a struct array and table object as a means of specifying multiple IB commands in a single call to IBMatlab().

F

19

Added a new section on professional services.

D

1.99

2018-03-06

3.2, 3.3

Indicated that SecType='CONTFUT' can be used to query/trade continuous (rolling) future contracts.

F

4.2

Added realizedPnL and unrealizedPnL fields to the reported portfolio positions.

F

2.00

2018-06-27

8.6

Clarified a few minor points of the “what-if” feature

D

9.5

Added delayed data fields for combo-legs, when real-time market data is not available.

F

2.01

2018-07-27

11

Java objects contained in the callback’s eventData (e.g. eventData.contract) are now regular Matlab structs. Accessing their fields in IBMatlab callbacks remains the same (e.g. eventData.contract.m_symbol); the objects simply became easier to inspect in Matlab.

F

2.02

2018-10-28

5.3

Indicated where to find IB’s market scanner codes

D

Multiple

Small performance improvement of IB data queries

F

17

Several FAQ text clarifications

D

2.03

2018-11-22

5.1

Fixed a problem fetching index quotes from NASDAQ

F

5.2, 7.3, 11.5

Clarified that market depth (order book) data is Level II

D

2.04

2018-12-21

Cover

Updated IB/MATLAB versions compatibility

D

3.3

Added ConId, SecId, SecIdType contract properties

F

13

Added Disconnect action: IBMatlab('disconnect')

F

2.05

2019-02-22

2.1

Updated licensing alternatives (short-term, bundle)

D

2.2

Updated and clarified the license reactivation process

D

2.06

2019-09-28

5.2

Clarified that SMART exchange is not supported in Level 2 data queries (only specific exchange names)

D

-

Enabled query of IB server time using 'time' action

F

2.07

2019-11-10

2.1

Improved handling/reporting of reinstalled IBMatlab

F

2.1

Improved detection/reporting of installation problems

F

5.4

Added support for bond contract details

F

2.08

2019-12-07

3.3

Added an informative warning message when IB returns empty data that may be due to specifying the SMART exchange, which IB does not always support

F

2, 9.5, 17

Added reference that details the limitations of IB’s Demo account compared to a paper-trading account

D

2.09

2019-12-21

9.8

Added support for numerous algo-trading strategies via AlgoStrategy, AlgoParameter order properties.

F

A.1

Added new online references and removed stale ones

D

2.10

2019-12-31

5.5

Changed the Fundamental Data report Type of 'ReportOwnership'à'ReportsOwnership' following a change on IB’s side; simplified and improved the format of the returned report struct.

F

2.11

2020-01-07

3.3

Added reference to a discussion of the difference between IB’s Symbol and LocalSymbol parameters

D

4.2

Improved handling of empty portfolio data

F

*.*

Removed warning about SMART exchange (added in version 2.08) in case of empty results from query types where the exchange is irrelevant (e.g. 'account')

F

2.12

2020-03-05

2.0

Clarified some of the installation steps

D

2.1

Improved support for dynamic MAC addresses

F

8.1

Added order Action of 'SLong' (institutional traders)

F

13

Explained how to check the live connectivity status; clarified the documentation text.

D

14

Expanded description on IB messages; merged the symbol ambiguity & Troubleshooting sections in here

D

2.13

2020-04-30

7.1

Clarified streaming quotes mechanism description

D

8.1

Added OrderRef parameter to attach a comment to the order, displayable in TWS as an Order Attribute

F

8.1, 9.6

Added Transmit parameter to enable sending orders to TWS but not [yet] to the exchange (the order will be sent when you click <Transmit> button in TWS)

F

14.3

Added the errMsg output argument and mechanism

F

2.14

2020-11-18

2.1

Modified license checks to become more resilient to small harmless variations in the activated computer

F

8.1

Clarified that the OutsideRTH parameter requires setting the corresponding preset in TWS Config.

D

8.4

Clarified potential conflicts between LimitPrice and fixed offset amount in TRAIL LIMIT/LIT orders

D

13

Clarified the description of IB-Matlab’s process of automated connection attempts using different Port and ClientID values; added ability to force IB-Matlab to try to connect to only a single specified Port.

F

2.15

2020-11-23

3.2

Clarified that SecIdType supports 'ISIN', 'CUSIP' and 'RIC' (but not 'SEDOL'); added usage references

D

5.5

Clarified that fundamental data reports sometimes do not report some fields for some contracts

D

12.1

Added report of order executions commission, P&L and yield information, where available

F

14.4

Clarified the explanations of several error messages

D

2.16

2021-01-19

3.2

Enabled specifying SecID, SecIdType in compact form, e.g. 'ISIN:US0378331005' or 'RIC:AAPL.O'

F

2.17

2021-03-25

6

Clarified and rearranged text; added usage example

D

7.1

Added clarification about IB’s nightly server maintenance that breaks streaming data subscription

D

9.1

Added clarification about usage of timezones in IB

D

9.3

Added usage example for attaching custom child orders (SL/TP brackets with an EOD exit order)

D

13

Added clarification about TWS auto-logout and related aspects of keeping a continuous connection

D

A.2

Updated links to external MATLAB resources

D

2.18

2021-11-17

5.1

Improved robustness of single-quote query to issues of missing or non-immediate data from IB

F

5.1, 7.1

Moved the description of GenericTickList to §7.1, since it is only relevant with streaming quotes

D

5.3

Added online reference to a list of scanner scan codes

D

5.4

Fixed support for Timeout parameter in long-running queries (esp. options-chain requests)

F

7.1

Added usage example for fetching open interest info

D

11

Fixed the reference webpage hyperlink for IB events

D

11.3

Clarified the tickGeneric value field may be called either “generic”, “value” depending on TWS version

D

14.1

Added 'lastIBError', 'lastIBMessage' commands

F

2.19

2022-11-25

(many)

Data fields of data structs returned by IBMatlab no longer have a m_ prefix. For example: contract.m_symbol à contract.symbol

F

(many)

Data fields of data structs returned by IBMatlab are now automatically converted from Java objects to Matlab sub-structs whenever possible/relevant. E.g. contract.comboLegs, contractDetails.secIdList

F

(many)

Data fields of data structs returned by IBMatlab now report undefined values as Inf instead of 2147483647 (intmax) or 1.79769313486232e+308 (realmax)

F

5.1

Added the WaitForGreeks parameter and report of option greeks, implied volatility, and related data

F

5.1

Clarified that IB sends delayed quotes data when IB-Matlab is connected to a paper-trading account while at the same time a live-trading account is logged-in on a different TWS/Gateway

D

5.4

Clarified that the options chain query only returns the contract details, without any market data

D

10

Open orders can now be queried using Action='open' or 'orders', in addition to the legacy combination (of Action='query' with Type='orders') that still works

F

12

Executions can be queried with Action= 'executions', in addition to the legacy combination (Action='query' with Type='executions') that still works

F

14.2

Noted that DTB exchange is now called EUREX

D

16.2

Fixed minor bugs in the IBMatlab_AlgoRSI sample program

D

2.20

2022-12-02

2.2

Added IB-Matlab’s installation path to reported struct

F

2.3

Emphasized that manually setting the static Java classpath is very rarely required

D

3.1

The 'Action' keyword is now optional if it is the first input parameter in the call to IBMatlab

F

2.21

2023-03-28

8.5

The FAMethod parameter now accepts 'Equal' value

F

2.22

2023-06-14

5.1

Minor clarifications on WaitForGreeks mechanism and real-time trading data on paper-trading accounts.

D

5.4

SecID data (e.g. ISIN) is now reported as top-level fields in contract query result struct, where available

F

7.1-7.3

Clarified that all streaming data is stopped when IB-Matlab disconnects from IB.

D

2.23

2024-11-21

2

Added explanation how to avoid error messages on fractional size rules support via configuration option

D

3.3

Added a new section to explain the conversion of returned struct arrays into cell-arrays or tables

D

6

Clarified that WhatToShow=Yield* values are only reported for indices, no other security types. Clarified that IB-Matlab automatically tries to re-query using Midpoint if a historic Trades query fails.

D

7

Clarified that collecting Generic Ticks data requires a streaming data query, using a loop with an internal pause to increase data collection robustness.

D

11.3

Fixed incorrect section cross-reference

D

12.1

Improved performance (speed) of executions query

F

12.2

Clarified differences between CSV, MAT log files

D