From install to live ticks.
StreamXLS streams Interactive Brokers TWS and IB Gateway data into native Excel =RTD() formulas. This page takes you from a fresh install to streaming quotes, positions, and orders in a worksheet. Each step is self-contained, so you can jump to whatever you need.
Two pieces, two jobs
StreamXLS installs two pieces. Knowing which is which makes everything else on this page make sense.
StreamXLS.dll, ProgID Tws.Rtd) that Excel loads in-process the moment a formula asks for it. No window, no ribbon, no tray icon; it stops when Excel closes.
You type formulas against the engine; you manage the product in the StreamXLS Control Panel.
What you need
• Windows with Microsoft Excel. Both 32-bit and 64-bit Excel are supported by the one installer.
• .NET Framework 4.8 — present by default on modern Windows.
• Interactive Brokers TWS or IB Gateway, with the API enabled (see TWS setup).
• TWS API installed on the machine. Recommended latest "Stable" release.
Install and start the trial
Run the installer. The 30-day, full-featured trial starts automatically the first time StreamXLS is used in Excel.
Once you've purchased a license, your key arrives by email. Open the StreamXLS Control Panel from the Start menu, paste the key, and click Activate. The StreamXLS Control Panel also shows your license status, TWS API status, and settings, so it's the first place to look when something isn't behaving.
More on the trial clock, watching it live from a worksheet, and activation in Your trial & license below.
To remove StreamXLS, uninstall it from Windows Settings → Apps. Because everything is per-user, uninstalling leaves no machine-wide residue.
Enable the API
In Trader Workstation, open File → Global Configuration → API → Settings and check "Enable ActiveX and Socket Clients". IB Gateway exposes the same setting under its Configuration panel. StreamXLS connects over that socket, so it runs against either TWS or IB Gateway.
Default socket ports:
• TWS live — 7496
• TWS paper — 7497
• IB Gateway live — 4001
• IB Gateway paper — 4002
StreamXLS connects to 127.0.0.1:7496 by default. The host, port, and client ID can each be set per formula (using optional connection topics) or in the StreamXLS Control Panel settings — so a single workbook can watch a paper and a live session at once.
Type a formula, get a stream
Every value is a native Excel =RTD() formula against ProgID Tws.Rtd, addressed by a uniform topic-string tuple. There is no ribbon and no add-in to load — the engine starts the moment a cell asks for it. Topic and field names are case-insensitive. Start with the connection check; the rest follow the same grammar.
Replace U1234567 with your own account code, and AAPL with any contract. (A bare symbol defaults to STK/SMART/USD.)
Why MarketPrice first? It blends Mid → Last → Close, so it produces a value under delayed data, after hours, and without a realtime subscription. The strict variant, =RTD("Tws.Rtd", , "AAPL", "Last"), is the pure trade-price field: it stays #N/A until a trade actually prints under realtime or frozen data — exactly what you want live, surprising on day one. No value where you expected one? See Troubleshooting.
Return-value convention. A field returns a number (or text) when its value is known to be current. When it is not, time-sensitive fields default to returning #N/A rather than a stale value.
Go deeper
The formulas above are one grammar in miniature. Two pages go deeper: the Reference is the complete grammar — six topic families, every field, options and futures contract syntax, and order submission — and Configuration covers environment variables, logging, and tuning. The FAQ answers the product and licensing questions; "How it works" explains what makes the engine production-grade.
A demo workbook illustrates every feature so you can start without reading further — download it, or find the copy the installer placed alongside the product.
Reference — the full grammar & fields → Configuration — tuning & diagnostics → How it works FAQ
When something's off
Positions, orders, and account values work, but I get no market-data quotes.
Your TWS API install is almost certainly older than 10.38.01. Modern TWS serves quotes only over a protocol negotiated at server protocol v206; an older API negotiates a sub-v206 protocol and TWS sends no market-data ticks, while orders, positions, account values, and P&L keep working. StreamXLS withholds the quote topics fail-loud in this case rather than showing blanks.
Confirm it with the per-connection status fields: =RTD("Tws.Rtd", , "status", "MarketDataState") reads Ok / TooOld / Unknown, and MarketDataMessage carries the "update your TWS API" detail when it's TooOld. The fix is to update the TWS API to a current release and reconnect.
The deep explainer — why an old TWS API silently kills quotes while everything else keeps working — is at Configuration → The TWS-API version floor.
The connection to TWS dropped mid-session.
StreamXLS reconnects automatically and re-establishes the subscriptions that were active — you don't need to touch your formulas. If Excel is very busy the automatic reconnect can take a minute or longer; you can force it by closing and reopening Excel, or with the VBA call Application.RTD.RefreshData. Watch =RTD("Tws.Rtd", , "status", "IsConnected") to see the link come back.
Some cells show #N/A.
That is by design. StreamXLS never shows uncertain data as a stale number: when a time-sensitive value isn't known to be current — when TWS is disconnected or unresponsive — the cell reads #N/A instead of holding a last-good value. A visible gap is safer than a silently frozen price.
IsConnected is FALSE and nothing streams.
Check that TWS or IB Gateway is running and logged in, that "Enable ActiveX and Socket Clients" is checked (see TWS setup), and that the port matches — 7496 for TWS live, 7497 for TWS paper, 4001/4002 for the Gateway. StreamXLS connects to 127.0.0.1:7496 unless you override the host or port.
How do I check my license state?
Read it live from Excel via the metadata topics =RTD("Tws.Rtd", , "LICENSE_STATE"), LICENSE_MESSAGE, and LICENSE_DAYS_REMAINING. The same details are shown in the StreamXLS Control Panel.
Your trial & license
The 30-day, full-featured trial starts automatically the first time StreamXLS is used in Excel — no key, no signup, nothing to configure.
Watch the clock from inside your workbook. The license fields resolve in every state, so you can build your own countdown:
=RTD("Tws.Rtd", , "LICENSE_DAYS_REMAINING") returns the whole days left in the trial;
LICENSE_STATE reads Trial / Paid / Expired; and
LICENSE_MESSAGE carries the human-readable detail. The same status is shown in the StreamXLS Control Panel.
When you're ready, buy a subscription on the pricing page. Your license key arrives by email; open the StreamXLS Control Panel from the Start menu, paste the key, and click Activate. Your workbooks keep running unchanged.
Still stuck?
If the answer isn't here, the support page covers how to reach us and what to include. Or email [email protected] directly.