TradeJournal Pro can route a Telegram stock signal from the website to the Desktop app, then submit it to Interactive Brokers through the Client Portal Gateway running on your own Windows PC or VPS.
The website never receives your IBKR username, password, or two-factor authentication secret. Authentication remains in the local gateway, which is the access model IBKR documents for individual Client Portal Web API users.
Start with an IBKR paper account. Do not enable live trading until you have verified entries, stops, targets, partial closes, and session behaviour yourself.
What changed
Interactive Brokers is now a first-class routing destination alongside EA and Cloud accounts:
- The TradeJournal Pro worker receives the Telegram message.
- The server parser recognizes an allowlisted US stock or ETF, including short tickers only when the message has explicit trade context.
- The channel sends the parsed signal to a dedicated IBKR routing token.
- The licensed Desktop bridge checks the fast queue and forwards work to
https://localhost:5000/v1/api. - The local Client Portal Gateway submits the order to the selected IBKR account.
- The Desktop bridge reports accepted IBKR order IDs to the website. If that acknowledgement is interrupted, it is stored locally and retried without intentionally placing a second order.
- While a tracked entry remains unresolved, Desktop checks the account order list at an IBKR-safe adaptive cadence and reports Submitted, Partially Filled, Filled, Cancelled, or Rejected back to the website. It stops checking that entry after a terminal broker state.
Idle bridge checks end at an in-memory worker gate, so they do not cause one database query or one Vercel function invocation per check. Broker, network, market, and exchange processing still determine the final fill time; no copier can guarantee a same-second fill.
Broker-order reconciliation is also activity-only. It begins after an accepted website-routed entry, uses one account-level order request per pass, backs off from five seconds to fifteen seconds and then one minute as an order ages, and stops after a terminal state or the one-day recovery window.
EA, Cloud, Desktop, and IBKR are separate destinations
Use a separate token for each destination you want to control independently:
| Destination | What it trades | Where orders are submitted |
|---|---|---|
| EA | MT4/MT5 broker instruments | Your MetaTrader terminal |
| Cloud | MT4/MT5/cTrader through the configured cloud provider | Hosted cloud connection |
| Desktop | Local Telegram-to-MT5 workflow | Desktop app and Bridge EA |
| IBKR | Allowlisted US stocks and ETFs | Your local IBKR Client Portal Gateway |
One Telegram channel can target one account, or you can leave the destination blank to broadcast to compatible connected accounts. A dedicated IBKR token prevents a stock signal from being submitted once through IBKR and again through an MT5 stock CFD.
IBKR routing is cloud-ingested, but it is not credential-hosted cloud execution: the local Gateway and Desktop bridge must remain running. For unattended operation, run both on your own Windows VPS and follow IBKR's session and reauthentication requirements.
Requirements
- TradeJournal Pro Desktop 2.7.0 or later for the built-in account viewer and broker lifecycle receipts.
- An unused Desktop trial or active Desktop entitlement.
- One available broker-account slot for the IBKR routing token.
- IBKR Client Portal Gateway installed and running.
- An IBKR paper username/account (normally a
DU...account). - Windows 10/11 PC or Windows VPS that remains on.
- A Telegram session connected on the TradeJournal Pro website for website routing.
Setup in eight steps
1. Start the Client Portal Gateway
Launch the Gateway and open:
https://localhost:5000
The browser will show a certificate warning because the official local Gateway uses a localhost certificate. Continue only when the host is exactly localhost or a loopback address. Sign in with your paper trading username and approve 2FA. A page that says Client login succeeds means the web login completed; the Desktop connection test confirms whether the brokerage session and selected account are actually ready.
2. Create the IBKR routing token
Open Signal Copier → EA Setup → Interactive Brokers, then choose Create IBKR routing token. Copy this token.
Keep your normal EA token if you also trade through MetaTrader. The IBKR token counts as another broker-account slot; Pro supports multiple destinations.
3. Activate Desktop with the IBKR token
Open the current Desktop app and paste the IBKR routing token into its activation screen. The server returns the token type to the app, so only an ibkr token turns on the website queue bridge.
Do not paste the normal EA token for this workflow. EA tokens keep their existing MetaTrader behaviour and are not allowed to consume the IBKR queue.
4. Configure Interactive Brokers Stocks
In Desktop, open Interactive Brokers Stocks and set:
- Gateway URL:
https://localhost:5000/v1/api - Account: your
DU...paper account - Paper trading only: on
- Shares per signal: start with
1 - Hard maximum: start with
1 - Allow short positions: off for the first test
- Trade outside regular US hours: off for the first test
- Auto-confirm IBKR warnings: off until you have reviewed the warnings in paper trading
The Gateway URL is restricted to HTTPS loopback addresses. Editing the settings file cannot redirect the authenticated Gateway session to a remote host.
5. Test the connection
Choose Test Connection. A successful result confirms all of the following:
- the Gateway responds;
- the brokerage session is authenticated;
- no competing brokerage session blocks API trading;
- the configured
DU...account is visible.
If the web page says Client login succeeds but this test fails, sign in again, approve 2FA, and confirm you used the paper username rather than the live username.
After the test passes, select View Account. TradeJournal Pro Desktop shows your current IBKR stock positions and recent orders in a read-only window. Use Refresh from IBKR when you want a new snapshot. This lets you verify orders without opening another trading session in the official IBKR Desktop application.
Can the connection live completely inside TradeJournal Pro Desktop?
The account view can live inside TradeJournal Pro Desktop, but IBKR authentication cannot be embedded or bypassed for an individual account. The official supported Web API flow requires the local Client Portal Gateway and its browser login. IBKR Login opens that official localhost page; your username, password, and 2FA never enter TradeJournal Pro.
IBKR also offers the TWS API, but that still requires Trader Workstation or IB Gateway to be installed and logged in. The separate product named IBKR Desktop is a trading interface, not the supported host for either the Client Portal Web API or TWS API. Switching APIs would therefore replace one required IBKR login application with another; it would not create a dependency-free direct connection.
If you want to keep the copier and an IBKR viewing application open simultaneously, create a second IBKR username. IBKR permits only one active brokerage session per username across its trading platforms. Otherwise, use TradeJournal Pro's built-in View Account window to avoid a competing session.
6. Route a channel to IBKR
On the website, open the Telegram channel settings and choose the new Interactive Brokers account under Route signals to a broker destination. Save the channel with automatic execution enabled.
For the first test, target the IBKR account explicitly. Do not broadcast until every other connected account is also intended to receive the signal.
7. Send a one-share paper signal
Send this in the selected Telegram channel while US markets are open:
AAPL BUY MARKET
SL 220
TP1 230
TP2 235
TP3 240
Use prices that are logically valid around the current AAPL market before sending. A BUY stop must be below the reference entry, and BUY targets must be above it. Reverse those relationships for SELL.
Check all three places:
- Desktop debug log:
[IBKR CLOUD] ... accepted - IBKR paper Orders: parent and protective orders
- TradeJournal Pro Signals: first
IBKR accepted, then the broker lifecycle status as IBKR updates the order
IBKR accepted means the broker returned order IDs; it is not a fill. The website then displays IBKR working, IBKR partial, IBKR filled, IBKR cancelled, or IBKR rejected when Desktop observes a changed broker state. The official account remains the final source of truth if the Gateway is offline or the brokerage session has restarted.
8. Test commands one at a time
After a paper position exists, send explicit stock commands:
MOVE SL AAPL TO 222.50
MOVE TP2 AAPL TO 237.00
BE AAPL
CLOSE 50% AAPL
CLOSE AAPL
For a pending paper entry, test:
CANCEL ORDER AAPL
For an account-wide emergency stock exit:
CLOSE ALL IBKR STOCKS
How TP1–TP5 work
For whole-share IBKR orders, the Desktop adapter divides the configured shares across the available targets. Five shares with TP1–TP5 create five one-share native brackets. Two shares with five targets can create only two whole-share target slices.
Each slice uses its own native parent, take-profit, and stop-loss bracket. Protective child orders stay at IBKR after submission, so a stop or target does not depend on the Desktop app remaining connected after IBKR has accepted the bracket.
The hard maximum is enforced on every signal and target slice, even if the local settings file is edited.
Supported website-routed commands
- Close one supported stock position
- Close all IBKR stock positions
- Cancel a tracked pending stock entry
- Move stop-loss to an absolute price
- Move TP1, TP2, TP3, TP4, or TP5 to an absolute price
- Move tracked stock protection to breakeven
- Partial close by percentage
Pip-only stock SL/TP changes fail with a clear error because US stocks use price increments, not an FX pip convention. layer, remove_sl, and “close TPn” messages are not executed by this safety profile. Send a new explicit stock entry if you intentionally want more exposure.
Safety rules that intentionally refuse an order
The bridge fails closed when:
- the symbol is not in the verified US-stock/ETF list;
- the ticker collides with another supported market symbol;
- short selling is disabled for a SELL signal;
- the paper-only lock sees a non-
DUaccount; - the Gateway is disconnected, unauthenticated, or has a competing session;
- the selected account is absent from the Gateway session;
- a stop or target is on the wrong side of a priced entry;
- a partial close is less than one whole share;
- a command would need to modify or cancel an untracked manual IBKR order.
TradeJournal Pro tracks its own bracket IDs and does not automatically cancel unrelated manual orders. When an untracked active order would make a position change unsafe, the command stops and tells you to review IBKR Orders.
What “cloud IBKR” means today
IBKR's current individual Web API flow uses the locally running Client Portal Gateway. IBKR's documentation also says third-party vendors need Compliance approval, and its prospective-integration documentation currently describes OAuth 1.0a approval/onboarding for third-party access.
That means TradeJournal Pro does not claim that your IBKR credentials are hosted on our servers. The production path is website/cloud signal ingestion plus your locally authenticated execution agent. A fully server-hosted, multi-user IBKR OAuth connection is a separate compliance and onboarding project.
Official references:
- IBKR Web API documentation
- IBKR Web API trading documentation
- IBKR prospective third-party integrations
- IBKR TWS API introduction
- IBKR third-party API FAQ
Troubleshooting
The Gateway page says login succeeded, but no order arrives
Run Desktop's IBKR connection test. Confirm the IBKR routing token is the token used to activate Desktop, the channel targets that account, and the Desktop debug log says the website bridge is active.
The routing account says offline
Desktop must be running with IBKR enabled and the Gateway authenticated. Its heartbeat should turn the website card to Bridge online within about one minute.
The signal was ignored
Use AAPL BUY ... or $AAPL BUY .... Short ticker symbols are accepted only in explicit trade context. This prevents ordinary Telegram sentences from becoming stock orders.
The order was accepted but not filled
Check order type, limit/stop price, regular-hours setting, trading permissions, and IBKR warnings. Website acceptance is not a fill guarantee.
A command failed because of an untracked order
Open IBKR Orders and reconcile the manual order yourself. The bridge will not cancel an order it cannot prove belongs to TradeJournal Pro.
Paper results do not guarantee live results. Review IBKR commissions, market-data permissions, order rules, and your own risk limits before enabling a live account.