TradingView to Tradovate webhook JSON (PickMyTrade)
PickMyTrade turns a TradingView alert into a Tradovate order. Start from its own templates, change them, and see as you type whether TradingView will send valid JSON; below, which prop firms let an alert trade their accounts.
Updated 25 October 2026. Runs in your browser; nothing you type is uploaded.
Send to
Alert from
Placeholders for any alert
Strategy alerts only
Text placeholders go in quotes; a placeholder added outside a string comes with them.
PickMyTrade, strategy alert
Valid JSON: TradingView sends it as application/json
0 errors, 2 things to check. This is the PickMyTrade preset for a strategy.
- YOUR_ACCOUNT_ID is still a stand-inCheck
Replace it with your own value before you create the alert.
- YOUR_TOKEN is still a stand-inCheck
Replace it with your own value before you create the alert.
What PickMyTrade receives
Content-Type: application/json, with sample values in place of the placeholders.
{
"symbol": "NQ",
"date": "2026-10-23T14:35:02Z",
"data": "buy",
"quantity": "2",
"pyramid": true,
"reverse_order_close": false,
"account_id": "YOUR_ACCOUNT_ID",
"token": "YOUR_TOKEN"
}Where it goes
- Webhook URL
- Copy the webhook URL PickMyTrade generates for your account; its docs don't print one.
- The secret
- In the message: "token" carries your PickMyTrade token, and "account_id" picks the Tradovate account.
- data reads buy, sell or close: a strategy can send {{strategy.order.action}}, an indicator says buy or sell itself.
- symbol is the Tradovate symbol, such as NQ, and account_id picks the Tradovate account; left out, PickMyTrade uses your default account.
- A price makes the order a limit order, PickMyTrade's reference says, though its own templates send "price": "{{close}}": leave price out for a market order.
- pyramid allows adding to a position the same way; reverse_order_close closes an opposite position before the new one.
From PickMyTrade's docs, read 25 October 2026: TradingView JSON alert configuration.
Or build it in Pine, so the JSON is never inside other JSON
In the alert: Order fills only, and nothing but {{strategy.order.alert_message}} in the Message box. Each order passes the whole message as alert_message, with its own buy or sell.
//@version=6
strategy("Webhook message", overlay = true)
// Your own rules go here; this example crosses two averages.
fast = ta.sma(close, 10)
slow = ta.sma(close, 30)
qty = 1
// The whole message, built here. In the alert: Order fills only, and nothing but
// {{strategy.order.alert_message}} in the Message box.
webhookMessage(string action, string id, string position) =>
string m = '{'
m += '"symbol": "NQ",'
m += '"date": "' + str.format_time(timenow, "yyyy-MM-dd'T'HH:mm:ss'Z'", "UTC") + '",'
m += '"data": "' + action + '",'
m += '"quantity": "' + str.tostring(qty) + '",'
m += '"pyramid": true,'
m += '"reverse_order_close": false,'
m += '"account_id": "YOUR_ACCOUNT_ID",'
m += '"token": "YOUR_TOKEN"'
m += '}'
m
if ta.crossover(fast, slow)
strategy.entry("Long", strategy.long, qty, alert_message = webhookMessage("buy", "Long", "long"))
if ta.crossunder(fast, slow)
strategy.entry("Short", strategy.short, qty, alert_message = webhookMessage("sell", "Short", "short"))
The code for every preset compiles on TradingView with no errors or warnings. Put your own entry rules in place of the two averages, then check the script for repaint risks.
What PickMyTrade reads
- Format
- JSON.
- Webhook URL
- Copy the webhook URL PickMyTrade generates for your account; its docs don't print one.
- The secret
- In the message: "token" carries your PickMyTrade token, and "account_id" picks the Tradovate account.
- data reads buy, sell or close: a strategy can send {{strategy.order.action}}, an indicator says buy or sell itself.
- symbol is the Tradovate symbol, such as NQ, and account_id picks the Tradovate account; left out, PickMyTrade uses your default account.
- A price makes the order a limit order, PickMyTrade's reference says, though its own templates send "price": "{{close}}": leave price out for a market order.
- pyramid allows adding to a position the same way; reverse_order_close closes an opposite position before the new one.
The two starting messages
{
"symbol": "NQ",
"date": "{{timenow}}",
"data": "{{strategy.order.action}}",
"quantity": "{{strategy.order.contracts}}",
"pyramid": true,
"reverse_order_close": false,
"account_id": "YOUR_ACCOUNT_ID",
"token": "YOUR_TOKEN"
}{
"symbol": "NQ",
"date": "{{timenow}}",
"data": "buy",
"quantity": 1,
"reverse_order_close": true,
"account_id": "YOUR_ACCOUNT_ID",
"token": "YOUR_TOKEN"
}From PickMyTrade's own docs, read 25 October 2026: TradingView JSON alert configuration.
Prop firm accounts: is automation allowed?
Each firm's rule, as our rule posts quote it. A firm's current page is the one that binds you.
| Firm | Automation | What the firm says |
|---|---|---|
| Lucid Trading | Allowed | Automated strategies and trade copiers are allowed; you own any software errors. Read 22 Oct 2026 |
| MyFundedFutures | With conditions | Allowed "so long as these automated tools do not aim to exploit the favorable fills offered in the Simulated Environment"; no high-frequency trading. Read 17 Oct 2026 |
| Tradeify | With conditions | Bots are allowed if you're the sole owner, don't share them or run them at other firms, and they aren't high-frequency; Tradeify asks for a live video of you starting one on your own PC. Read 17 Oct 2026 |
| Topstep | With conditions | Automated strategies are allowed "with conditions"; the TopstepX API is for the simulated accounts, not Live, and a VPS, VPN or remote server is prohibited. Read 18 Oct 2026 |
| Bulenox | Its pages differ | Its FAQ permits your own bots, algorithms and copiers, with a $100 monthly fee for a third-party API connection; its Terms say third-party automation must be reviewed and approved first. Read 22 Oct 2026 |
| Apex Trader Funding | Not allowed | "No Automation or Algorithm Usage allowed", in a help-center page archived on 2026-03-25, the oldest source here: recheck it first. Read 8 Oct 2026 |
| Take Profit Trader | Not allowed | "No Trading Bots or Algos" on every account; trade copiers only between your own accounts, from an approved list. Read 17 Oct 2026 |
| Alpha Futures | Not allowed | AI, bots and other automated trading are prohibited on all accounts; a signal indicator is fine if you place the trade yourself. Read 18 Oct 2026 |
TradingView's side of a webhook
- Plan and 2FA
- Webhook notifications are on Essential, Plus, Premium, Ultimate, not on the free Basic plan (pricing table), and webhook alerts are allowed only with two-factor authentication turned on.
- Content-Type
- application/json when the message is valid JSON, text/plain otherwise. TradingView sends a POST with the message as the body.
- IP addresses to allowlist
52.89.214.238,34.212.75.30,54.218.53.128,52.32.178.7. Over HTTPS TradingView also sends a client certificate for webhook-server@tradingview.com (webhook authentication).- Ports, IPv6 and time
- Ports 80 and 443 only; no IPv6; no localhost or private addresses. A request your server takes more than three seconds to answer is cancelled, and a 500 to 599 answer other than 504 is sent again after 5 seconds, up to 3 times (resubmission).
- Message length
- 4,000 characters in the alert's Message box; 40,960 from alert() or alert_message. The body has the same limits, and an emoji counts as several characters (size limits).
- Secrets
- TradingView asks you not to put login credentials or passwords in the webhook URL or message (credentials for webhooks).
From TradingView's How to configure webhook alerts and the pages linked above, read 23 October 2026.
Other receivers
- TradersPost webhook JSON builder and validator JSON with ticker and action; the password is in the webhook URL.
- TradingView to MT5 with PineConnector: the alert message Comma-separated text, not JSON; the License ID leads the message.
- TradingView to CrossTrade webhook JSON Flat JSON or key=value; text; the Secret Key goes in the message.
- TradingView to 3Commas Signal Bot JSON v2 Signal Bot JSON; the v1 secret and bot_uuid format is retired.
- TradingView to Discord webhook JSON JSON with content or embeds; the token is in the webhook URL.
- TradingView alerts to Telegram Steps and the sendMessage JSON with chat_id and text; the bot token stays in your relay.
- Custom JSON for your own server and TradingView's placeholders in full.
Common questions
How do I send TradingView alerts to Tradovate?
Through a bridge that holds your Tradovate connection, such as PickMyTrade: point the alert's webhook at the URL it generates and send its JSON, with the Tradovate symbol (NQ), data (buy, sell or close), quantity, your account_id and token. TradingView sends the message as application/json only when it is valid JSON.
What does data mean in a PickMyTrade alert?
The side: buy, sell or close. A strategy alert can send {{strategy.order.action}}, which TradingView fills with buy or sell; an indicator alert has no order, so it spells out buy or sell.
Can I automate a prop firm account on Tradovate?
It depends on the firm. Of the eight in the table on this page, Lucid allows automation; MyFundedFutures, Tradeify and Topstep allow it with conditions; Bulenox's pages differ; Apex, Take Profit Trader and Alpha Futures don't allow it. Each row quotes the firm and links the rule post it comes from.
Alerts that already send the message
- Signal Desk Premium A Pine v6 desk whose alerts write the message for you, as ticket text, JSON, TradersPost or PineConnector, with a Discord and Telegram relay. $49 once.
- Pine Fixer An AI skill pack for 45 compiler-verified Pine v6 failure classes, with a repaint clinic. $9.99 once.