Why Connect TradingView to Tradovate?
TradingView is where many futures traders build and chart their strategies. Tradovate is where they hold their futures accounts, including many prop-firm evaluation and funded accounts. The two do not talk to each other on their own: a TradingView alert can pop up on your screen, but it cannot place a Tradovate order.
A webhook connector closes that gap. TradingView sends the alert to the connector, and the connector places the order on Tradovate. This guide walks through the whole setup with Roboquant Connect, from connecting your account to verifying the first order, plus the safety settings to review before you trade live.
What You Need
- A TradingView plan with webhooks. Webhook notifications are included on Essential and above, not on the free Basic plan (TradingView pricing).
- Two-factor authentication on TradingView. TradingView only allows webhook alerts when 2FA is on.
- A Tradovate account. Start with a demo account; switch to live once everything works.
- A Roboquant Connect subscription. Every new subscription starts with a 7-day free trial, so you can finish this setup on a demo account before paying.
What it costs
Budget for three separate things:
- TradingView: a paid plan (Essential or higher) for webhooks.
- Roboquant Connect: $39.90/month after the 7-day free trial.
- Tradovate: Tradovate charges per-contract commissions that depend on your Tradovate plan, plus exchange and NFA fees, on every trade. See Tradovate's pricing page.
Step 1: Start Connect and Open the App
Start your trial from the Connect pricing section and open the app. You can explore everything with a Tradovate demo account before any real money is involved.
Step 2: Connect Your Tradovate Account
In the app, go to Accounts → Connect Tradovate.
- You are sent to Tradovate's official login page (OAuth). You sign in there, so Connect never sees your Tradovate password.
- Every account under that Tradovate login is connected at once, including prop-firm evaluation and funded accounts that sit under it.
- There is no limit on the number of Tradovate accounts you connect.
Pick a demo account for your first test. It lets you check the whole chain end to end without risking money.
Step 3: Build Your Alert in the Alert Builder
Open the Alert Builder and choose:
- Account(s): one account, or several to trade the same signal on each (see multi-account trading).
- Alert type: strategy if the alert comes from a Pine Script strategy, indicator if it comes from a condition or indicator.
- Position sizing: the quantity, or a per-account multiplier or fixed quantity (a fixed quantity always applies; the multiplier applies when the account's position sizing is Fixed Qty, the default).
- Order type: market by default, or limit or stop.
- Take profit and stop loss: optional.
- Symbol: leave it empty. Connect then uses TradingView's
{{ticker}}placeholder, so the alert trades the chart it fires from and follows the front month. If you also use Allowed Symbols, note that on continuous-contract charts{{ticker}}sends symbols such asMNQ1!: list them that way, or type a fixed root symbol here instead.
Then copy two things:
- Your personal webhook URL.
- The generated alert message (JSON).
For a strategy alert on a single account, the message looks like this:
{
"exchange": "tradovate",
"accountId": 12345678,
"symbol": "{{ticker}}",
"side": "{{strategy.order.action}}",
"quantity": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}"
}
The account ID is filled in for you. Use the builder's output rather than retyping it; every field it can produce is explained in the alert JSON format reference.
Step 4: Create the Alert in TradingView
- In TradingView, right-click your chart and select Add Alert.
- In the Condition dropdown, pick your strategy or indicator.
- In the Notifications tab, check Webhook URL and paste your webhook URL.
- In the Message field, paste the JSON you copied from the Alert Builder.
- Where TradingView offers it, set the trigger to Once Per Bar Close. This avoids acting on signals that appear mid-bar and then disappear (repainting).
- Click Create. The alert is now live.
For indicator alerts, create one alert per action (buy, sell, close), each with its own message from the Alert Builder.
Step 5: Verify It Works
Fire a test signal, or wait for the next one on your demo account. Then check the Connect app:
- Executions: every order appears with its status, the broker order ID and the exact payload that triggered it.
- Active Alerts: confirms which alerts are armed.
- Positions: tracks live P&L across every connected account.
Also confirm the order in Tradovate itself. Run a full cycle, entry and exit, before moving to a live account.
Step 6: Set Your Safety Rails
Review Connect's risk controls before trading live:
| Control | What it does | Default and caveats |
|---|---|---|
| Kill switch | Blocks all orders, globally or for one account | Does not close positions you already hold |
| Allowed symbols | Only lets alerts trade the instruments you list | Contract month is ignored, so ESH5 matches ES; continuous symbols like MNQ1! are not, so list them exactly as your alert sends them |
| Max daily trades | Caps orders per account per day | 50 if you set nothing; resets 00:00 UTC; blocked orders don't count |
| Max daily loss | Blocks orders that open or add to a position once realized losses reach the limit | Realized P&L only; exits and close still go through; resets 00:00 UTC |
| Max position value | Not an exposure limit | In Fixed Qty mode it scales the alert's quantity down; orders sent with fixedQuantity are not capped, and in % Risk / $ Risk modes it caps the dollar risk per trade. |
Two details matter for prop-firm traders:
- The daily loss limit resets at 00:00 UTC, which is usually not the same time as your firm's trading day. It also ignores unrealized P&L, and the trade that crosses the limit is not capped. Set it tighter than your firm's limit and treat it as a backstop, not a guarantee.
- Firms have their own rules on automated trading. Read your firm's current rules before you automate an evaluation or funded account.
Troubleshooting
Alert fired but no order?
- Check that the alert JSON includes your account. It must contain
accountId(oraccountIds/accountsfor several accounts). - Check that the webhook URL is pasted into TradingView's Notifications tab, not the message body.
- Confirm 2FA is enabled and your TradingView plan includes webhooks.
Order shows "failed" in Executions?
Open the entry to see the exact reason. The most common ones:
- The Tradovate session needs a reconnect. Go to Accounts → Reconnect.
- The contract month in your alert has expired. Use the root symbol (such as
MNQ) or{{ticker}}so the alert always trades the current front month. - A safety rail blocked the order. The kill switch is on, the symbol isn't in Allowed Symbols (on continuous charts the alert sends
MNQ1!, notMNQ), or the account reached its daily trade or daily loss limit.
Still stuck?
Check the Connect FAQ or contact support from inside the app.
Best Practices
- Demo first, then live. Run your automation on a Tradovate demo account until entries, exits and sizing match what you expect.
- Start with one contract when you move to live.
- Use
{{ticker}}or root symbols, never a hardcoded contract month that will expire. - Set Allowed Symbols for every account you automate, written exactly as your alerts send them (
MNQ1!from a continuous chart,MNQif you send the root symbol). - Check Executions daily during the first weeks.
- Know where the kill switch is, and remember it does not flatten open positions.
Related Guides
- The Complete Guide to TradingView Webhooks
- TradingView Alert JSON Format: Complete Reference
- Multi-Account Futures Trading With One Alert
- TradingView to Tradovate automation with Roboquant Connect
Start Automating
Roboquant Connect sends your TradingView alerts to Tradovate, with unlimited Tradovate accounts and the safety rails above. Try it on a demo account with the 7-day free trial.
Start your free trial · Read the setup guide
Automated trading involves risk of loss.