Getting started with TradeStation on Autoview
By the end of this guide your TradeStation account is connected to Autoview and you've fired one test order and cancelled it. That last part matters. A dry run tells you your syntax parses. Only a real order tells you the whole chain works, and TradeStation gives you a simulated account to run that real order on without risking a cent.
TradeStation covers stocks, ETFs, options, and futures. One thing sets it apart from most exchanges here: you don't paste an API key at all.
Step 0: Pick your platform
Autoview comes in two forms, and TradeStation works with both.
- The Chrome extension runs in your browser. It connects directly to TradingView alerts, and it only executes while your computer and Chrome are on.
- The webhook platform runs on our servers. It accepts a POST from anywhere: TradingView, TrendSpider, a Python script, your own cron job. It executes whether or not any browser is open.
If you want trades to fire while your laptop is closed, use the webhook platform. If you're tied to the extension's live TradingView link, use the extension. The setup below covers both; the command syntax differs by a single parameter, and I'll flag it where it does. Compare them side by side on the platforms page.
Step 1: Connect TradeStation
Every other exchange in this batch hands you an API key and secret to paste in. TradeStation doesn't. You connect it by signing in to TradeStation directly, through its own secure login screen, and approving the access Autoview asks for. Autoview never sees or stores your TradeStation password; it only holds the access token your sign-in produces, encrypted, and that token is what places your orders afterward.
- On the extension: open the extension options, find TradeStation in the left menu, and start the connection. It opens TradeStation's sign-in page; log in and approve access there, and you're back in the extension, connected.
- On the webhook platform: log in to Autoview, open the TradeStation configuration, and start the connection the same way. TradeStation's sign-in page opens, you approve access, and the webhook platform shows the account as connected.
If you want to test first, connect a TradeStation Simulated account instead of your live one. It's a separate connection in Autoview, it uses TradeStation's own simulator, and every command below works identically on it.
Step 2: Fire a test order, then cancel it
This is the step people skip, and then they wonder why a live signal did nothing. Don't skip it, and if you're on the Simulated account there's no reason not to run it exactly like a live order.
A note if you're on the live account: TradeStation trades stocks, ETFs, futures, and options during market hours, so pick a liquid symbol that's actively trading, and place a limit order far enough from the market that it won't fill while you're testing.
Start with a dry run. Add d=1 to any command and Autoview parses it, shows you exactly what it would have done, and sends nothing to TradeStation. Get a clean dry run before you send a live one.
Then send the real thing. The cleanest trigger is a single-fire TradingView alert on an active market; a condition like "price greater than 0" fires it almost instantly. Use TradeStation's own symbol for whatever you're trading, a stock ticker, an ETF, or a futures contract code. A limit buy 5% under the market looks like this:
- Extension:
e=tradestation s=<TRADESTATION_SYMBOL> b=buy p=-5% q=1 - Webhook:
s=<TRADESTATION_SYMBOL> b=buy p=-5% q=1
The only difference is e=tradestation, which tells the extension which exchange to route to. On the webhook platform the webhook already knows its exchange, so you leave it out.
The example above hard-codes a price offset and a quantity, which is what you want for a controlled test. In real use you'll often want a live value instead. A TradingView alert can write one in: p={{close}} tells TradingView to substitute the candle's close at fire time, and Autoview just receives the number. The {{close}} token is TradingView's, not Autoview's. The point is that the alert sender supplies the value, so a Python script or another platform builds the same command its own way and posts a plain number where {{close}} would sit.
Fire it, then open the Autoview log and your TradeStation orders. You should see the resting limit order in both. Now cancel it:
- Extension:
e=tradestation s=<TRADESTATION_SYMBOL> c=order - Webhook:
s=<TRADESTATION_SYMBOL> c=order
Order placed, order cancelled, both confirmed in the log and on TradeStation. That's the full round trip. Your setup works.
Two TradeStation quirks worth knowing before you build a real strategy
A stop-loss or take-profit isn't attached to your entry. Send the entry in one alert, then send the stop or the limit close as its own separate order. TradeStation and Autoview don't support a bracket or OCO command that carries both in one alert.
Trailing stops are the exception. Autoview can place a trailing stop directly on TradeStation, set as either a percent or a fixed amount, and it follows the price as the trade moves in your favor.
Step 3: Troubleshoot the usual snags
Most first-run problems are one of three things.
- Connection shows expired or disconnected. OAuth tokens can lapse. Reconnect through the same sign-in flow, and approve access again.
- Account shows disconnected. Nothing executes while it does. Reconnect, and confirm you're using the account you meant to, live or Simulated.
- TradeStation rejects the order. The error in your log comes straight from TradeStation, often because the market is closed or the symbol was wrong. Recheck the symbol and the market hours, then resend.
When a command behaves oddly, put d=1 back on it. The dry-run output is the fastest way to see what Autoview thinks you asked for versus what you meant.
Connected and tested? Good. Next you'll want a stop-loss, a limit close, or a trailing stop layered on as its own alert. That's where the automation gets interesting.