Main clusters and core pages.
AlgoWay connects TradingView alerts to Interactive Brokers through webhook automation. The setup has five important parts: create an IBKR webhook in AlgoWay, enter your IBKR credentials, authorize the IBKR session, test the webhook, and send valid TradingView JSON to the AlgoWay webhook URL.
This guide describes the complete route shown in the screenshots: the AlgoWay webhook creation modal, the IBKR webhook form, the IBKR authorization button, the AlgoWay test webhook modal, the TradingView alert message, and the TradingView webhook URL configuration.
The execution route is:
TradingView alert → AlgoWay webhook URL → AlgoWay validation → IBKR authorized session → Interactive Brokers order
TradingView creates the signal. AlgoWay receives the webhook payload, validates the JSON, applies the selected webhook settings, checks the IBKR session, and sends the order to the selected Interactive Brokers account.
Last updated: 2026-06-17 • Author: AlgoWay
To automate Interactive Brokers from TradingView with AlgoWay, complete this checklist:
.CFD or .STK.AAPL or XAUUSD. Use explicit suffixes such as AAPL.STK or XAUUSD.CFD.
AlgoWay works as the automation bridge between TradingView and Interactive Brokers:
The IBKR username, password, account ID, authorization state and symbol format must all match the same trading route.
Prepare the following before you create the IBKR webhook:
Open the AlgoWay dashboard and create a new webhook route.
Fill in the IBKR webhook form in AlgoWay.
After the IBKR fields are filled, click Authorize IBKR.
If authorization fails, check username, password, account type, account ID and active IBKR sessions using the same username.
The IBKR Account ID tells AlgoWay which Interactive Brokers account should receive orders.
Example:
DUQ234554
If your IBKR username has more than one trading account, enter the exact account ID manually. This prevents TradingView alerts from being routed to the wrong account.
IBKR requires clear instrument routing. For AlgoWay IBKR webhooks, send symbols with explicit suffixes.
Use symbols such as:
XAUUSD.CFD
AAPL.STK
MSFT.STK
TSLA.STK
Do not send bare symbols such as:
XAUUSD
AAPL
MSFT
TSLA
.CFD for CFD instruments and .STK for stocks.
| Instrument | TradingView or user symbol | IBKR symbol for AlgoWay |
|---|---|---|
| Gold CFD | XAUUSD | XAUUSD.CFD |
| Apple stock | AAPL | AAPL.STK |
| Microsoft stock | MSFT | MSFT.STK |
| Tesla stock | TSLA | TSLA.STK |
The Symbol Mapping field is optional. Use it only when TradingView sends one symbol format and IBKR needs another format.
Format:
FROM:TO
Multiple mappings can be separated by comma or space.
Example:
AAPL:AAPL.STK, XAUUSD:XAUUSD.CFD
In this example, if TradingView sends AAPL, AlgoWay sends AAPL.STK to IBKR. If TradingView sends XAUUSD, AlgoWay sends XAUUSD.CFD to IBKR.
IBKR may interrupt the AlgoWay IBKR session if the same username is used in another IBKR login session.
This can happen when the same username is opened in:
If another session takes over the login, AlgoWay can receive a session error.
Example error:
IBKR session is not active. Probable reason: TWS, IBKR Gateway, IBKR Mobile, or Client Portal is open with the same username. AlgoWay watchdog will reconnect automatically.
Before connecting live TradingView alerts, test the IBKR route from AlgoWay with a small order.
XAUUSD.CFD.
Example test JSON:
{
"platform_name": "ibkr",
"symbol": "XAUUSD.CFD",
"order_action": "buy",
"order_contracts": 1,
"sl_price": 2000,
"tp_price": 6000,
"trailing_pips": 200
}
TradingView must send one valid JSON object. AlgoWay expects structured fields, not plain text.
{
"platform_name": "ibkr",
"ticker": "{{ticker}}",
"order_contracts": "{{strategy.order.contracts}}",
"order_action": "{{strategy.market_position}}",
"price": "{{close}}"
}
TradingView replaces these placeholders when the alert fires:
{{ticker}} — chart ticker;{{strategy.order.contracts}} — strategy order size;{{strategy.market_position}} — strategy position state;{{close}} — close price at alert time.
For a controlled test, use a fixed symbol and small valid quantity:
{
"platform_name": "ibkr",
"ticker": "AAPL.STK",
"order_contracts": 1,
"order_action": "buy"
}
For CFD testing, use an IBKR CFD symbol with the .CFD suffix:
{
"platform_name": "ibkr",
"ticker": "XAUUSD.CFD",
"order_contracts": 1,
"order_action": "buy"
}
After the webhook URL and JSON are ready, create or edit the TradingView alert.
Webhook URL format:
https://algoway.co/your-webhook-uuid
AlgoWay supports optional IBKR risk-management and order fields according to the AlgoWay JSON format.
{
"platform_name": "ibkr",
"ticker": "XAUUSD.CFD",
"order_action": "buy",
"order_contracts": 1,
"sl_price": 2000,
"tp_price": 6000,
"trailing_pips": 200
}
{
"platform_name": "ibkr",
"ticker": "XAUUSD.CFD",
"order_action": "buy",
"order_contracts": 1,
"stop_loss": 50,
"take_profit": 100
}
{
"platform_name": "ibkr",
"ticker": "AAPL.STK",
"order_action": "buy",
"order_contracts": 1,
"order_type": "limit",
"price": 190.50
}
After the TradingView alert is created, trigger a small test and verify each layer:
If no order appears in IBKR, do not immediately edit the TradingView strategy. First check whether AlgoWay received the webhook. If AlgoWay received it, check IBKR authorization, active sessions, account ID, symbol suffix, quantity, order type and market session.
If IBKR authorization is not completed, the webhook cannot send orders to the IBKR account. Return to the webhook form and click Authorize IBKR.
If the same username is open in IBKR Web, TWS, IBKR Gateway, IBKR Mobile or Client Portal, the AlgoWay IBKR session can be interrupted. Log out from the other session and wait for AlgoWay to reconnect.
If the account ID is wrong, the order can be rejected or routed incorrectly. Confirm the exact IBKR account ID before enabling TradingView alerts.
IBKR webhooks require explicit symbol suffixes. Use .STK for stocks and .CFD for CFD instruments.
TradingView must send one valid JSON object. Broken commas, missing quotes, invalid placeholders or plain text can stop the automation before IBKR receives anything. See: How to fix AlgoWay webhook Error 415.
The order size must be valid for the selected IBKR instrument. Start with a small test quantity and check the response in AlgoWay logs.
IBKR instruments follow their own market sessions. If the selected instrument is closed, AlgoWay can reject market execution instead of leaving a market order queued at the broker.
If order_type is set to limit, the JSON must include a valid price value.
Check the TradingView alert frequency. For many strategy alerts, Once per bar close is safer than intrabar execution.
Yes. AlgoWay can receive TradingView webhook alerts and route structured JSON commands to Interactive Brokers through an IBKR webhook created in the AlgoWay dashboard.
Yes. Click Authorize IBKR and wait for authorization to complete before adding the webhook.
Use explicit suffixes such as AAPL.STK for stocks and XAUUSD.CFD for CFD instruments.
Yes. Use the Symbol Mapping field when TradingView sends one symbol format and IBKR requires another format. Example: AAPL:AAPL.STK.
Yes. AlgoWay supports optional IBKR fields such as sl_price, tp_price, stop_loss, take_profit and trailing_pips.
Yes. Use order_type set to limit and include a valid price value.
The most common reason is another active IBKR session using the same username. Log out from IBKR Web, TWS, IBKR Gateway, IBKR Mobile or Client Portal and wait for AlgoWay to reconnect.
To connect TradingView alerts to Interactive Brokers with AlgoWay, create an IBKR webhook, enter your IBKR credentials, authorize the IBKR session, confirm the IBKR account ID, use symbols with explicit suffixes, test the route, copy the webhook URL, and send valid JSON from TradingView.
The two most important IBKR setup rules are authorization and symbol suffixes. The IBKR session must be active in AlgoWay, and symbols must clearly identify the instrument type, such as .STK or .CFD.