How to connect Tradovate to Autoview
Before you start: can you get a Tradovate API key?
Autoview connects to Tradovate with an API key, and Tradovate decides who can create one. Check all three before you go further:
- A live Tradovate brokerage account funded with at least $1,000. This applies even if you only plan to trade Simulation.
- A paid subscription to Tradovate's API Access add-on. Tradovate bills it monthly.
- Your own account, not a prop firm or evaluation account. Tradovate says those accounts are not eligible for API access.
The Tradovate API access requirements guide quotes Tradovate's wording for each one. If you meet all three, the Tradovate API key guide shows how to create the key, which permissions to set, and which value goes in which box. If you don't yet, that requirements guide also lists free places to practice in the meantime.
By the end of this guide you'll have your Tradovate account linked to Autoview, a first order placed and cancelled from a test alert, and enough command syntax to start automating futures. Plan on fifteen minutes. Most of it is one-time setup you never touch again.
Autoview sits between an alert and your broker. An alert fires, Autoview reads the command, and the order lands on Tradovate. The alert usually comes from TradingView, but it doesn't have to. The webhook platform accepts a POST from anything that can send one, so a Python script or another charting tool works the same way.
If you're wondering where NinjaTrader and Kraken fit in, who owns Tradovate lays out the dated ownership history and why it leaves your Autoview connection to Tradovate unchanged.
Step 1: Pick how you'll run it
Two ways to execute. They share the same command syntax, so the only real choice is whether you want your computer involved.
- Chrome extension: runs in your browser, reads TradingView alerts directly, no webhook needed. Your machine and Chrome have to be open for an order to go through.
- Webhook platform: runs server-side. Nothing of yours has to be on. You send an alert to your private webhook URL and the order executes. This is the one most futures traders want.
If you're unsure, the platforms comparison lays them out side by side.
Step 2: Generate a Tradovate API key
Tradovate gates API access behind a paid add-on, so you turn it on inside Tradovate first. Their own documentation is the authority here, and they keep it current: follow Tradovate's API Access guide.
The part that catches people: Tradovate only lets you subscribe to API Access from a funded live account holding at least $1,000, even if every order you place afterward goes to Simulation. Tradovate doesn't say what happens if your balance falls under $1,000 after you subscribe, so ask Tradovate support before you withdraw. That's Tradovate's own requirement, not Autoview's, and there's no way around it on our end. The Tradovate API access requirements guide lists all three of Tradovate's conditions with Tradovate's own wording.
This guide is written for a self-funded Tradovate account. Tradovate's own API Access material states that prop-firm and evaluation accounts don't qualify for API access at all, regardless of balance. If you're trading a funded/evaluation program rather than your own brokerage account, check with your prop firm and Tradovate's own guide linked above before assuming any of this applies to you.
The shape of it:
- Sign in to Tradovate and fund a live account with at least $1,000. This step is required even if you only intend to trade Simulation.
- Open Application Settings, find the Add-Ons section, and subscribe to API Access. There's a monthly fee on Tradovate's side for it.
- Go to the API Access tab and generate a key. You'll get a CID and a Secret. The key works for both Live and Simulation once issued; you choose which environment to trade when you add the key in Autoview, not here.
- Copy both somewhere safe. The Secret is shown once.
The Tradovate API key guide walks through these screens in more detail, including the permissions Autoview needs and the optional API password.
Tradovate's API authenticates with your account login as well as the key, so you need four values in total: your Tradovate Username and Password (the same ones you sign in with), plus the CID and Secret you just generated. Have all four ready before the next step.
One quirk worth knowing before you paste: copy your CID and Secret into a plain text editor first and check for stray spaces. Tradovate's copy button sometimes adds them, and a trailing space is the most common reason a key "doesn't work."
Step 3: Add the key to Autoview
Now hand the key to whichever platform you chose in Step 1.
- Extension: open the extension options, find Tradovate in the left menu, click Add Account, and enter all four values: Username, Password, CID, and Secret. Leave the name as the default star if this is your only key. Name it only when you run several keys, because you'll reference that name with
a=in commands later. - Webhook platform: log in, open the Tradovate configuration, and enter the same four values there: Username, Password, CID, and Secret. Naming the key here is what lets you point a specific webhook at it.
On the webhook platform, the setup page saves your key, links it to a webhook, then runs a read-only connection test. The test checks that Tradovate accepts all four values and places no orders. Wait for it to pass before you send an alert.
A heads-up specific to Tradovate live. The first order you send will likely bounce with an "access denied" error, and Tradovate will email you asking to approve the device running Autoview. Approve it. After that, orders flow normally. Simulation doesn't do this.
Step 4: Send a test order
Before risking anything, dry-run the command. Add d=1 and Autoview parses the order, writes to the log what it would have done, and sends nothing to the exchange. It's the fastest way to catch a syntax mistake.
e=tradovate s=ES1! b=long q=1 t=market d=1On the webhook platform you drop the e= part. The platform already knows which exchange the webhook belongs to:
s=ES1! b=long q=1 t=market d=1When the dry run looks right, place a real test. A clean way to do it from TradingView: make a single-fire alert on an active futures market, set the condition to price greater than 0 so it triggers almost instantly, and use a limit order priced well away from the market so it rests instead of filling. A buy five percent below the current price:
e=tradovate s=ES1! b=buy p=-5% q=1Webhook version:
s=ES1! b=buy p=-5% q=1Check the Autoview log and your Tradovate account. The order should be sitting there. Now cancel it:
e=tradovate s=ES1! c=orderOne note on quantity: keep q= at or above Tradovate's minimum trade size for the contract, or you'll see a rejection. A test order is a real order in both simulation and live.
Reading the command syntax
A command is a string of key=value pairs. Here are the ones you'll use most on Tradovate.
Symbol (s=)
The simplest symbol is the continuous form: ES1! for the front-month E-mini S&P contract. Autoview looks up whichever dated contract is active on Tradovate when the alert arrives, so the same alert keeps working after a roll. ES2! picks the next contract out.
You can also send a dated contract. Tradovate names those as instrument + month code + last digit of the year, so ESZ6 is the December 2026 E-mini S&P. Dated contracts expire, so copy the exact symbol from Tradovate and update your alerts when it rolls.
Side (b=)
b=buy or b=long to go long, b=sell or b=short to go short. Tradovate is futures-only, so buy and long mean the same thing here. Use whichever reads better to you.
Quantity (q=) and order type (t=)
q= is how many contracts. t= is the order type: market, limit, ioc (immediate-or-cancel), or fok (fill-or-kill). Leave t= off and Autoview treats a priced order as a limit.
Price (p= and fp=)
p= is relative to the current price. If a contract is at 100, p=10 places the order at 110 and p=-10 places it at 90. Percentages and ranges work too: p=10%, p=1-10. Use fp= when you want to pass an exact price instead, handy inside scripts.
The price= parameter (read this one)
Limit, stop, and bracket math need a reference price. Tradovate charges for CME market data, so the alert carries the price: add price= with a value supplied by whatever is sending the alert. If that's a TradingView alert, {{close}} is the placeholder TradingView replaces with the live close at fire time, so you'd send price={{close}}. Sending from your own script or another platform? Provide the price however that source expresses it. Autoview keys every calculation off the number you pass. You don't need it for a plain t=market order. You do need it for limit, stop, and bracket math.
Stops, targets, and brackets
sl= sets a stop loss, tp= a take profit, both relative to entry like p=. The fixed-price versions are fsl= and ftp=. Chain legs with an ampersand to build a bracket. This opens a long at market and attaches a stop and target, using price= so the bracket math has something to work from:
s=ES1! b=long q=1 t=market price={{close}} & sl=-7 tp=14Closing and cancelling
c=order cancels open orders, c=position closes open positions, and c=all does both for that symbol and account. When you close a position with c=position, add ps=position so prices are measured against your position's average instead of a live quote you might not have access to.
If something doesn't work
- No price for the contract: the order needs a reference price. Pass
price=, or usefp=/fsl=/ftp=for exact prices, orps=positionwhen closing. - "Access denied" on your first live order: expected. Approve the device from the email Tradovate sends, then resend.
- Order rejected for size:
q=is below the contract's minimum. Raise it. - Key won't validate: confirm all four values are present (Username, Password, CID, Secret), then re-paste each through a plain text editor and check for trailing spaces.
- Wrong contract month: use the continuous form, such as
ES1!, or copy the exact dated symbol from Tradovate rather than typing the month code by hand.
Once a test order places and cancels cleanly, you're connected and Autoview will run whatever your alerts tell it to. Build the strategy in TradingView, point the alert at your webhook, and let it execute.