ALL TRADOVATE-SUPPORTED PROP FIRMS · TRADEIFY · APEX · LUCID & MORE · PERSONAL ACCOUNTS
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.
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.
Click "Connect with Tradovate"
Click ⚡ Connect with Tradovate just below it. Tradovate's sign-in page opens.
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.
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.
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.
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.
TOPSTEPX · TOPSTEP ACCOUNTS
Subscribe to ProjectX API Access
Go to dashboard.projectx.com, create an account, then go to Subscriptions → ProjectX API Access and subscribe.
Link It to TopstepX
Log into TopstepX. Click the gear icon ⚙ (Settings), open the API tab, and under ProjectX Linking click Link.
Create Your API Key
On the same API tab, click Add API Key and copy the key.
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.
Tradovate Apex Account
If you log in at trader.tradovate.com, follow the Tradovate guide and type Apex as the prop firm name.
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.
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.
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.
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.
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.
{{strategy.order.alert_message}} in the Message box, do exactly that and choose Order fills only instead."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.
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.
| symbol | What to trade, e.g. MGC1! or MNQ1!. CopyTrade picks the current contract month for you. |
| qty | How many contracts |
| sl_points | Stop loss distance, in points |
| tp1_points | First take profit distance, in points |
| partial_qty | How many contracts to close at TP1 |
| tp2_points | Final take profit distance for the rest, in points |
| be_buffer | After TP1 fills, the stop moves to entry plus this many points (breakeven) |
| market_position | Leave 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.
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.
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".
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.
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.
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.
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.
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.
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.
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.
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 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 empty | TradingView 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. |
Email [email protected] with your platform (Tradovate, Rithmic or TopstepX) and a screenshot of the error or of the Log page.