How to Automate TradingView with TradersPost
TradingView plots signals — it doesn't place orders. TradersPost is the bridge that turns a Pine Script alert into a real fill at your prop firm's broker. Here's the full setup.
TradingView is a charting and alerting platform — on its own, it can't touch your broker account. TradersPost fills that gap: it listens for a TradingView webhook alert, translates it into a broker order, and routes it to Tradovate, Rithmic, NinjaTrader, MT4/MT5, or Alpaca. Below is the full setup, plus the JSON alert format a Pine Script strategy needs to emit. If your account is on NinjaTrader 8 or Tradovate, the last section covers CrossTrade, the automation platform we recommend.
Step 1: Create a TradersPost account
Create an account on the TradersPost website. Their entry-level paid plan covers one broker connection and unlimited strategies — enough for a single prop firm evaluation. Check the current plans on their pricing page, since tiers and promotions change.
Step 2: Connect your prop firm's broker
Under Brokers → New, add the connection that matches your prop firm:
- Apex / Topstep / MyFundedFutures — Tradovate or Rithmic
- FTMO — MetaTrader 5 or cTrader
- Forex-focused funded programs — MetaTrader 5
Tradovate connects through an OAuth flow; Rithmic uses a login and password. Either way the connection is read/write — TradersPost can place orders, see fills, and read account state.
Step 3: Create a strategy in TradersPost
Under Strategy → New, map the strategy to:
- Symbol — e.g.
MNQfor Tradovate, or the equivalent CFD symbol for MT5 - Quantity — contracts per signal
- Bracket / OCO — turn this on so a stop and target fire as a single linked order group
TradersPost generates a unique webhook URL for the strategy in the form
https://webhooks.traderspost.io/trading/webhook/<uuid>/<token>. Save it.
Step 4: Wire the alert in TradingView
Add the Pine Script to a chart, then right-click → Add Alert. In the alert dialog:
- Set Condition to the strategy, firing on "Order fills only" rather than "Once per bar close"
- Paste the TradersPost webhook URL into the Webhook URL field
- Set the Message body to the strategy's JSON payload
The JSON payload
TradersPost expects a specific alert message shape. A typical Pine Script strategy alert looks like this:
{
"ticker": "{{ticker}}",
"action": "{{strategy.order.action}}",
"quantity": {{strategy.position_size}},
"price": {{close}},
"sentiment": "{{strategy.market_position}}"
} Every Target Filled Pro strategy ships with a CrossTrade-ready alert message built in. If your account is on NinjaTrader 8 or Tradovate, see the CrossTrade route below.
Step 5: Paper-test before connecting a live evaluation
TradersPost includes a paper-trading environment. Run the strategy there for at least 5 sessions and confirm:
- Entries fire near the price the script signaled, within reasonable slippage
- Stops and targets are placed correctly as a bracket order
- No duplicate orders fire from a single bar
Step 6: Connect to the live evaluation account
Once paper trading looks clean, point the strategy's broker target at the live evaluation account inside TradersPost. Start with the smallest viable contract size on day one and watch the first several fills manually before leaving it unattended.
Common gotchas
- Symbol mismatch. TradingView's continuous contract symbol (e.g.
MNQ1!) isn't the same string your broker expects (e.g. a specific front-month code) — TradersPost handles the mapping, but double-check the strategy's symbol field after every rollover. - Time zone. A Pine Script session filter and the broker connection both need to agree on the same time zone —
America/New_Yorkis standard for US futures. - TradingView plan tier. Webhook alerts require a paid TradingView plan; the free tier can't fire them.
On NinjaTrader 8 or Tradovate? Automate with CrossTrade
If your prop firm account runs on NinjaTrader 8 or Tradovate, CrossTrade is the automation platform we recommend, and every Target Filled Pro strategy ships with CrossTrade-ready alert messages. It takes the same kind of TradingView webhook alert and places the order on your account:
- NinjaTrader 8 connects through the CrossTrade desktop add-on.
- Tradovate connects in the cloud, with nothing to install.
- Account Manager sets a max daily loss, max daily profit, and trailing drawdown per account. When one is hit, CrossTrade flattens positions and locks the account, and it can also flatten on a schedule at end of day. On NinjaTrader, these limits only run while NinjaTrader and the CrossTrade add-on are running.
- Multiple accounts: one alert can place on several accounts, and the trade copier mirrors trades across accounts.
The alert message uses CrossTrade's key-and-value format instead of JSON. Swap in your own secret key and the
account name you want to trade (sim101 is NinjaTrader's simulation account, a sensible first target):
key=your-secret-key;
command=place;
account=sim101;
instrument=ES1!;
action={{strategy.order.action}};
qty={{strategy.order.contracts}};
order_type=market;
tif=day; Paste your own CrossTrade webhook URL into the alert's Webhook URL field, the same way as Step 4, and keep the alert firing on order fills. Webhook alerts need a paid TradingView plan on either route. Before automating a prop firm account, check the firm's current automation rules.
Automate NinjaTrader with CrossTrade →
Automate Tradovate with CrossTrade →