Cross-Platform Trade Synchronization
Seamlessly mirror trades between MT4, MT5, and cTrader with ultra-low latency and intelligent risk management controls.
Select Your Copier Modules
Download specific Master senders or Slave receivers based on your account setup.
Trade Copier Master MT4
Broadcasts pending/live orders, stop-losses, and take-profits from your MT4 master account to receiver clients.
Trade Copier Slave MT4
Receives orders instantly from any master and executes trades on MT4 with lot scaling and slippage protection.
Trade Copier Master MT5
High-performance MT5 master broadcaster optimized for multi-asset execution and fast order routing.
Trade Copier Slave MT5
Executes trades on target MT5 accounts, automatically adjusting for spread differences and symbol suffixes.
Trade Copier Master cTrader
Native cBot broadcaster for cTrader platforms enabling cross-account master execution streaming.
Trade Copier Slave cTrader
Receives orders instantly from any master and executes trades on target cTrader accounts with flexible lot scaling controls.
Step-by-Step Installation Guide
Follow these step-by-step instructions to properly install and configure FTO Trade Copier across your terminals.
Step 1 Enable Algo Trading
In each MetaTrader terminal (both the Master's and the Slave's), go to Tools → Options → Expert Advisors and make sure "Allow automated trading" is checked. You'll also see a green AutoTrading button in the main toolbar — click it so it's highlighted green, not grey.
Step 2 Install the Master EA
Copy the Master file (FTO_Copier_Master_MT4.mq4 or FTO_Copier_Master_MT5.mq5) into that terminal's MQL4/Experts or MQL5/Experts folder. (Open the folder via File → Open Data Folder in MetaTrader.)
Open MetaEditor, compile the file (press F7), and confirm "0 errors" in the compile log.
Drag the compiled EA from the Navigator panel onto any chart on your source/master account.
In the popup, go to the Common tab and confirm "Allow Algo Trading" is checked, then click OK.
You should see a smiley-face icon in the top-right corner of the chart, confirming the EA is running.
Step 3 Install the Slave EA
The Slave must run in a separate terminal instance — a second MT4/MT5 install (or the same install run in portable mode) logged into the destination account.
Copy the Slave file (FTO_Copier_Slave_MT4.mq4 or FTO_Copier_Slave_MT5.mq5) into that terminal's Experts folder.
Compile it in MetaEditor.
Drag it onto any chart on the destination/slave account, enable Algo Trading in the popup.
Step 4 Match the Signal File Name
This is the single most common setup mistake. Both the Master's and Slave's "Signal file name" input must be identical, character-for-character, including case. If they don't match, the Slave will never see the Master's trades.
Step 5 Confirm It's Working
Check the top-left corner of the Slave's chart — you should see a status message like "FTO Copier active. Master last seen 1s ago." If it says the signal file wasn't found, double-check Step 4 and that both terminals are running under the same Windows user account (so they share the same Common Files folder).
Step 6 Test With a Small Trade
Open a small (e.g., 0.01 lot) trade manually on the Master account and confirm it appears on the Slave account within about a second.
Step 1 Import the cBots
Open cTrader and go to the Automate panel.
Create a new cBot (or use Import if your version supports it) and paste in the code from FTO_Copier_Master_cTrader.cs (for the Master account) or FTO_Copier_Slave_cTrader.cs (for the Slave account).
Click Build and confirm there are no errors in the Build Result panel.
Step 2 Attach and Approve Permissions
Drag the cBot onto a chart on the relevant account.
cTrader will prompt you to confirm Full Access permissions (this cBot needs file system access to read/write the shared signal file, which is outside a cBot's normal sandboxed folder). Approve this — if you dismiss it, the cBot will silently be unable to reach the file.
Click the green ▶ (Start) button on the cBot's toolbar at the bottom of the chart — a cBot that's only "attached" but not started will do nothing.
Step 3 Match the Signal File Name
Same rule as MT4/MT5: the "Signal File Name" parameter must match exactly between whichever Master and Slave you're pairing (cTrader↔cTrader, or cTrader↔MT4/MT5). Case-sensitive.
Step 4 Check the Log
Open the Algo tab at the bottom of the cTrader window, find your running cBot in the list, and check its log for a line like "FTO Slave Copier started. Reading from: ..." — this confirms it's running and shows the exact file path it's watching.
Step 5 Test
Open a small trade on whichever account is the Master, and confirm a matching position appears on the Slave account within a second or two.
Because all three copiers share the exact same signal file format, any platform can act as Master for any other platform's Slave — MT4 Master → MT5 Slave, MT5 Master → cTrader Slave, cTrader Master → MT4 Slave, and so on. Just install the correct file on each side (Master on the source account, Slave on the destination account) and make sure the signal file name matches between the two.
Configuration & Settings Breakdown
Complete parameter reference for all platforms and modules.
| Parameter | Default | Description |
|---|---|---|
| Signal file name (shared/Common Files) | FTO_Copier_Signal.csv | The file this Master writes to. Must match the Slave's file name exactly. |
| 0 = copy ALL trades, otherwise only this magic number | 0 | Set to a specific EA magic number to broadcast only that strategy's trades; leave 0 to copy everything. |
| Update frequency in milliseconds | 300 | How often the Master refreshes the signal file. |
| Also broadcast pending orders | false | If true, also includes Buy/Sell Limit and Stop orders (not just open trades). |
| Parameter | Default | Description |
|---|---|---|
| Must match Master's file name | FTO_Copier_Signal.csv | Has to be identical to whatever Master is feeding it. |
| Sync frequency in milliseconds | 300 | How often the Slave checks the signal file. |
| Master lot x this multiplier | 1.0 | Scales the copied lot size relative to the Master's lot (e.g. 0.5 = half size). |
| Fixed lot (0 = use multiplier instead) | 0 | If set above 0, always uses this exact lot size regardless of the Master's size. |
| Slippage | 5 | Maximum allowed price deviation in points before an order is rejected. |
| Magic number applied to all copied trades | 990011 | Tags all trades this Slave opens, so it can recognize and manage its own positions. |
| Max heartbeat age (sec) | 30 | How long before the Slave warns that the Master's signal looks stale. |
| Symbol map | (blank) | For broker symbol suffix differences, e.g. EURUSD:EURUSDm,GBPUSD:GBPUSD.ecn. |
| Parameter | Default | Description |
|---|---|---|
| Signal file name | FTO_Copier_Signal_MT5.csv | Note this defaults differently from the MT4 Master — set both sides to match whatever you're pairing with. |
| Magic filter | 0 | Same as MT4: 0 copies everything, or specify a magic number. |
| Update frequency (ms) | 300 | Same as MT4. |
| Parameter | Default | Description |
|---|---|---|
| Signal file name | FTO_Copier_Signal_MT5.csv | Must match the Master's exactly. |
| Sync frequency (ms) | 300 | How often the Slave checks the signal file. |
| Lot multiplier | 1.0 | Scales the copied lot size relative to the Master's lot. |
| Fixed lot | 0 | Fixed lot size override. |
| Slippage | 5 | Maximum allowed price deviation in points. |
| Magic number | 990022 | Different from the MT4 Slave's 990011, so both can run simultaneously without confusing each other. |
| Max heartbeat age (sec) | 30 | How long before the Slave warns that Master's signal looks stale. |
| Symbol map | (blank) | Custom symbol mapping string. |
| Parameter | Default | Description |
|---|---|---|
| Signal File Name | FTO_Copier_Signal.csv | The file this Master writes to. |
| Common Files Folder | (blank = auto-detect) | Leave blank to auto-use the shared MetaQuotes Common\Files path — the same folder MT4/MT5 use, enabling cross-platform pairing without extra setup. |
| Label Filter | (blank = copy all) | cTrader's equivalent of a magic number filter — set to a specific Label to broadcast only positions with that tag. |
| Update Interval (ms) | 300 | How often the Master refreshes the signal file. |
| Parameter | Default | Description |
|---|---|---|
| Signal File Name | FTO_Copier_Signal.csv | Must match the Master's exactly. |
| Common Files Folder | (blank = auto-detect) | Leave blank to auto-use the shared MetaQuotes Common\Files path. |
| Lot Multiplier | 1.0 | Scales copied lot size. |
| Fixed Lot | 0 | Fixed lot override. |
| Label For Copied Trades | FTOCopier | Tags all positions this Slave opens. |
| Max Heartbeat Age (sec) | 30 | Timeout warning threshold in seconds. |
| Update Interval (ms) | 300 | Sync interval. |
| Symbol Map | (blank) | Same format as MT4/MT5: EURUSD:EURUSD.a,GBPUSD:GBPUSD.a |
Frequently Asked Questions
Solutions to common setup questions, platform compatibility, and troubleshooting steps.
- Signal file names don't match exactly between Master and Slave (check spelling/case).
- AutoTrading/Algo Trading isn't enabled on one of the terminals.
- The Slave cBot/EA is attached but not actually started.
- There's no open trade on the Master account yet.
- One of the terminals is running in "portable mode."
GBPUSD vs GBPUSD.m). Check your Slave broker's Market Watch for the exact symbol name, then add it to the Symbol Map input.
Signal_AtoB.csv and Signal_BtoA.csv).
Download Trade Copier
Create a free account or login to access the Trade Copier and all future updates.
