Skip to content

14-day trial · Founding Rate live.

Tutorial
TradingView
NinjaTrader
webhook
automation
prop firm
compliance
alerts
trade copier

How to connect TradingView to NinjaTrader (and what prop firms allow)

TradingView cannot talk to NinjaTrader directly. The three routes that work, the two mistakes that break them, where a trade copier fits, and what Apex and other firms allow.

From Copilink, which makes trade copiers for running several futures prop firm accounts from one leader. See how it works →

Copilink Team
9 min read
250 views
View Markdown

TradingView and NinjaTrader have no native connection. You cannot pick NinjaTrader from TradingView's broker list, and NinjaTrader cannot subscribe to a TradingView alert. Every working setup goes one of three ways: you read the TradingView alert and place the order in NinjaTrader yourself; a TradingView webhook goes to a bridge service that places the order in NinjaTrader 8 for you; or you run your own listener that does the same thing. Which one you should use depends less on the technology than on what your prop firm allows, because the fully automated version is prohibited on several funded accounts.

If you are building a bridge rather than using a service, compare NinjaScript with the Tradovate API for the account route you use. Telegram signals raise a similar entry and firm-permission question, but their message source is different.

One clarification before the options, since a few pages that rank for this question get it wrong: Copilink is not the bridge. Copilink does not receive webhooks or talk to TradingView. It copies whatever happens in one leader account to your other accounts, and it enforces per-account rules. If a bridge or your own hand places the TradingView signal in the leader account, Copilink is what carries it to the rest.

Three ways to get a TradingView signal into NinjaTrader

RouteWhat runs whereHands-off?Fits a funded account?
Alert as a notification, you enter the orderTradingView sends a push or email; you click in NinjaTraderNo, and that is the pointYes at every firm we know of; it is manual trading with a better trigger
Webhook to a bridge serviceTradingView posts JSON to the bridge's URL; the bridge's NinjaTrader 8 add-on or Tradovate connection places the orderYesDepends on the firm; Apex, for example, prohibits hands-off systems
Your own listenerA NinjaScript add-on or a small server you write receives the webhook and submits the orderYesSame as above, plus you own every bug

If your funded account is on Tradovate rather than NinjaTrader, there is a fourth route that skips NinjaTrader entirely: Tradovate is one of TradingView's integrated brokers, so you can place orders on the TradingView chart by hand. That does not automate alerts, and it does not copy to other accounts, but it removes the platform hop for a single account.

Option 1: alerts as notifications, orders by hand

Set the TradingView alert to send a push notification or email instead of a webhook. When it fires, look at the chart, decide, and place the order on your NinjaTrader leader account. If you run more than one account, a trade copier replicates that order to the followers.

This is slower than a webhook by however long you take to react. On a strategy that trades off a 15-minute close, that delay does not change much. On a one-minute scalping signal it changes the entry. What you keep is the thing prop firms actually care about: a person made each trading decision in real time. It is the only route on this page that is safe at every futures firm without asking.

Option 2: a webhook to a bridge service

This is what most people mean by connecting TradingView to NinjaTrader.

  1. In the TradingView alert dialog, tick "Webhook URL" and paste the endpoint the bridge gives you. TradingView will only post to a public HTTPS address, so the bridge either runs in the cloud or exposes a public endpoint for you; your home PC's NinjaTrader is never reachable directly.
  2. Put the order in the alert message as JSON. The exact fields are whatever the bridge documents, but every one of them needs an action, an instrument, and a quantity, and most accept order type and stop or target offsets.
  3. The bridge receives the post and hands it to NinjaTrader 8 through its own add-on, or to Tradovate through the API. CrossTrade, as one example, states that the alert fires on TradingView, CrossTrade receives it, and NinjaTrader 8 or Tradovate executes, and publishes a figure of roughly 30 milliseconds for that pipeline. PickMyTrade does the same job for Tradovate accounts without NinjaTrader, which is the pairing for a Tradovate trade copier. Treat any vendor's latency number as their claim, not a measurement you have seen.
  4. The order lands in the account the bridge is connected to. That account is your leader.

Two details cause most of the failed setups. The first is instrument mapping: TradingView calls the front-month Nasdaq contract something like NQ1! and NinjaTrader wants the dated contract, so the bridge has to translate, and a rollover week will break a mapping you hard-coded. The second is alert timing: an alert set to fire "once per bar" on an unconfirmed bar can trigger, cancel, and trigger again as price wiggles, and the bridge will happily submit every one of those as an order. Fire on bar close unless you have tested the intrabar behaviour on a demo account.

Option 3: your own listener

If you can write C#, a NinjaScript add-on can open an HTTP listener inside NinjaTrader 8 and submit orders when a webhook arrives. You still need a public endpoint, which in practice means a Windows VPS with a static IP and a TLS certificate, or a tunnel service in front of your machine. You also inherit every failure mode the bridge vendors have already solved: duplicate alerts, contract rollover, reconnects, and what happens when TradingView retries a post that already went through. It is a reasonable project for a personal account. It is a poor idea to debug on a funded one.

Where a trade copier fits

Whichever route puts the order in the leader account, the copier's job starts after the fill. Copilink for NinjaTrader 8 runs inside the same NinjaTrader session as the leader and submits the follower orders itself; across about 70 measured trades that internal step averaged 1.6 ms, with broker and exchange time excluded (method here). Copilink Standalone does the same for Tradovate and Rithmic accounts without NinjaTrader, but it copies from a Tradovate or Rithmic leader, so it pairs with a Tradovate-direct bridge, not with a NinjaTrader one.

The part that matters for funded accounts is what the copier does per account. In the NinjaTrader 8 Risk edition, and in Standalone, each follower carries its own daily loss limit, daily profit limit, and evaluation rules, and a breach sends a flatten request to that account's broker and locks that account out of further copying until you re-enable it. A TradingView signal that fires when account three has already hit its daily limit still goes to accounts one, two, four, and five, and account three sits out. Nothing in that chain makes the followers fill identically; each broker accepts, rejects, or slips each order on its own, and the copier's activity log is where you confirm what happened.

What prop firms allow

Ask before you automate, and get the answer in writing. The rules differ, they change, and the difference between "semi-automated" and "fully automated" is where the firms draw the line.

Apex Trader Funding is the clearest example. Its compliance page prohibits fully automated trading systems, bots, and any hands-off or set-and-walk-away trading on its accounts, while allowing limited automation such as ATM strategies and webhook-based alerts when the trader is actively watching. Read that as: Option 1 is fine, Option 2 is fine if you are at the screen and can intervene, and leaving a webhook strategy running while you sleep is a breach. Apex has revised that policy more than once, so check the current page rather than this paragraph.

Other firms prohibit "bots" without defining the term, which leaves a webhook-driven strategy arguable either way. The question to send your firm is specific: "May I use TradingView alerts to place orders on my funded account automatically, without confirming each trade by hand?" A yes or no to that sentence settles it.

Copying itself is a separate question with a separate answer per firm; the list of prop firms that allow copy trading covers who permits copying between accounts you own.

A worked setup: one strategy, five accounts

Say the strategy is a momentum system on NQ, coded in Pine Script, and you hold one evaluation and four funded accounts at a firm that permits supervised automation.

  1. The alert posts to the bridge on bar close. The bridge places a market order in the leader account inside NinjaTrader 8.
  2. Copilink sees the leader fill and submits follower orders to the four other accounts at their configured ratios. Sizes are rounded down to whole contracts, so a 0.5 ratio on a two-contract leader sends one.
  3. Before each follower order, the per-account rules run. The evaluation account is past its daily loss limit from the morning session, so it receives a flatten request and is disengaged for the day; the other three receive the order.
  4. Protective orders you place on the leader are copied to the followers as the copier sees them. When you close the leader, closing orders go to the followers.
  5. You read the activity log and the broker's own position view for each account. That check is the job; the automation only removes the clicking.

Without the bridge and the copier this is four or five manual entries per signal, at five to fifteen signals a session. With them it is one alert and one check.

Before you go live

  • Prove the alert-to-order path on a demo or evaluation account for at least a week, including a contract rollover if one is due.
  • Set alerts to fire on bar close, and cap how many orders the bridge will accept per minute if it offers that.
  • Write down what the bridge does when TradingView retries a post, and what your copier does when a follower is rejected. Both will happen.
  • Set every follower's daily loss limit below the firm's limit, so your rule trips before theirs does.
  • Keep the firm's written answer on automation somewhere you can find it.

Copilink for NinjaTrader 8 has a 7-day trial and Copilink Standalone a 14-day one; neither needs a card, which is enough time to run this whole setup on a demo account before a funded one sees it.

Trade without NinjaTrader

Copilink Standalone is a futures trade copier for Tradovate and Rithmic on Windows and macOS. The trial lasts 14 days and does not require a card.

Already use NinjaTrader 8?

The Copilink NinjaTrader 8 trade copier runs inside NinjaTrader 8 on Windows and includes a separate 7-day trial.