Revanche Miroir is a local trade copier for MetaTrader 5. It copies trades from one account to one or more other accounts running on the same computer. One program does both jobs: you attach it as a Master on the account you want to copy from, and as a Slave on each account you want to copy to. It works on any symbol, any account currency, and brokers that quote prices with different numbers of digits.
Quick start
On the account you want to copy FROM (the source):
- Enable Algo Trading in the terminal.
- Open any one chart and attach Revanche Miroir to it.
- Set Role = Master.
- Set Master ID = A.
- Click OK. The board shows "MASTER A — publishing".
On each account you want to copy TO (the destination):
- Enable Algo Trading in that terminal.
- Open any one chart and attach Revanche Miroir to it.
- Set Role = Slave.
- Set Master ID = A (the same letter as the master).
- Choose a Sizing mode (start with Multiplier and a factor of 1.0 to copy the same lot sizes).
- Click OK. The board shows "SLAVE — copying master A" and "Live".
That is all that is needed. New trades opened on the master now appear on the slave, and they close on the slave when they close on the master.
How it works
Miroir does not use the internet, a server, or any external program. The master writes a small text file into MetaTrader's shared folder once a second, listing its open trades. Each slave reads that file and makes its own account match. Because the file lives in the shared folder, every MetaTrader 5 terminal on the same computer can see it. This also means both terminals must be on the same computer.
The master file is named after its ID letter, for example Revanche_Miroir_A.txt . That is how one machine can run several independent masters at once: give each one a different letter (A, B, C, and so on), and point each slave at the letter it should follow. A slave copies exactly one master. To copy from more than one master, attach the slave program more than once, each instance set to a different letter.
Roles and the status board
The single input that decides everything is Role. A master only publishes; it never places copied trades. A slave only copies; it never publishes. The full-chart board tells you which role is active and what it is doing. On a master it shows how many positions are being published. On a slave it shows the connection state (Live, or "Master silent — holding", or "Stopped — same account"), the symbols being copied, the sizing mode, and running counts of how many trades have been copied, how many are currently being monitored, and how many were skipped. You can turn the board off with Show status panel if you prefer a clean chart.
Choosing which symbols are copied
By default Miroir builds a list of eligible symbols automatically, keeping only those whose names contain one of the tokens in Auto-list contains (currency codes, gold, and oil by default). To copy a fixed set instead, type them into Exact list, which overrides the automatic list. To keep a symbol out either way, add it to Never copy these. The set you choose applies on the master (what it publishes) and on the slave (what it accepts), so you can restrict copying from either side.
Sizing modes
The slave decides its own lot size for every copied trade, using the Sizing mode you pick:
- Fixed lot — always the lot you set in Fixed lot, whatever the master traded.
- Lot multiplier — the master's lot multiplied by Multiplier / risk factor. A master lot of 0.10 with a factor of 0.20 becomes 0.02.
- Risk by balance — the slave lot is scaled by the ratio of the two account balances, so a smaller account copies proportionally smaller trades.
- Risk by equity — the same idea, using account equity instead of balance.
Balance and equity sizing account for differences in account currency and contract size automatically, so a cent account, a euro account, and a standard dollar account all end up with the correct proportional exposure without any extra setup. You can also set a mode per symbol in Per symbol, using the form EURUSD:MULTIPLIER:0.2,XAUUSD:BALANCE:1 , so different symbols copied from the same master can be sized differently at the same time. Lot cap limits the largest lot the slave will ever open. If a computed lot comes out below the broker's minimum, the trade is not copied, unless you switch on Take min lot when the result is smaller.
Different brokers: names and digits
The two terminals do not have to be at the same broker. If the master's symbol has a different name on the slave's broker — for example EURUSD on one and EURUSD.e on the other — Miroir tries to match it automatically by ignoring suffixes and prefixes. When a name is too different to match, add it to the Symbol map in the form EURUSD:EURUSD.e,XAUUSD:GOLD . Prices are always handled correctly even when the two brokers quote a symbol with a different number of digits: Miroir copies by price and re-fits it to each terminal, so a 2-digit and a 3-digit gold feed copy between each other cleanly.
How trades are opened and closed
When the master shows a new trade on a selected symbol, the slave opens the matching trade, sized by your rules. If the slave cannot open it — not enough margin, the spread too wide, trading closed — the trade is skipped and recorded as skipped, and its later close is skipped too, so the slave never tries to close a trade it never opened. A slave closes a copied trade only when it sees that trade closed on the master. This is a firm rule: if the master file stops updating because the master terminal was closed or the computer restarted, the slave treats the silence as "hold", never as "close". It keeps your copied trades open and waits for the master to return.
Stop loss and take profit are copied exactly as the master sets them, and any later change to them is mirrored. Miroir never adds or hides a stop of its own. If the master changes a position's size — a partial close, or adding to it — the slave follows the new size on the next refresh, not only on the initial open and final close.
Optional features
Several behaviours are switched off by default and can be turned on when you need them. Copy SL and TP is on by default; turn it off to manage stops on the slave yourself. Adopt positions already open at start makes a slave copy trades that were already open on the master when it started; by default those are left alone and only new trades are copied. Copy pending orders extends copying to limit and stop orders. Reverse copy mirrors every trade in the opposite direction. Retry a failed open will keep trying a skipped trade for the number of seconds you set. Max deviation limits how far the slave's price may differ from the master's before a trade is skipped, expressed in price so it means the same thing on any broker; left at zero it allows three times the current spread.
Safety
Miroir refuses to run a slave pointed at the master's own account, which would otherwise copy trades in an endless loop. Copied trades are stamped with the Magic number you set, so the slave manages only its own copies and leaves your manual trades alone. It respects each broker's minimum, maximum, and step lot sizes, checks free margin before every trade, and handles both netting and hedging accounts. It also survives a restart on either side: a slave remembers which of its trades belong to which master trade, so restarting a terminal does not duplicate or orphan anything.
Requirements and limits
Both terminals must run on the same computer, and Algo Trading must be enabled in each. Attach the program to a single chart per account; it manages the whole account, not just the chart's symbol, so one chart is enough. Because copying is file-based and refreshes about once a second, a trade that opens and closes within that same second on the master can be missed; this suits swing and intraday trading rather than very fast scalping. You can lower the refresh interval if you need to, at the cost of more frequent disk activity.
Windows and macOS
On Windows every MetaTrader 5 terminal shares one Common folder by default, so a master in one terminal and a slave in another see each other with no extra setup.
On macOS, MetaTrader 5 runs through Apple's Wine-based build, and each MetaTrader app copy has its own separate Common folder. For Miroir to work, the master and slave terminals must share the same Common folder, which means running both inside the same MetaTrader environment (the same Wine bottle) rather than as two separate app installs. Two independent MetaTrader apps on a Mac each keep their own Common folder and cannot see each other's file. The EA cannot be pointed at an outside folder to get around this, because MetaTrader only allows programs to read and write inside their own data folder and the shared Common folder.
For this reason, and because copier accounts need to stay online continuously, a Windows VPS is a straightforward way to run Miroir. It gives both terminals one shared Common folder and avoids the macOS setup entirely. On macOS, keep the refresh interval at 250 ms or higher, since the Wine layer adds overhead.
Revanche Miroir is part of the Revanche line, alongside the Aurore, Ressac and Breche gold Expert Advisors. Single entry with a real stop loss. No grid, no martingale.


