To run one TradingView strategy on multiple accounts, send one strategy alert to a single receiver that places the order on every account, and make the message carry the target position ({{strategy.position_size}}), not the order size. The qualification is delivery: a webhook (the HTTP message TradingView posts to a URL you give it) is cancelled if the receiver takes longer than three seconds, and TradingView documents a resend only after a 5xx server error other than 504.
Send one alert per strategy, not one per account: 3 strategies on 5 accounts then need 3 alerts instead of 15, with 3 expiry dates and 3 rebuilds instead of 15. Put the position in the message, not the order size. TradingView says {{strategy.position_size}} returns the size of the current position, so in our illustrative buy 3, sell 2, sell 1 run an account that misses the sell 2 ends flat, where order-size messages leave it long 2.
Can one TradingView alert trade several accounts?
Yes, but only through a receiver that splits it: an alert delivers its message to the webhook URL you enter, and TradingView's help pages document no way to send one alert to a list of accounts. In architecture A you create one alert per account, each pointing at that account's endpoint. In architecture B you create one alert per strategy, pointing at one receiver (a webhook bridge or a trade copier's leader account) that fans the order out to every follower.
Picture one strategy and five accounts. In A, five alerts leave TradingView, and each has its own 3-second deadline, its own counter for the 15-triggers-in-3-minutes stop and its own expiry date, up to two months out. In B, one alert leaves, meets one deadline, runs one counter and expires once, and the receiver splits it into five orders.
B concentrates the failure: if its one alert stops, all five accounts miss the next order together. That is the better failure, because the accounts stay in step and one fix restores them all; under A they drop out one at a time. Thor works the B way: a TradingView strategy or indicator acts as the leader account through native webhook alerts, with no Tradovate account required. Check how any receiver, Thor included, reads the alert message before you rely on target positions. If you only trade one account, TradingView's own broker connections, covered in TradingView for futures prop trading, may be all you need.
What does a TradingView strategy alert send?
A strategy alert fires each time the strategy's simulated broker fills an order, and its message can carry placeholders describing that fill and the position after it. According to TradingView's Strategy Alerts page, "When an order placed by the strategy is executed by the broker emulator, an alert is triggered." One alert covers every order until it expires.
Four placeholders matter here, as documented on TradingView's variable values in alerts page:
- {{strategy.order.action}} returns "buy" or "sell" for the executed order.
- {{strategy.order.contracts}} "returns the number of contracts of the executed order." That is a change, not a state.
- {{strategy.position_size}} "returns the value of the same keyword in Pine, i.e., the size of the current position." It is positive when long, negative when short and zero when flat.
- {{strategy.market_position}} returns "long", "flat" or "short".
Picture a grid with those four placeholders as rows and the three fills of an illustrative scale-out (buy 3, sell 2, sell 1) as columns. Fill 1 reads buy, 3, 3, long; fill 2 reads sell, 2, 1, long; fill 3 reads sell, 1, 0, flat. A fourth column shows a reversal from long 1 to short 1, and it reads sell, 2, -1, short.
That last column is the easy one to miss. TradingView's Pine Script manual on strategies says that when an entry fills against an opposite position, "the command automatically adds the position's size to the new order's size." So a reversal from long 1 to short 1 sends contracts = 2. "Sell 2" is right only for an account that was long 1 beforehand; a position_size of -1 is right whatever the account held.
Why do accounts get out of sync after a missed alert?
Because an order-size message tells each account to change its position by an amount, so an account that misses one change stays off by that amount until you fix it by hand. A target-position message tells each account what to hold, so the next alert it receives puts it back in line.
In the illustrative run, accounts A, B and C follow one strategy. Step 1: the strategy buys 3 and all three accounts go long 3. Step 2: the strategy sells 2 and is long 1; A and C sell 2, but B's webhook fails (say its receiver missed the 3-second deadline), so B stays long 3.
Step 3: the strategy sells 1 and is flat. Under order-size messages B sells 1 and ends long 2, a position no strategy exit will ever close; under target-position messages B receives "0", sells 3 and ends flat.
A common fix is to add a flat state to an order-size message. TradersPost's Signal Message Reference describes one: "The sentiment field allows you to specify what the sentiment of the position should be after executing the trade." That rescues B only when the strategy goes flat. In a second illustrative sequence (buy 3, sell 2, buy 2, sell 3) with the same miss, B holds 5 contracts while the strategy holds 3: 1.67 times the intended size, which can breach a contract cap.
Picture both runs as four step lines on one axis of contracts held: the strategy, and B under order-size, hybrid and target messages.
Computed by Phoenix Technologies; method: the strategy position is the running sum of fills, an order-size account adds each fill it receives, a hybrid account does the same but goes to 0 on a flat state, and a target account sets its position to {{strategy.position_size}} on each alert it receives. Sequences are illustrative; account B misses fill 2 in both runs.
| Run, fill | Strategy order | Strategy position | B, order size | B, order size + flat | B, target |
|---|---|---|---|---|---|
| 1, fill 1 | buy 3 | 3 | 3 | 3 | 3 |
| 1, fill 2 (missed) | sell 2 | 1 | 3 | 3 | 3 |
| 1, fill 3 | sell 1 | 0 | 2 | 0 | 0 |
| 2, fill 1 | buy 3 | 3 | 3 | 3 | 3 |
| 2, fill 2 (missed) | sell 2 | 1 | 3 | 3 | 3 |
| 2, fill 3 | buy 2 | 3 | 5 | 5 | 3 |
| 2, fill 4 | sell 3 | 0 | 2 | 0 | 0 |
Only the target message is idempotent (sending it twice gives the same result as once), so a missed or repeated alert leaves an account off only until the next one. The tradeoff: a target overrides you. Flatten one account by hand mid-trade and the next alert restores the strategy's position, and the receiver must read each account's position to compute the order.
Does a smaller follower drift even when no alert is missed?
Yes, under order-size messages: a follower that trades a fraction of the strategy's size rounds each order to whole contracts separately, and those rounding errors add up. A target message rounds the position once per alert, so the error cannot accumulate.
Take an illustrative half-size follower (multiplier 0.5) and a strategy that buys 3, then sells 1 three times, with no alert missed. Rounding each half contract up to a whole one, the order-size follower buys 2, sells 1 each time and ends short 1 while the strategy is flat. With floor rounding it buys 1, rounds every exit to 0 and stays long 1. The target follower ends flat.
| Fill | Strategy position | Order size, halves rounded up | Order size, floor | Target, halves rounded up |
|---|---|---|---|---|
| buy 3 | 3 | 2 | 1 | 2 |
| sell 1 | 2 | 1 | 1 | 1 |
| sell 1 | 1 | 0 | 1 | 1 |
| sell 1 | 0 | -1 | 1 | 0 |
Computed by Phoenix Technologies; method: order-size follower = running sum of each order's size times 0.5, each order rounded to whole contracts before it is added (halves rounded away from zero, or floored); target follower = strategy position times 0.5, rounded. The target ends at 0 under either. Exits on unequal followers are covered in copying a scale-out across followers, and choosing the ratio in copy trading sizing methods.
What makes a TradingView webhook alert go missing?
Five documented causes: a slow receiver, an alert stopped for firing too often, an expired alert, an alert running old settings, and a delivery error that TradingView does not resend. Each leaves every account behind that alert without the order.
- Slow receiver. TradingView's webhook configuration guide says: "If a remote server takes longer than three seconds to process a request, the request will be cancelled."
- Too many triggers. The Strategy Alerts page states that "the alert will be stopped if it triggers more than 15 times in 3 minutes."
- Expiry. TradingView's introduction to alerts says "The maximum lifetime of a standard alert is two months", with an open-ended option on Premium and Ultimate. Per-account alerts created on different days expire on different days.
- Old settings. Editing the strategy does not update the alert: per the Strategy Alerts page, "you will need to delete the previous alert and create a new one." With per-account alerts, a forgotten one leaves that account on old inputs.
- Delivery errors. TradingView's webhook error reference lists redirects, 4xx and 5xx responses, "Timeout exceeded", invalid URLs, TLS problems and private IPs. Its webhook resubmission page says a webhook is sent again "after 5 seconds" only when the receiver returns "an HTTP response status code between 500 and 599 (except for status code 504)", with up to 3 resends; it describes no resend for any other error.
Your closed browser is not a cause. The Pine Script manual on alerts says that "TradingView saves a mirror image of the script and its inputs" with the chart's symbol and timeframe, and runs the alert on its servers. TradingView publishes no webhook delivery latency or failure rate, and no vendor or study publishes how often accounts drift. Timing faults are covered in why TradingView alerts arrive late, and an account that is already out of step is diagnosed in the trade copier not copying checklist.
How many TradingView alerts do you need for several accounts?
One per strategy with a fan-out receiver, or strategies times accounts without one: 3 strategies on 5 accounts need 3 alerts or 15. Both fit every paid plan's limit, so the limit rarely decides it.
As of October 2026, TradingView's pricing page lists these active technical alerts (on indicators, strategies and drawings): Basic none, Essential 20, Plus 100, Premium 400, Ultimate 1,000. TradingView's help article on getting more active alerts confirms "800 active alerts (400 price alerts + 400 technical alerts)" for Premium. Webhooks need a paid plan; the free Basic plan has none. Vendor guides, as of October 2026, give Essential as the cheapest plan with webhooks; check the Webhook notifications row on the pricing page before you buy.
Picture each plan's limit as a tall outline on one baseline, with a 15-alert bar and a 3-alert bar inside. On Essential, 15 alerts fill three quarters of it; on Ultimate both are slivers.
| Plan | Technical alert limit | 15 per-account alerts, share | 3 fan-out alerts, share | Max accounts per strategy, 3 strategies, per-account |
|---|---|---|---|---|
| Essential | 20 | 75% | 15% | 6 |
| Plus | 100 | 15% | 3% | 33 |
| Premium | 400 | 3.8% | 0.8% | 133 |
| Ultimate | 1,000 | 1.5% | 0.3% | 333 |
Computed by Phoenix Technologies from TradingView's published limits; method: per-account alerts = strategies x accounts, fan-out = strategies, share rounded to 0.1%, max accounts = limit / 3 rounded down; assumes each strategy runs on one symbol, since each alert is tied to one symbol and timeframe.
Can you use an indicator instead of a strategy?
Yes, but an indicator has no strategy.* placeholders and so no position state: the message carries only what your script writes into it, so compute the intended position yourself and write it in.
The reverse does not work either. The Pine Script manual says: "While the presence of alertcondition() calls in a strategy script will not cause a compilation error, alerts cannot be created from them." Strategies alert on order fills and alert() calls instead. Inside a strategy, the manual adds that the alert_message argument "can be constructed dynamically using any variable available to the script", so you can write your own target and symbol into each order's message.
How do you set up one strategy alert for several accounts?
Create one alert on the strategy, point it at one receiver, send the target position in the message, and set each follower's size at the receiver. In order:
- Check that every account's firm allows automated strategies, in its current rules; automation rules at prop firms explains what to look for, and rules for running several prop accounts covers the multi-account side.
- Turn on two-factor authentication. TradingView says "webhook alerts are only allowed when 2-factor authentication is enabled."
- Enter the receiver's URL as the alert's webhook. If the URL carries a port number, only ports 80 and 443 are accepted.
- Write the message as JSON (it is then sent as application/json) with the target as the field your receiver acts on, for example
{"target": {{strategy.position_size}}, "state": "{{strategy.market_position}}", "id": "{{strategy.order.id}}"}(illustrative field names; your receiver's documentation sets the real ones). - Set each follower's multiplier at the receiver, so one alert serves every account size.
- Test a miss on simulated accounts: block one follower for one alert, then confirm the next alert returns it to the strategy's position. Testing a copier before going live has the full routine.
- Write down the alert's expiry date, and delete and recreate the alert after any change to the strategy's settings.
- Compare each account's position with the strategy's at the end of every session. Reconciling what your copier did shows how; small P&L gaps with matching positions are fills, covered in why follower results differ.
Which setup should you use?
Use one strategy alert with a fan-out receiver that accepts a target position, on accounts whose firms allow automation. Every branch away from that adds manual work.
Picture a tree of four questions: strategy or indicator, target or order size at the receiver, automation allowed at every firm, and equal or different follower sizes. A receiver without targets needs order size plus {{strategy.market_position}} and a manual reconcile after any failed delivery.
- If your receiver accepts only order sizes, check every account after any webhook error; none will self-correct before the strategy goes flat.
- If any follower trades a fraction of the strategy's size, use target messages, or expect rounding drift (1 contract in our illustrative run) with no alert missed.
- If your strategy reverses, never rely on {{strategy.order.contracts}} alone: a reversal from long 1 to short 1 sends 2.
- If a firm bans automation, a copier does not change that: trade that account by hand or not at all.
Go deeper
- Why Are TradingView Alerts Delayed? Bar Close, Webhooks, Fixes
- Copying a Scale-Out: What Happens to Partial Closes Across Different-Sized Followers
- Automated and Algo Trading on Futures Prop Firms: Bots, EAs and the Rules
- Proving What Your Copier Did: Audit Trails and Reconciliation That Survive a Dispute
Frequently asked questions
Do TradingView strategy alerts fire on historical bars or in the backtest?
No. TradingView says strategy alerts are only triggered for orders executed in realtime. Fills you see in the Strategy Tester on past bars never reach your receiver, so your accounts start from the first live fill after you create the alert.
How do I send a short position as a target?
Use {{strategy.position_size}}, which is negative when the strategy is short, or pair {{strategy.market_position}} ("short") with {{strategy.market_position_size}}. TradingView documents market_position_size as the size of the current position as an absolute value, a non-negative number, so it needs the direction field beside it.
Can one TradingView alert cover several symbols?
No. TradingView saves each alert with the chart's main symbol and timeframe and runs it on its servers. A strategy traded on two symbols needs one alert per symbol, which is why the alert budget counts one alert per strategy per symbol.
Can I allow-list TradingView on my server firewall?
Yes. TradingView's webhook configuration page lists the IP addresses its webhooks are sent from, so a self-hosted receiver can accept only those. The same page requires port 80 or 443 if your URL names a port.
How fast and reliable is TradingView webhook delivery?
TradingView publishes no delivery latency or failure rate. What it does publish is the 3-second limit on your receiver, a resend (up to 3 times) only after a 5xx server error other than 504, and a list of error types in the alert log, so the log is the only first-hand record of a failed delivery.
Does pyramiding change what the alert sends?
Yes, because each added entry is its own fill and its own alert. TradingView's strategies manual gives a default pyramiding of 1, so strategy.entry() calls only scale in if you raise it, and each scale-in then sends its own order size while {{strategy.position_size}} reports the new total.
Do strategy alerts fire inside the bar?
Order-fill alerts fire when the broker emulator executes an order, but alert() calls in a strategy fire once per bar close unless the strategy declares calc_on_every_tick = true. Bar-close timing adds a delay that is by design, not a fault.
How often do copied accounts drift because of missed alerts?
No vendor or study publishes a rate. The drift tables here are illustrative sequences; your own alert log and an end-of-session position check are the only way to measure it for your setup.
Sources
- TradingView (2026), How to configure webhook alerts
- TradingView (2026), How to use a variable value in alert
- TradingView (2026), Strategy Alerts
- TradingView (2026), Alerts (Pine Script User Manual)
- TradingView (2026), Strategies (Pine Script User Manual)
- TradingView (2026), TradingView Subscriptions: Pricing and Features
- TradingView (2026), Introduction to TradingView alerts
- TradingView (2026), What do errors mean when sending webhooks?
- TradingView (2026), Webhook resubmission
- TradersPost (2026), Signal Message Reference