TWSLink Release Notes
Version 1.6.0.0 Build 2
Added: Commissions available. Use GET_ORDER_VAL (id,69-74) (table 6.6), to read commissions for order; use GET_CONTRACT_VAL (id,89) (table 6.5), to get runtime accumulated commissions for contract, use SET_CONTRACT_VAL (id,89,value) to set runtime accumulated positions for contract.
Change: Install Routine for Windows Vista and Windows 7 now works without changing UAC settings.
Version 1.6.0.0 Build 1 (reinstall required. No change of function calls required but you need to remove deleted functions from code)
Bugfix: Connection sequence again modified. Some messages from TWS (newer versions) in unexpected order could cause infinite connection loop.
Changed: If -1 as client id passed, client id is set automatically.
Removed: function GET_STOPPROTECTION (not really useful)
Removed: function INIDLL (if you still need doing it's settings, please use SET_DLLPARAM)
Removed: function INIDLL_XML (if you still need doing it's settings, please use SET_DLLPARAM)
Removed: function SET_BREAK (dinosaur)
Changed: function GET_LNG_VAR returns 2147483646 instead of 2147483647 if parameter was not found.
Changed: function GET_STR_VAR returns pnf instead of nok if parameter was not found.
Version 1.5.1.0 Build 5
Bugfix. Infinite connection loop when historical data server down solved.
Added. 5 new order properties. Please read table 6.6.
Added. Extra orderlogfile
(orders???.log). Loglevel for this extra logfile can be set in xml-file
<init\orderlog>. Outgoing order-commands (from TWSLink to TWS/IB) are
signed by "[OUT]". Incoming order-messages (order status callback TWS/IB
to TWSLink) are signed with "[IN]".
Version 1.5.1.0 Build 3
Bugfix. Parent uid for orders restored on restart.
Version 1.5.1.0 Build 1 (reinstall for COM-usage required. No change of function calls required)
Bugfix. Dragging connection procedure on Vista machines solved.
Added. Function PARSE_XML. Parse an xml-string or file. The structure is recursively reflected for each element tag and attribute through callback event category 8192, subcategory 32.
Added. API 9.51 Function REQ_FUNDAMENTAL_DATA. Request for Reuters Fundamental Data. Fundamental data are organized in a xml structure. This structure is either stored in a file or recursively reflected through callback event category 8192, subcategory 33. You can request for 3 report types: <estimates>, <finstat> or <snapshot>. Please read more from IBs release notes:
http://www.interactivebrokers.com/en/software/apiReleaseNotes/api95.php?ib_entity=llc#9.5_reuters
Version 1.5.0.0 Build 1 beta (reinstall for COM-usage required. No change of function calls required)
Added.
All features of InteractiveBrokers API revision 9.63 beta implemented. To
make use of these features, you need TWS version >= 896.
To get more information about enhancements coming with API 9.63, please
visit
http://www.interactivebrokers.com/en/p.php?f=programInterface&ib_entity=llc
Propietary API / Beta Notes
Added. API 9.63 : Contract value Security IDType. Value ID = 80 (GET_CONTRACT_VAL). Type = string. Possible values = CUSIP SEDOL ISIN or RIC
Added. API 9.63 : Contract value Security ID. Value ID = 81.
Added. API 9.63 : Contract value Contract Month. Value ID = 82. Format: YYYYMM
Added. API 9.63 : Contract value Industry. Value ID = 83. Sample: Financial
Added. API 9.63 : Contract value Category. Value ID = 84. Sample: Investment Svc
Added. API 9.63 : Contract value Subcategory. Value ID = 85. Sample: Brokerage
Added. API 9.63 : Contract value Timezone ID. Value ID = 86. Sample: EST
Added. API 9.63 : Contract value Trading Hours. Value ID = 87. Sample: 20090507:0700-1830,1830-2330;20090508:CLOSED
Added. API 9.63 : Contract value Liquid Hours. Value ID = 88. Sample: 20090507:0930-1600;20090508:CLOSED
Added.
API 9.63 : Tick Type: Trading Halted. Type id=49 (Table
6.12) . If 1, trading for contract halted, if 0, trading for contract
resumed.
This tick (or let's say event) is reflected through realtime
marketdata update. So you need to subscribe to realtime marketdata for
contract.
Event: paramater 1 value: 1 (Market Data), parameter 2 value:
uid contract, parameter 3 value: 49 (id of this new tick), parameter 4
value: 1 (trading halted for this contract) 0 (trading resumed for this
contract).
Added: API 9.62: New orderparameter overridePercentageConstraints. Value id=. If 0 (default), precaution settings in TWS active when placing an order. If 1, those settings are ignored.
Added: API 9.6: Support for Algo
Orders.
Set algo strategy name for order by calling
SET_ORDERVAL with
valueid=67 and value=strategyname
Set algo
parameter for order by calling SET_ORDERVAL
with valueid=68 and value with format:
tag=value
Get more information from documentation
table 6.6
Get detailed information here:
http://www.interactivebrokers.com/en/software/apiReleaseNotes/api96.php?ib_entity=llc#9.51_ibalgo
Change: API 9.51: Scale order attributes
changed.
Get more information from documentation table 6.6
valueid=60 and valueid=61
Get detailed
information here:
http://www.interactivebrokers.com/en/software/apiReleaseNotes/api95.php?ib_entity=llc#9.5_scale
Added: API 9.51: New field for contract details underConId . valueid=75 (GET_CONTRACT_VAL). This value is read only.
Improved. Logging now takes of time in comparison to version 1.1.0.4 at the maximum a quarter.
Added: Function CUSTOMLOG(filename,logentry,maxsize). Make a logentry to a custom logfile.
Added: Function DELETE_CUSTOMLOG(filename). Delete a custom logfile.
Added: Function GET_LNG(name,fail). Get long variable (4 Bytes) of <name>. if not present return <fail>.
Added: Function GET_DBL(name,fail). Get double variable (8 Bytes) of <name>. if not present return <fail>.
Added: Function GET_STR(name,fail). Get string variable of <name>. if not present return <fail>.
Added: Function ADD_LNG(name,val). Add val to long variable <name>. Returns new value. If not present, variable gets created.
Added: Function
ADD_DBL(name,val). Add
val to double variable <name>. Returns new value. If not present, variable
gets created.
Version 1.1.0.4 Build 13
Bugfix. Historical Data callback sent only last bar.
Version 1.1.0.4 Build 12
Bugfix. MOC orders failed if limit and stop <= 0.0.
Bugfix. Connection phase fails to complete when connecting to a newly installed FA-TWS.
Version 1.1.0.4 Build 10
Change. REGISTER_CONTRACT_XML_STYLE works now for attribute lsl (local Symbol).
Version 1.1.0.4 Build 8
Bugfix. Continuous market data failed, if requested along with snapshot.
Version 1.1.0.4 Build 3 (you need to edit all SEND_MAIL calls like described below and to reinstall)
ATTENTION: You need to use TWS version >= 889
Bugfix. Cancellations of orders that are attached to a parent order being cancelled, stayed in transmission cycle.
Bugfix: Potentional crash when live P&L enabled.
Bugfix: Memory leaks when trades trail enabled.
Bugfix: Minor bugfixes.
Note: You should remove all calls of INITDLL as this function is deprecated. Instead, make all settings in TWSLink.xml, please.
Change: Allows now to hook callbacks into up to 6 different threads. For each thread an unlimited number of callbacks can be added.
Improved: Historical Data are preordered before sent to callback or saved to event. No ordering at client side necessary any longer.
Improved: Historical Data request errors are handled and reflected through callback or event. Especially pacing violation can now be ignored as TWSLink repeats those requests until successful.
Added: New dll parameter <quehistreq>. If set to 1 (default), historical requests are queued. This is the recommended setting as it reduces pacing violation warnings.
Added: New contract properties: e.g. <under conid> (id=75) or <long name> (id=76) (API 9.6) and other. See GET_CONTRACT_VAL, Table 6.5.
Added: New order properties: e.g. <what if> (id=63) or <not held> (id=64) and other. See GET_ORDERVAL, SET_ORDERVAL, Table 6.6.
Extended: Function REQ_MARKET_DATA can now make snapshot- and continuous requests in one step, if passing > 1 for snapshot parameter. This is for those who can't wait for all affected quotes starts ticking. They can now pass 2 for snapshot, thus getting snapshot first AND continuous market data.
Added: Function REM_EVENT_HANDLER (int callback,int threadid) removes specified callback from eventhandler.
Added: New orderproperty (generic) <exchange> (id=90). If not empty, this value is taken instead of contract exchange by all order placement functions. Use function SET_ORDERVAL.
Documentation revised.
Change:
Function SEND_MAIL has
been
extended by 4 parameters to be added after current parameters. In the
order of passing:
smtp_port: smtp_port of mailserver (pass
<= 0 to keep current treatment (def. 25))
need_authentication: flag (0,1) determining if smtp needs
authentication (pass <= 0 to keep current
treatment)
user: smtp username (pass
empty value to keep current treatment)
pw:
clear password (pass empty value to keep
current treatment)
Extended: REGISTER_CONTRACT invokes now
callback 2,13 (contract status availabe) for all registered contracts,
when passing "#" for symbol and sectype. (sample:
REGISTER_CONTRACT("#","#","","","","","",0.0,"",0,0.0)).
This gives you an overview of all registered contracts at any time.
(No change of REGISTER_CONTRACT calls in your code
needed)
Version 1.1.0.3 Build 3
Bugfix: Incompatibilities in perl-, python-, ruby-, tcl- and r-lib fixed.
Added: Open order event added. Callback maincategory 2, subcategory 30.
Version 1.1.0.3 Build 1 (this version needs to be reinstalled, as Interface has been changed)
Bugfix: REGISTER_CONTRACT_XML_STYLE and REGISTER_CONTRACT_XML can now handle case sensitive xml-tags.
Function GET_CONTRACTUID_LIST
changed: Parameter <alias> added. Find a list of contracts that
matches to an aliasname.
Note: The alias name is only
provided through Registration in XML style -> REGISTER_CONTRACT_XML and
REGISTER_CONTRACT_XML_STYLE.
Note: Callback maincategory 2, subcategory 13 (contract status available), returns xml-stamp for parameter 12 instead of contract ident-string.
Added: New contract value identifier <xmlstamp>: value=74, read only; Table 6.5. (to be used with GET_CONTRACT_VAL).
Version 1.1.0.2 Build 43
More liberal license handling. License is now represented through a unique id. Along with that id, you can run TWSLink where ever you want.
Custom logfilenames removed.
Minor internal changes.
Version 1.1.0.2 Build 41
Bugifx: Reconnection mechanism failed to maintain connection.
Added: Visual Basic .NET sample.
Version 1.1.0.2 Build 40
Special values for GTD and GAT parameter supported: +x means current time + x seconds. -x means current time -x seconds.
Licensing mechanism added.
Version 1.1.0.2 Build 32
Bugfix. Lag of Positions for contracts imported from portfolio.
Bugfix: Invalid date format reported by MySQL databases.
Bugfix: Invalid column name "byingpower" in MySQL sample database. MySQL users please rename column byingpower to buyingpower
Bugfix: Incorrect or missing values in tables and files.
Change: column <conid_t> (varchar(50)) added to table <trade>, table <execution> and file <orders_xxx_xxx_xxx.csv>
Change: Continuous fixing of account- and portfolio values removed. Therefore, those values get updated when updated by IB.
Change: Trailfilename changed from pandl... to portfolio...
Change: Columns in orders trail changed from
datetime;action;symbol;currency;type;size;limit;aux;fill;fillsize;status;sectype;tif;created;account;uid;permid;oid;cuid;transmit;exchange;gtd;gat;orderref;conid
to
datetime;action;account;contract;ordertype;size;limit;aux;fill;fillsize;status;tif;created;uid;permid;twsoid;transmit;gtd;gat;orderref;conid
Change: Columns in execution trail changed from
execid;symbol;sectype;side;price;shares;currency;exchange;strike;expiry;right;time;p&l;orderref;permid;orderid;account
to
time;account;local
symbol;exchange;side;price;shares;currency;p&l;orderref;execid;permid;orderid;conid
This is for better contract recognition.
Added: XML tag <colsep>: define your own column separator of trailfiles. Default <;>
Added: XML tag <accfilter>: define a comma separated list of accountnames which operates as filter for database and trailfiles. This is to prevent your database by being spammed with demo or paper account operations.
Documentation reviewed.
Version 1.1.0.2 Build 29
Bugfix. Crash when importing contract-chains through execution report.
Version 1.1.0.2 Build 28
Bugfix. SET_ORDERVAL mistook attributes.
Version 1.1.0.2 Build 27
Bugfix. Contracts not imported correctly through update portfolio events.
Important Change: Contracts with an expiry have now to be registered with full date format: YYYYMMDD. Otherwise REGISTER_CONTRACT returns 0 as it assumes that a chain request is intended. This is to follow trouble in the concern of contract-chains with more than 1 expiry per month.
Order attributes ignoreRTH and RTHOnly replaced by outsideRTH
Attention: This version can only be used with TWS version >= 887.2
Please test this version a couple of days with Paper Account before going live. Thank you.
Version 1.1.0.2 Build 26
Bugfix. Contracts with more than one multiplier couldn't be
distinguished.
Note: To participate from this fix, you need
TWS >= 887.2 installed. API 9.51 recommended.
Change. Contracts of type FUT,OPT or FOP must now
be registered with a multiplier not empty. Otherwise, REGISTER_CONTRACT
returns 0 as such requests potentially can be answered with a chain (so
more than contract is affected).
Note: To get all information about a contract, right click on contract in
TWS and select Contract Info / Description or Details.
This helps you to make correct requests with the new version.
Version 1.1.0.2 Build 25
Bugfix. Contracts of type STK,OPT or FOP and with SMART defined got replicated if referenced in executions.
Version 1.1.0.2
Bugfix. News Bulletin subscription failed.
Version 1.1.0.2
Bugfix. Not marketdata returned for snapshot only requests.
Version 1.1.0.2
Bugfix. Invalid volume returned.
Version 1.1.0.2
Change. Logfile zipped before sent.
Version 1.1.0.2
Bugfix. Positions could not assigned correctly for futures, options and futures options. (This bug was introduced with *1 update).
Version 1.1.0.2
Change. DLL Parameter <mngparam> added.
If set to 1, TWSLink loads parameter from vars.xml on startup and
saves them on close. If set to 0, TWSLink does not save and load paramters to/from
vars.xml.
Attention: Unlike the current
version, the default in the new version is that parameters are NOT saved and
loaded (mngparam=0).
Version 1.1.0.2 *1
Bugfix. Options with more than 1 expiry per month couldn't be distinguished.
Version 1.1.0.2
Bugfix. Account, Symbol, Exchange, Expiry, and Strike missed in execution trail.
Version 1.1.0.2
Updated file callback.xls. Scannerdata event (4096) added.
Version 1.1.0.2 Beta 3
Bugfix: TradeStation sample crashed due to wrong declaration of function GET_POSITIONS (returns newly double instead of int).
Bugfix: REQ_BAR_DATA always returned 0. This function now returns the number of the total real requests for bar-data.
Version 1.1.0.2 Beta 2
Bugfix: GET_MARKET_DEPTH and GET_MARKET_DEPTH2 failed to return size.
Bugfix: Wrong contract uid provided for market depth callbacks.
Version 1.1.0.2 Beta 1 This version is not compatible to prior versions as interface has been changed.
Bugfix: GET_MARKET_DEPTH and GET_MARKET_DEPTH2 only returned Bid side. Bid and Ask side where exchanged.
Bugfix: In some cases, call WAIT_FOR_EVENT made it impossible to grab all events.
Bugfix: SQL-Error for all time-formats in PostgreSQL databases.
Bugfix: vars.xml missed in installation package.
Bugfix: c# sample was not adapted to new version.
Change:
WAIT_FOR_EVENT expects now only one
parameter: timeout. Please refer to documentation to read more about
eventhandling, if you don't use callbacks.
Eventhandling is now very simple (for callback users nothing has changed). Please
don't forget to change the call of WAIT_FOR_EVENT in your code to avoid hang or
crash.
Function GET_EVENT_VAL_L added. Get specific event value as int.
Function GET_EVENT_VAL_D added. Get specific event value as double.
Note: Uninstall prior Version and install new Version. Edit all calls of WAIT_FOR_EVENT (simply remove all parameter except timeout. If you have used a filter, simply check parameter 1 of event if it matches to your desired category.)
Version 1.1.0.1 Beta 1
Bugfix: Realtime Bars end now with a timestamp that fits to timeframe (time mod timeframe)
Function TIME_COMPONENT added. Get time component (Year,Month,Day,Hour,etc.) for a date given in seconds since 01/01/1970.
Function TIME_STRING added. Get formatted time as string for a date given in seconds since 01/01/1970.
Function SECONDS_1970 added. Get seconds passed since 01/01/1970.
Function MILLISECONDS_1970 added. Get milliseconds passed since 01/01/1970.
Function SET_TIMER added. Create a timer that is reflected through callback/event. Eventcategory 2, subcategory 28.
Function KILL_TIMER added. Kill a previously created timer.
Function PLAY_SOUND added. Play soundfile.
Version 1.1.0.0 Beta 5
Change: Generic realized P&L is now processed last in last out (lilo).
Version 1.1.0.0 Beta 4
Change: Global variables stored pemanently to file <vars.xml>.
Version 1.1.0.0 Beta 3
Bugfix: Order reference not written to database.
Bugfix: Small fix in the concern of realtime bars.
Version 1.1.0.0 Beta 2
Bugfix: Failed to write to MySQL Databases.
Bugfix: SQL2 not worked.
Bugfix: Crash when resultset=0; select statements.
Bugfix: Wrong generic realized P&L for CASH-contracts.
Change: Superfluous column-and row-separator at the end of row and result removed.
Version 1.1.0.0 Beta 1
This Version is not compatinle to prior Versions as the Interface has been extended. This means: uninstall old Version and install new one. Calls to be changed in your Source Code are declarations and calls of Functions GET_DLLSTATUS and CUSTOMCOMMENT.
Improvement: Live unrealized P&L calculated on average Price if Contract-Position <> 0 at Startup.
TWSLink wrapps now the complete API version 9.3.
Improved Function CLOSE_CASH_POSITION. This Function handels now ordersizes > 4.000.000 $ equivalent.
Orderstatus handling changed. Previous versions only triggered an event if status, filled or remaining size changed. Now, each status callback is handled and reflected through Event or Callback.
ODBC-based Database Support. Store most important Trading- and
Account Values in a predefined Database. This Database
is available as SQL-Server 2000, SQL-Server 2005 Express,
MS Access (2002), MySQL 5 and PostgreSQL. However,
every ODBC capable Database can be used.
Use a custom Database for your own DB-Operations or Researches.
Function GET_DLLSTATUS changed: One additional string parameter added. Please Update all declarations in your Code of this Function as well as Calls. Please check Table 6.3 for all possible Arguments.
Function CUSTOMCOMMENT changed: Parameter severity added.
Function CONNECT_DB added. Connect to Dabase.
Function DISCONNECT_DB added. Disconnect from Database.
Function SQL added. Select, Insert, Update, Delete. Best adapted for complex Returns.
Function SQL2 added. Select, Insert, Update, Delete. Best adapted for simple returns (Single Values).
Function REQ_CURRENT_TIME added. Request for Current Server Time as past Seconds since 01.01.1970.
Function NEWS_BULLETIN added. Subscribe / Unsubscribe for / from News Bulletin. Keep informed about Exchange Availability.
Function REQ_MARKET_DEPTH added. Request for Market Depth.
Function GET_MARKET_DEPTH added. Get a specific Market Depth Value as String.
Function GET_MARKET_DEPTH2 added. Get a specific Market Depth Value as Double.
Function REQ_HIST_DATA added. Make a Request for Historical Data.
Function REQ_SCANNER_SUBSCRIPTION added. Request for Market Scanner Data.
Function CANCEL_SCANNER_SUBSCRIPTION added. Cancel Market Scanner Data.
Function PIPS added. Get Number of Pips for passed price.
Open Orders reflected again through callback and event after TWS reconnection.
Version 1.0.5.8 Build 55
Bugfix: 0 returned instead of orderid if order been modified for functions: BUY_STP,SELL_STP,BUY_TRAIL,SELL_TRAIL,BUY_STPLMT,SELL_STPLMT.
Version 1.0.5.8 Build 54
Bugfix: TIF reported instead of action for order status events / callbacks.
Version 1.0.5.8 Build 53
Bugfix: Multiple requests for contract details when receiving more than one execution per contract.
Version 1.0.5.8 Build 52
Bugfix: Generic P&L; sometimes (orderStatus dependent) incorrect calculation of realized shares when crossing ZERO positions.
Bugifx: Generic P&L; Sometimes incorrect realized P&L for short trades.
Version 1.0.5.8 Build 51
Contract Recovery from incoming executions. Contracts of executions placed before TWSLink was running were unknown so far. The new build creates a contract and provides this id through callback/event 64,16 parameter 15.
Version 1.0.5.8 Build 50
Bugfix: Huge Cash positions > 2^31 were reported incorrectly. Positions are now reported as integer as well as real number. Please refer to callback.xls, event = 4 for more information.
Documentation updated.
Version 1.0.5.8 Build 49
Bugfix: GET_BAR_DATA returned invalid Values for index 0.
Change: Bar Data Event is sent each 5 seconds even if time frame > 5 seconds.
Startup Sequence can be faster interrupted now (in the event of load/unload DLL/COM).
Minor Enhancements.
Version 1.0.5.8 Build 45
Bugfix: TradeStation Sample updated to new Interface (potentional freeze or crash due to wrong call of CANCEL_ORDER).
Version 1.0.5.8 Build 44
Improved startup sequence.
Version 1.0.5.8 Build 42
Function CANCEL_ORDER extended by Parameter "Side" (BUY,SELL).
Function GET_ORDERUID_LIST extended by Parameters "exchange" and "orderref".
Attention: Any change of the interface like this version makes it necessary to edit the code, if you call CANCEL_ORDER or GET_ORDERUID_LIST.
Position Updates now for all Contracts of same conid. Previously, for only one contract of a contract group (same conid) position change was reflected through Callback or Event Buffer.
Version 1.0.5.8 Build 41
Bugfix: Function GET_MARKET_VAL not worked.
Bugfix: GET_OPEN_ORDERUID_LIST could miss some orderids.
Version 1.0.5.8 Build 40
Bugfix: Function GET_MARKET_VAL not worked.
Version 1.0.5.8 Build 38
Bugfix: Potentional inifnite Loop when calling TRANSMIT with uid=0 and contractid=0..
Version 1.0.5.8 Build 35
Bugfix: Sometimes generic unrealized P&L remains <> 0 even if Contract has no positions.
Function GET_OPEN_ORDERUID_LIST added. Get a List of uids of open Orders.
Note: uninstall prior version and install this (Interface has been extended).
Version 1.0.5.8
Release Version.
Slightly Performance Improvement for Excel Sample.
Version 1.0.5.8 Beta 12
Bugfix: Order Placement Functions could fail, if called more than once with transmit mode < 1.
Bugfix: Function GET_PORTFOLIO_VAL not worked.
Improved Failsave Method in the Event of missing Account- and/or Portfolio Updates.
TWS unrealized and realized P&L (that of Account Window) added to Excel Sample.
Excel Sample can now reregister Single Contracts (blue cross).
Version 1.0.5.8 Beta 11
Bugfix: GET_ORDER_VAL does not work correctly for some Property Types.
Bufgix: Missing File for MatLab Sample added.
Some extra stuff removed from installation package.
Version 1.0.5.8 Beta 10
Bugfix: Attachments where ignored in Function SEND_MAIL.
Bufgix: EXTRACT_ARRAY_VALUE returned "nok" for empty slots.
Bugfix: MetaTrader Compiler complaining about to int Parameter Names.
Bugfix: Some xml-tags were ignored.
Better Handling of Orders that get modfied in fast Series.
Version 1.0.5.8 Beta 9
Bugfix: Potentional Crash if limit price < 0 passed to Functions placing an Order.
Slight improvement of Handling TWS error 2102 (~ "can't modify order as its still being processed").
Version 1.0.5.8 Beta 8
Bugfix: Trail Limit Orders were not imported completely. (Either placed with TWS or placed with TWSLink).
Some slight Performance enhancements.
Excel Sample revised.
TCL Module / Sample added. TCL 8.4 compatible.
Version 1.0.5.8 Beta 7
Bugfix: Open Orders were not recovered after Restart.
Bugifx: Function GET_ORDERUID_LIST crashed TWSLink (internally was named as GET_ODERUID_LIST).
Bugfix: MetaTrader 4 Sample failed to compile.
Bugifx: Logfile Definition in twslink.xml was ignored.
Note: Uninstall prior Version and install new Version.
Version 1.0.5.8 Beta 6
Bugfix: CANCEL_ORDER can cause Crash if Type Filter provided and/or multiple Orders affected.
Bugifx: Memory Size unusally increased if Market Data have been requested.
Bugfix: Trail Files failed to be created if Location prefix pointed to TWSLink Root-Directory (#).
Version 1.0.5.8 Beta 5
Bugfix: GET_EXECUTION_PRICE can return -1 although orderid is valid.
Version 1.0.5.8 Beta 4
Bugfix: Installation Routine failed to create Directories <Log> and <Trail>.
Excel Sample updated for a faster Startup.
Version 1.0.5.8 Beta 3
Bugfix: Market Data Request could fail for some Contracts of a chain request if Registration was done before Connection.
Bugfix: Python Sample, CANCEL_ORDER called with wrong Parameter List.
Python Module updated for Python Version 2.5. Note: The new Module is not compatible to prior Python Versions. Please read more in the readme.txt.
Ruby Module / Sample added. Ruby 1.8 compatible (1.8.2-14).
Version 1.0.5.8 Beta 2
Bugfix: Partial Realized P&L sometimes not updated correctly when Positions have been closed or switched.
Bugfix: Wrong Position Calculation in FA Context after filled Order.
Bugfix: DLL crashed if xml-setup File could not be loaded.
Bugfix: Sizes linked in C# Sample.
Version 1.0.5.8 Beta. Note: This Version is not compatible to prior Versions (due various Functions changed or removed)
Bugfix: Cash Positions sometimes where imported with invalid Exchange.
Bugfix: Positions Size not correctly calculated after partial Fills.
Bugfix: Unwanted new Order Creation, if an Order that was already filled being replaced to modify it.
Bugfix: Invalid Positions for FA-Subaccounts after filled Orders.
Bugfix: Callbacks lost when to many events occured within Timespan. This was due to an internal limited Cache.
Bugfix: Sometimes Accountupdates, Open Order Updates, Execution Updates were absent after TWS lost Connection to IB Server if TWS did not recover these Requests.
Bugfix: Perl Sample contained wrong call of REGISTER_CONTRACT.
Bugifx: Wrong Filename in Installation Batchfile for MT4.
Extension of Cash-Contract - Handling. Cash Positions can now be listed against other than BASE Currency and are processed as Portfolio Contracts. Thus they can have P&L etc..
Function CANCEL_ORDER extended by Parameter int::IsPending (cancel only pending orders)
Function CLOSE_CONTRACT extended by Parameter string::Typefilter (close Contracts only matching to Securitytype)
Function REGISTER_CONTRACT extended by custom Mintick.
Function SET_FA_MEMBERS changed. Parameter sharesAllocation removed.
Function REQ_MARKET_DATA extended. Parameter "snapshot" added.
Callback extended by 6 additional Parameter (2 strings, 2 doubles, 2 int). More Events added.
Callback Parameter "Rout Direct" removed..
Callback can now be hooked into any Thread. Thread Id=0 means hook into the DLLs hosting Thread (this is like the current Implementation).
Fixing Event for Callback added, that is triggered daily, weekly and reflects most Important Account Values as well as generic realized P&L.
Market Data Timeout Parameter for each Contract added. If Timeout enabled and no Market Data received within defined Timespan, Market Data get rerequested.
Account Update Timeout Handling added. If Account Update Timeout check enabled, Account Updates get rerequested if no Updates occured within Timespan defined.
More Initialisation Flags for a better Scalability added.
Functions renamed: SETLONGVAR -> SET_LNG_VAR, SETDOUBLEVAR -> SET_DBL_VAR, SETSTRINGVAR -> SET_STR_VAR, GETLONGVAR -> GET_LNG_VAR, GETDOUBLEVAR -> GET_DBL_VAR. That was for a better naming Convention.
Function REMOVEVAR removed.
Parameter "timerreqfaccupd" changed to "timerreqaccupd". This Parameter now applies also for non-FA Accounts.
Function REM_LNG_VAR, REM_DBL_VAR,REM_STR_VAR added.
To beware Compatibility adjust all Calls (and Declarations) of Functions above.
Filled, cancelled Orders get no longer deleted. So their properties all accessible all the Time.
Migration to API 9.3. This means support for EFP, shortable size, Realtime Bars, Market Data timestamp, Scale Order Support.
Function DISPOSE added. This Function should be called in all .NET environments before diposing Application. This is to prevent TWSLink from lockup on closing in .NET Environments.
Function BUY_STP added.
Function SELL_STP added.
Function BUY_TRAIL added.
Function SELL_TRAIL added.
Function GET_ORDER_VAL added. Returns the Value of the specified Order Property;
Function GET_EXECUTION_PRICE added. Returns Last- or Avg. Fill Price for Order.
Function CLOSE_CASH_POSITION added. Close Non Base-Currency Position(s).
Function CONVERT_ID added. Converts Order related IDs: TWS Order <-> DLL UID, IB Permid <-> DLL UID.
Function CONVERT_ID_STRING added. Converts Order related ID-String List: TWS Order <-> DLL UID, IB Permid <-> DLL UID.
Function FROM_FILE added. Get a String from File.
Function TO_FILE added. Prepend String, Append String to File or overwrite File with String.
Function GET_MARKET_VAL added. Retrieves Values of Market Value Grid (Account Window).
Function GET_PORTFOLIO_VAL added. Retrieves Values of Portfolio Grid (Account Window).
Function FORCE_CONTRACT added. Enforce new Positions relative to prior Positions or as absolute Positions.
Function GET_ORDERUID_LIST added. Get a List of orderuids of Orders affected by passed parameters
Function TOOGLE_ORDER_PCT added. Change Order Price by Percentage.
Function VALIDATE_PRICE added. Transform a given Price for a specific Contract to a Price for matching to the Minimum Price Variation of the Contract.
Function SET_CONTRACT_VAL added. Set some writeable Contract Values after Registrations, such as a custom Mintick.
Function REQ_BAR_DATA added. Request for 5 Seconds based Realtime Bar.
Function GET_BAR_DATA added. Access Data of a 5 Seconds based Realtime Bar.
Function SET_INDICATOR_SIZE added.
Function REM_COMBO_LEG added. Remove a prior specified Combo Leg.
Function INITDLL_XML added. Init TWSLink through a custom xml Setup File.
Function REGISTER_CONTRACT_XML added. Register Contracts with custom uids from xml-file.
Function REGISTER_CONTRACT_XML_STYLE added. Probably best Method to register a Contract at Runtime.
Function CONNECT_XML added. Connect to TWS with Parameters prefined in current xml Setup File.
Function WAIT_FOR_SUBMITTED added. A more comfortable Method to wait for one of the Submitted States of an Order.
Indicators added: Consecutive Bid,Ask and Last Ticks, 3 diferent tick-based Moving Averages and 3 different tick-based Momenta.
Generic runtime unrealized and runtime realized P&L added.
Additionally to the Execution File Report, 3 new Trail File Types has been added: Trail Orders, Trail Trades, Trail Fixing (Account Values and P&L per Contract).
XML Setup File added. Define the most important TWSLink setup parameters through xml-file <twslink.xml> located in TWSLink root directory.
Various new generic Market Data (check GET_MARKET_DATA).
Various new generic Contract Data (check GET_CONTRACT_VAL).
Various new Parameter for Function GET_DLLSTATUS. (Table 6.3)
C# Sample added (.NET 2.0 compilant).
Revised Excel Sample.
Bugfix: Potentional wrong Value for Market Data of Ticktype 22.
Bugifx: No Update of Net Liquidation Value in Tray Icon.
Function BUY_LMT added.
Function SELL_LMT added.
Function BUY_STPLMT added.
Function SELL_STPLMT added.
Function BUY_MKT added.
Function SELL_MKT added.
Function TOGGLE_ORDER added. Change Order Price(s) by a PIP-Offset.
Meta Trader 4 Compatibility. If DLL used with MT4, Tray Icon disappears after first Call of start() in Expert Advisor Context.
MetaTrader4 Sample added.
Trace Window revised.
Some new Arguments for Function SET_DLLPARAM.
Bugfix: Sometimes Connection fails to establish if more than one Client tried to connect with same Client ID.
Bugfix: Connect immediately returns 0 although connected. This could happen if was called more then once.
Bugfix: Market Data Subscription failed for some Contracts if they have been registered before Connection by a Chain Registration.
Bugfix: Sometimes Account Values got not resetted after TWS has been restarted.
Bugfix: Sometimes wrong Positions returned by TWSLink. This could happen due to a missing Account Value on Account Updates.
Bugfix: No Details for Contracts available which where registered by a single Request.
Bugfix: PLACE_ORDER for modifying Order couldn't change Order Size.
Bugfix: Order Properties from Open Order Event weren't applied to Order.
Files containing complete Set of Function Declarations for Trade Station and eSignal EFS.
Function SET_EVENT_CALLBACK_OLE added to support passing OLE Strings to the Callback Function. (e.g. Callbacks in VBA, EXCEL).
Initialisation Flag 64 added. If set, Account Updates get disabled.
Initialisation Flag 128 added. If set, Request for Open Orders gets disabled.
Initialisation Flag 256 added. If set, Request for Contract Details gets disabled.
Function GET_CASH_BALANCE added. Retrieves Cash Balance for passed Currency (and Account).
Function GET_EXCHANGE_RATE added. Retrieves Exchange Rate for Currency Pair either through Ticker or Exchange Rates provided by Account Values.
Function WAIT_FOR_FILLED added. This is simply a specialized Call of WAIT_FOR_ORDER_STATUS.
Updated Excel Sample.
Version 1.0.4.7 Note: This Version is not compatible to prior Versions.
Function WAIT_FOR_CONTRACT_STATUS
changed to WAIT_FOR_ACCEPTED
Function now returns > 0 if accepted and < on Error and 0 for Acception
pending. Function newly needs just
an UID Contract Parameter and a Timeout Parameter.
Bugfix in Function WAIT_FOR_EVENT
Positions updated when an Order has been filled.
Function REQ_ACC_UPDATE
added. This is to support FA Account Clients to keep the Account Data
more actual. Normal do not need to call this Function.
GET_DLLSTATUS "seclastaccu" added to retrieve Seconds since last Account Update.
Initialisation Flag 2 -Request for Open Orders -
changed Meaning. Open Order Request is now mandatory. This Initialisation
Flag binds Orders newly created in TWS (means after Client has connected) to
Client. Set this Flag if you also want to have Control over Orders created in
TWS.
This applies only to Clients with ID = 0.
Initialisation Flag 16 - Import Contracts from Open order - removed. Contract Import from Open Orders are now mandatory.
Initialisation Flag 32 added.
If set, this Flag disables Queuing Meachnism of Order Placements if currently
not connected to TWS.
Version 1.0.4.6 Note: This Version is not compatible to prior Versions.
Migration to API Version 9.0.
- Please read the Release Notes for API Version 9.0 in then Concern of Market
Data, Contract- and Account Information.
Improved Market Data Access.
Support for Combination Legs.
Support for FA Accounts.
Callback Functions reduced to 1 Function that handles all supported Events.
Execution Report.
Various Functions added, some few removed or changed.
New Return Value for invalid Decimal Numbers: 777777777777777.
Perl and Python Modules along with Samples.
- Perl Module tested with Active Perl 5.8.8 Build 820.
- Python Module tested with Python 2.2.
Tray Icon indicates DLL been loaded.
Connection Sequence changed. Connection now implies some mandatory requests. This is for more safety but makes Connection Routine taking more Time.