Multiplatform trade copier

Cross-Platform Trade Synchronization

Seamlessly mirror trades between MT4, MT5, and cTrader with ultra-low latency and intelligent risk management controls.

Cross-Platform (MT4 ↔ MT5 ↔ cTrader)
Ultra-Low Latency Execution (<10ms)
Custom Lot & Risk Scaling

Select Your Copier Modules

Download specific Master senders or Slave receivers based on your account setup.

Master Sender

Trade Copier Master MT4

Broadcasts pending/live orders, stop-losses, and take-profits from your MT4 master account to receiver clients.

MT4
Slave Receiver

Trade Copier Slave MT4

Receives orders instantly from any master and executes trades on MT4 with lot scaling and slippage protection.

MT4
Master Sender

Trade Copier Master MT5

High-performance MT5 master broadcaster optimized for multi-asset execution and fast order routing.

MT5
Slave Receiver

Trade Copier Slave MT5

Executes trades on target MT5 accounts, automatically adjusting for spread differences and symbol suffixes.

MT5
Master Sender

Trade Copier Master cTrader

Native cBot broadcaster for cTrader platforms enabling cross-account master execution streaming.

cTrader
Slave Receiver

Trade Copier Slave cTrader

Receives orders instantly from any master and executes trades on target cTrader accounts with flexible lot scaling controls.

cTrader

Step-by-Step Installation Guide

Follow these step-by-step instructions to properly install and configure FTO Trade Copier across your terminals.

MT4 and MT5 Setup

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.

Note: The FTO Copier does not use any external DLLs, so "Allow DLL imports" does not need to be enabled for this tool. It's fine to leave enabled if other EAs on your terminal need it.

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.

cTrader Setup

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.

Mixing Platforms (MT4 ↔ MT5 ↔ cTrader)

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.

MT4 Master (FTO_Copier_Master_MT4.mq4)
ParameterDefaultDescription
Signal file name (shared/Common Files)FTO_Copier_Signal.csvThe file this Master writes to. Must match the Slave's file name exactly.
0 = copy ALL trades, otherwise only this magic number0Set to a specific EA magic number to broadcast only that strategy's trades; leave 0 to copy everything.
Update frequency in milliseconds300How often the Master refreshes the signal file.
Also broadcast pending ordersfalseIf true, also includes Buy/Sell Limit and Stop orders (not just open trades).
MT4 Slave (FTO_Copier_Slave_MT4.mq4)
ParameterDefaultDescription
Must match Master's file nameFTO_Copier_Signal.csvHas to be identical to whatever Master is feeding it.
Sync frequency in milliseconds300How often the Slave checks the signal file.
Master lot x this multiplier1.0Scales the copied lot size relative to the Master's lot (e.g. 0.5 = half size).
Fixed lot (0 = use multiplier instead)0If set above 0, always uses this exact lot size regardless of the Master's size.
Slippage5Maximum allowed price deviation in points before an order is rejected.
Magic number applied to all copied trades990011Tags all trades this Slave opens, so it can recognize and manage its own positions.
Max heartbeat age (sec)30How 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.
MT5 Master (FTO_Copier_Master_MT5.mq5)
ParameterDefaultDescription
Signal file nameFTO_Copier_Signal_MT5.csvNote this defaults differently from the MT4 Master — set both sides to match whatever you're pairing with.
Magic filter0Same as MT4: 0 copies everything, or specify a magic number.
Update frequency (ms)300Same as MT4.
MT5 Slave (FTO_Copier_Slave_MT5.mq5)
ParameterDefaultDescription
Signal file nameFTO_Copier_Signal_MT5.csvMust match the Master's exactly.
Sync frequency (ms)300How often the Slave checks the signal file.
Lot multiplier1.0Scales the copied lot size relative to the Master's lot.
Fixed lot0Fixed lot size override.
Slippage5Maximum allowed price deviation in points.
Magic number990022Different from the MT4 Slave's 990011, so both can run simultaneously without confusing each other.
Max heartbeat age (sec)30How long before the Slave warns that Master's signal looks stale.
Symbol map(blank)Custom symbol mapping string.
cTrader Master (FTO_Copier_Master_cTrader.cs)
ParameterDefaultDescription
Signal File NameFTO_Copier_Signal.csvThe 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)300How often the Master refreshes the signal file.
cTrader Slave (FTO_Copier_Slave_cTrader.cs)
ParameterDefaultDescription
Signal File NameFTO_Copier_Signal.csvMust match the Master's exactly.
Common Files Folder(blank = auto-detect)Leave blank to auto-use the shared MetaQuotes Common\Files path.
Lot Multiplier1.0Scales copied lot size.
Fixed Lot0Fixed lot override.
Label For Copied TradesFTOCopierTags all positions this Slave opens.
Max Heartbeat Age (sec)30Timeout warning threshold in seconds.
Update Interval (ms)300Sync 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.

No. The Master doesn't know or care which broker the Slave uses — it just writes what it sees on its own account. Master on Broker A, Slave on Broker B works fine, as long as both terminals run on the same computer.
For the standard setup described above, yes both terminals need to run under the same Windows user account (whether that's your own PC or a single VPS), because the copier works by sharing one folder (Common\Files) that only exists locally on one machine.
In order of likelihood:
  • 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."
Your Slave's broker uses a different symbol name than your Master's broker (e.g. GBPUSD vs GBPUSD.m). Check your Slave broker's Market Watch for the exact symbol name, then add it to the Symbol Map input.
Yes — for example, an MT4 Master can simultaneously feed an MT5 Slave and a cTrader Slave. Each Slave just independently reads the same file.
Yes, but this needs two separate signal files, one per direction (e.g. Signal_AtoB.csv and Signal_BtoA.csv).
It's how each Slave tags the trades it opens, so it can tell "my own copied trades" apart from your manually placed trades or other EAs.
Yes — install both the Master and Slave terminals on the same VPS, exactly as you would on a home PC.
No worries, simply post your query on the forum page and someone will reply soon.

Download Trade Copier

Create a free account or login to access the Trade Copier and all future updates.

We respect your privacy. No spam, ever.
FxTradeOcean

Empowering traders worldwide with market insights, education, trading tools and a trusted community.


Disclaimer

Important risk and legal information.

Terms & Conditions

Rules and guidelines for using our site.

Privacy Policy

How we collect, use and protect your data.

Cookie Policy

How we use cookies to improve your experience.

Copyright Policy

Our policy on copyright infringement claims.

Community Guidelines

Rules for a respectful and safe community.

Risk Warning: Trading Forex, CFDs, Stocks, Commodities and Cryptocurrencies involves significant risk and may not be suitable for all investors. Past performance is not indicative of future results. FXTradeOcean provides educational content and tools for informational purposes only and does not constitute financial or investment advice. You are solely responsible for your trading decisions.

© 2026 FXTradeOcean. All Rights Reserved. 🔒 Secure & Trusted Community Made with for Traders