Setup Guides

Getting started takes two things: 1. connect your trading account, then 2. connect TradingView so your alerts reach CopyTrade. Pick your platform below.

ALL TRADOVATE-SUPPORTED PROP FIRMS · TRADEIFY · APEX · LUCID & MORE · PERSONAL ACCOUNTS
ℹ Use this if you log into your account at trader.tradovate.com. All you need is that same username and password. No API key or extra subscription.
1

Open Add Account

In CopyTrade, go to Accounts and click + Add Account. Tradovate is already selected. If you have not confirmed your email yet, CopyTrade asks you to do that first.

2

Type Your Prop Firm's Name

In the Prop firm box at the top, type the firm the account is with (for example Tradeify). If it's your own personal account, leave it empty. You don't need any of the boxes below it.

3

Click "Connect with Tradovate"

Click ⚡ Connect with Tradovate just below it. Tradovate's sign-in page opens.

4

Log In and Allow Access

The Tradovate login page opens. Log in with the username and password you normally use for Tradovate, then approve access for CopyTrade.

✓

Done

You're sent back to CopyTrade, and every account under that login appears on the Accounts page (for example "Tradeify — TDFY12345").

Use the On/Off switch to turn off any account you don't want trading.

ℹ Accounts at more than one firm? Each firm gives you a separate Tradovate login. Repeat steps 2 to 4 for each one, typing that firm's name each time. Every account appears on the same Accounts page.
ℹ An account shows NONE or "not connected" later on? Its Tradovate sign-in has expired. Open + Add Account, type the same firm name, and click Connect with Tradovate again. The account is reconnected, not added twice.
Rithmic
ALL RITHMIC-SUPPORTED PROP FIRMS · MYFUNDEDFUTURES · TAKE PROFIT TRADER · BULENOX · APEX & MORE
ℹ Use this if your prop firm gave you a Rithmic username and password. It's the same login you'd use in R|Trader Pro or NinjaTrader. It's usually in your firm's welcome email.
1

Accept Rithmic's Agreements (one time only)

Download R|Trader Pro from your prop firm's help page and log in once with your Rithmic username and password. Accept the agreements it shows you. Until you do this, Rithmic blocks every outside app, including CopyTrade.

While you're on the login screen, note which System you picked — "Rithmic Paper Trading", or your firm's own, such as "Apex" or "LucidTrading". You'll need it in step 3.

2

Open Add Account

In CopyTrade, go to Accounts → + Add Account and click Rithmic. If you have not confirmed your email yet, CopyTrade asks you to do that first.

3

Fill In the Form

  • Display Name: any name you like (for example "MFFU 1")
  • Rithmic Username and Password: from your prop firm
  • Account ID: your account number, as shown in R|Trader Pro or your firm's dashboard. If you have more than one account on the same login, this decides which one trades.
  • System: pick the same System you use to log into R|Trader Pro. Some firms use Rithmic Paper Trading; firms with their own system are listed under Your prop firm's own system.
✓

Click Add & Authenticate

Your account appears on the Accounts page. Rithmic connects automatically when the first trade comes in, or you can click AUTH on the account to connect it now.

ℹ Several accounts on one Rithmic login? Add one of them as above. Once it connects, the login's other accounts appear on the Accounts page with an + ADD button. Click it for each one you want; there's no need to type the username and password again, and they all share the one login.
TOPSTEPX · TOPSTEP ACCOUNTS
⚠ TopstepX needs an API key, which costs $29/month from ProjectX (Topstep's platform provider). Use code topstep for 50% off. Topstep doesn't allow API trading on Live Funded accounts. Check their rules for your account type.
1

Subscribe to ProjectX API Access

Go to dashboard.projectx.com, create an account, then go to Subscriptions → ProjectX API Access and subscribe.

2

Link It to TopstepX

Log into TopstepX. Click the gear icon ⚙ (Settings), open the API tab, and under ProjectX Linking click Link.

3

Create Your API Key

On the same API tab, click Add API Key and copy the key.

⚠ Treat the key like a password. Anyone with it can place trades on your account.
4

Add It in CopyTrade

Go to Accounts → + Add Account (if you have not confirmed your email yet, CopyTrade asks you to do that first), click TopstepX, and fill in:

  • Display Name: any name you like
  • TopstepX Username: the username you log into TopstepX with (not your email)
  • API Key: the key from step 3
  • Account Name: leave empty to use your first active account, or type the account's name exactly as TopstepX shows it
✓

Click Add & Authenticate

When it's connected, the account's Token column shows ✓ ACTIVE.

⚡
Apex Trader Funding
USES TRADOVATE OR RITHMIC
ℹ Apex accounts run on either Tradovate or Rithmic. You chose one when you bought the account. Connect it with that guide:
1
Tradovate

Tradovate Apex Account

If you log in at trader.tradovate.com, follow the Tradovate guide and type Apex as the prop firm name.

2
Rithmic

Rithmic Apex Account

If Apex emailed you a Rithmic username, follow the Rithmic guide, and pick the same System you use in R|Trader Pro.

ALERTS · SENDS YOUR SIGNALS
⚠ Sending alerts to CopyTrade needs a paid TradingView plan (the free plan can't send webhooks) and two-factor authentication turned on in your TradingView account.
1

Copy Your Webhook URL

In CopyTrade, open the Webhook page and click COPY next to your webhook URL. It's your personal address, so don't share it.

2

Which Setup Is Yours?

Every alert has to carry a message telling CopyTrade what to trade. It gets there one of two ways:

Not sure? If your script didn't come with CopyTrade settings, use Option B.

OPTION A — MY SCRIPT SENDS THE MESSAGE
A1

Set Your Trade in the Script

On your chart, hover over your script's name and click the gear icon (Settings), then open the Inputs tab. Set your contracts, stop loss, take profits and breakeven there, then click OK.

A2

Create the Alert in TradingView

Click Alert (the clock icon). Then:

  • Condition: choose your script, then alert() function calls only (for a strategy) or Any alert() function call (for an indicator)
  • Message: leave it as it is. Your script writes the message itself.
  • Notifications: tick Webhook URL and paste the URL you copied in step 1

Click Create.

⚠ Changed your settings later? TradingView saves your script settings inside the alert when you create it. After changing anything in Inputs, delete the old alert and create a new one, or it keeps sending the old settings.
ℹ If your script's instructions say to put {{strategy.order.alert_message}} in the Message box, do exactly that and choose Order fills only instead.
ℹ If your script also sends an alert when it exits a trade, its message should include "market_position" (long, short or flat). Without it, CopyTrade treats an exit alert like a new trade in the other direction.

Then skip to Check It's Working.

OPTION B — I PASTE THE MESSAGE
B1

Set Up and Copy Your Alert Message

On CopyTrade's Webhook page, change the numbers in the message box to fit your trade, then click COPY TEMPLATE.

symbolWhat to trade, e.g. MGC1! or MNQ1!. CopyTrade picks the current contract month for you.
qtyHow many contracts
sl_pointsStop loss distance, in points
tp1_pointsFirst take profit distance, in points
partial_qtyHow many contracts to close at TP1
tp2_pointsFinal take profit distance for the rest, in points
be_bufferAfter TP1 fills, the stop moves to entry plus this many points (breakeven)
market_positionLeave as is — tells CopyTrade whether the alert is an entry or an exit

Leave "action" and "market_position" exactly as they are. TradingView fills them in: "action" says buy or sell, and "market_position" tells CopyTrade whether the alert is a new trade or your strategy exiting, so an exit never flips your position the other way.

B2

Create the Alert in TradingView

Open your chart with your strategy on it and click Alert (the clock icon). Then:

  • Condition: choose your strategy, then Order fills only
  • Message: delete what's there and paste the message you copied in B1
  • Notifications: tick Webhook URL and paste the URL you copied in step 1

Click Create.

⚠ This works with a strategy (it shows a Strategy Tester tab under the chart). A plain indicator can't fill in buy or sell for you. Using an indicator? Follow B3 instead of this step.
B3

Using an Indicator Instead of a Strategy

An indicator has separate buy and sell signals, so it needs two alerts, one for each. Make the buy alert first:

  • Condition: choose your indicator, then its buy (or long) signal
  • Message: paste the message from B1, then replace "{{strategy.order.action}}" with "buy", and delete the whole "market_position" line
  • Notifications: tick Webhook URL and paste the URL from step 1

Then make the sell alert the same way, choosing the indicator's sell (or short) signal and writing "sell".

⚠ Write exactly buy or sell. Each alert opens a trade in that direction; if a trade is already open the other way, CopyTrade closes it first. Your stop loss and take profits close trades, so you don't need exit alerts.
BOTH OPTIONS
✓

Check It's Working

Check it now, without waiting for a trade. Make a one-off test alert in TradingView. It goes all the way to CopyTrade and places no order:

  • On any chart, click Alert. For Condition, pick something that will happen within a minute, for example the price Crossing its current level, and set it to trigger Only once
  • Message: delete what's there and paste exactly {"action": "buy", "symbol": "MGC1!", "test": true}
  • Notifications: tick Webhook URL and paste your URL from step 1, then click Create

When it fires, the Alert Inbox on CopyTrade's Webhook page shows it marked Test. That proves TradingView reaches CopyTrade. Then delete the test alert in TradingView.

After that, the next time your strategy takes a trade, check both of these:

  • In TradingView, the alert's Log shows it fired
  • In CopyTrade, the Alert Inbox on the Webhook page lists it, with what happened on each account

If TradingView shows it fired but it's not in the Alert Inbox, recheck the webhook URL from step 1.

ℹ The TEST BUY SIGNAL button on the Webhook page only checks CopyTrade's side and places no real order. It can't tell you whether TradingView is sending; the test alert above does.
✓ You're live. Each time your strategy fires, CopyTrade places the trade, with its stop loss and take profits, on every account that's switched on.
❓
Frequently Asked Questions
Which guide do I follow for my prop firm?

If you log in at trader.tradovate.com, use Tradovate. If your firm gave you a Rithmic username (you use R|Trader Pro or NinjaTrader with it), use Rithmic. Topstep accounts use TopstepX. Always check that your prop firm allows automated trading.

Do I need to log in again every day?

No. CopyTrade keeps your connection active on its own. If an account ever shows NONE in the Token column: for a Tradovate account, click Connect with Tradovate again (in + Add Account, with the same firm name); for Rithmic or TopstepX, click AUTH on that account.

What happens when an alert arrives while I'm already in a trade?

If the alert is in the same direction, it's ignored and your open trade is left exactly as it is. That's the default; to add a new trade instead, change Same-direction alerts to Add a new trade for that account under Per-Account Size, Direction & Groups on the Accounts page. If it's the opposite direction, CopyTrade closes your open trade first, then opens the new one. Exit alerts from your strategy are ignored, because CopyTrade closes trades with your stop and take-profits. Every alert, and what happened to it, is listed in the Alert Inbox on the Webhook page.

Are my login details safe?

Passwords and API keys are encrypted before they're stored. Tradovate accounts connect through Tradovate's own login page, so CopyTrade never sees your Tradovate password.

Can someone else send alerts to my accounts?

Only someone who has your webhook URL, so keep it private. To lock it down further, turn on Only accept alerts from TradingView on the Webhook page: alerts sent from anywhere else are refused, even with the right URL. Leave it off if you send alerts from another tool. If the URL is ever shared by mistake, press REGEN for a new one and paste it into your TradingView alerts.

How do I close a trade on just one account?

Close it in your broker's own platform, or in CopyTrade go to Settings, find Test closing on one account (under the news pause), pick the account and press RUN TEST. It closes the trades CopyTrade opened on that account only (on TopstepX, the whole account is flattened) and sends you the same email and push as a news pause. ✕ FLATTEN ALL closes every account at once, so use it only when that's what you want.

How do I remove an account, and its trades?

On the Accounts page, click the red ✕ on the account. CopyTrade then asks whether to delete its trade history too. Choose OK for a practice or test account, so its trades leave your P&L, calendar and analytics. Choose Cancel to keep them. Removing an account doesn't close an open trade: its stop and targets stay at your broker, but CopyTrade stops managing it (for example, it no longer moves the stop to breakeven), so close any open trade first.

What does this message mean?

What you might see in the Alert Inbox, the Log or the Accounts page, and what to do:

"No switched-on accounts to trade"Every account is off. Turn on the ones you want on the Accounts page.
"The message is missing "action" or "symbol""The alert's Message box doesn't hold CopyTrade's message. Paste it again from the Webhook page (Option B), or check your script's settings (Option A).
"action" must be "buy" or "sell"The alert's "action" said something else, such as "close" or "exit", so nothing was placed. "long" and "short" also work. A strategy fills this in for you; with an indicator, make one alert that says "buy" and one that says "sell" (B3).
"in another service's format"The alert still carries a message written for a different service. Replace it with CopyTrade's message.
"liquidate-only" (Tradovate)Your prop firm has locked the account, usually after a daily loss limit or profit target. New trades are refused until the firm unlocks it, normally the next trading day.
"Daily profit target reached" / "Daily loss limit reached"The account reached the daily limit you set under LIMITS on the Accounts page. Everything open on it was closed, and it takes no new trades until the next session opens at 6 pm ET. To let it trade again sooner, raise or remove that limit (a reached limit can't be lowered). Your other accounts keep trading.
"permission denied" (Rithmic)Rithmic's agreements haven't been accepted for this login, or the system is wrong. Do step 1 of the Rithmic guide, and check the account's System matches the one you pick in R|Trader Pro.
"Account … isn't on this Rithmic login" (Rithmic)The Account ID saved in CopyTrade isn't one this login has, often a typo or an account the firm has closed. The message lists the accounts the login does have. Correct the Account ID on the Accounts page, then press AUTH.
"not from TradingView"Only accept alerts from TradingView is on, and this alert came from somewhere else, so nothing was placed. If you send alerts from another tool on purpose, turn that setting off on the Webhook page.
"No switched-on account is in group …"The alert names a strategy group that no switched-on account belongs to. Add the account to that group on the Accounts page, or remove the group from the message.
"Paused for news"Your news pause is on and a major release is close. New trades resume on their own when the window ends.
"trial has ended" / "subscription has ended"New trades are paused until you subscribe on the Billing page. Open positions keep their stop and targets.
TradingView says the alert fired, but the Alert Inbox is emptyTradingView isn't reaching your webhook. Copy the URL from the Webhook page again and paste it into the alert, then send the test alert above.
Something isn't working

Email [email protected] with your platform (Tradovate, Rithmic or TopstepX) and a screenshot of the error or of the Log page.