PulseCopier MT5
- Utilities
- Version: 1.0
- Activations: 20
PulseCopier copies trades between MetaTrader terminals running on the same Windows PC or VPS. It is event-driven: the master publishes every trade the instant it happens, and the receiver measures and logs the real copy latency of every single trade — typically 50-150 ms. No DLLs, no internet bridge, no configuration files.
One EA, two modes
Attach it as MASTER on the source terminal and as RECEIVER on every destination terminal. With Master ID = AUTO the receiver finds the active master by itself: drag, drop, done. One master can feed unlimited receivers, one terminal can run several receivers, and a terminal can even be master and receiver at the same time. Each receiver has its own independent settings: one can copy with risk %, another with balance ratio, another reversed — money management always lives on the receiver side. Works together with PulseCopier MT4 to cover all four combinations: MT5>MT5, MT4>MT5, MT5>MT4, MT4>MT4.
What it copies
- Market positions from any source: manual trading, EAs, mobile
- Pending orders (limit/stop), with entry price sync and pending-to-market transition when they trigger
- Synchronized closes, correct proportional partial closes, SL/TP modification sync
- Real and demo accounts, any broker, any combination
- The ticket map is persisted to disk: terminal restarts never duplicate or lose trades
Monitoring
- On-chart control panel: live status, last and average copy latency, pause/resume and close-all buttons
- CSV copy journal: every open, close, partial and transition with its measured latency
1-minute setup
- Source terminal: attach PulseCopier, set Mode = MASTER.
- Each destination terminal: attach PulseCopier, set Mode = RECEIVER, enable AutoTrading.
- Done. With Master ID = AUTO they find each other automatically.
Inputs explained
1. Mode
Mode (enum, default: Master) — MASTER publishes its trades; RECEIVER copies them.
Master ID (string, default: AUTO) — the name that links a master with its receivers. With AUTO the master generates it from its account number and the receiver connects to the active master automatically. Set the same custom ID on both sides to link them manually.
Update interval, ms (int, default: 100) — how often data is written/read. The master also publishes instantly on every trade event, so this mainly sets the receiver polling rate.
2. Receiver: connection
Max snapshot age, sec (int, default: 10) — if the master data is older than this (master offline or frozen), the receiver pauses instead of acting on stale data.
3. Receiver: lots
Lot mode (enum, default: Multiplier) — how the copy size is calculated. Multiplier = master lot x multiplier. Fixed lot = always the same size. Balance ratio / Equity ratio = master lot scaled by the balance/equity ratio between both accounts, with automatic currency conversion (master with 10,000 opens 1.00 lot, receiver with 5,000 opens 0.50). Risk % = lot computed so the master SL distance risks that % of your balance. Lots per balance = X lots per Y of balance, ignoring the master lot.
Lot multiplier (double, default: 1.0) — factor for Multiplier mode; also the fallback for Risk % when the trade has no SL.
Fixed lot (double, default: 0.10) — size used by Fixed lot mode.
Risk % per trade (double, default: 1.0) — risk used by Risk % mode.
Lots per amount (double, default: 0.10) and Per balance amount (double, default: 1000) — together they define Lots per balance mode: 0.10 per 1000 means a 5,000 account opens 0.50 lots.
Min lot / Max lot (double, default: 0 = broker limits) — floor and cap for the final size.
Skip if lot out of range (bool, default: false) — skip the trade instead of clamping the size to the limit.
Split lots above (double, default: 0 = off) — market orders bigger than this are split into parts: with 0.50, a 1.20-lot trade opens as 0.50 + 0.50 + 0.20.
4. Receiver: copy options
Reverse copy (bool, default: false) — opens the opposite direction (BUY<>SELL); pending types are transformed accordingly (buy limit becomes sell stop, etc.) and SL/TP are swapped.
Stop Loss mode / Take Profit mode (enum, default: Copy) — Copy = mirror the master. Fixed points = use your own fixed distance. Off = do not manage it.
Fixed SL, points / Fixed TP, points (int, default: 0) — the distance used by Fixed mode.
Sync SL/TP changes (bool, default: true) — keep mirroring later SL/TP modifications made on the master.
Copy closes (bool, default: true) — replicate full and partial closes.
Copy pending orders (bool, default: true) — place the master pendings too. If disabled, the trade is copied only when the pending triggers on the master.
Copy existing on start (bool, default: false) — also copy positions that were already open when the receiver started.
Reopen closed copies (bool, default: false) — if a copy gets closed on the receiver (SL hit, manual close) while the master trade is still open, copy it again.
Max price deviation, points (int, default: 0 = off) — do not open if the current price has moved further than this from the master entry; the receiver waits for the price to come back.
5. Receiver: breakeven / trailing
Breakeven trigger, points (int, default: 0 = off) — after this profit, the SL is moved to the entry price.
Breakeven offset, points (int, default: 0) — extra distance added to the breakeven SL.
Trailing distance, points (int, default: 0 = off) — classic trailing stop on the copies.
Trailing start, points (int, default: 0) — profit required before trailing begins.
Trailing step, points (int, default: 5) — minimum improvement before the SL is moved again.
With breakeven or trailing active, the SL only tightens — the master sync can never loosen it.
6. Receiver: filters
Magic filter / Symbol filter / Comment filter (string, default: empty = copy everything) — CSV lists; copy only master trades matching these. Example: Magic filter 123,456 copies only those two EAs.
Direction filter (enum, default: All) — all trades, buys only, or sells only.
Min/Max master lot (double, default: 0 = off) — copy only master trades within this size range.
Max spread, points (int, default: 0 = off) — do not open while the spread is above this.
7. Receiver: schedule
Monday...Sunday (bool, default: all enabled) and Start/End time (string, default: 00:00-23:59) — outside the allowed days/hours no new copies are opened. Overnight windows like 22:00-06:00 are supported. Closes and SL/TP management keep working at all times.
8. Receiver: protection
Max receiver drawdown % (double, default: 0 = off) — pause copying when the receiver floating drawdown exceeds this.
Close all on drawdown (bool, default: false) — additionally close every copied trade when that happens (emergency stop).
Max master drawdown % (double, default: 0 = off) — do not copy while the master account is in deep drawdown.
Daily max loss % / Daily max profit % (double, default: 0 = off) — stop copying for the rest of the day after hitting either limit.
9. Receiver: symbols
Symbol prefix / Symbol suffix (string, default: empty) — added to the master symbol on this broker (e.g. suffix .pro turns EURUSD into EURUSD.pro).
Symbol map (string, default: empty) — manual pairs with the highest priority, e.g. XAUUSD=GOLD;US30=DJ30.
Auto-detect symbols (bool, default: true) — when a symbol does not exist with the same name, the receiver finds the broker variant automatically and remembers it.
10. Receiver: execution
Magic number (long, default: 770001) — identifies the copied trades; use a different one for each receiver instance running on the same terminal.
Slippage, points (int, default: 30) — maximum allowed deviation when executing.
Extra comment (string, default: empty) — your own text appended to the comment of every copy.
11. Panel + journal
Show panel (bool, default: true) — on-chart status panel with the Pause and Close all buttons.
Write CSV journal (bool, default: true) — log every action with its measured latency to a CSV file in the Files folder.
Verbose log (bool, default: false) — extra detail in the Experts log.
Requirements
- Windows PC or VPS with all terminals running on the same machine (local copier, no network bridge)
- MT5 receiver accounts must be hedging accounts
- AutoTrading enabled on the receiver terminal
- To copy from or to MT4 terminals you also need PulseCopier MT4
Notes
- In the Strategy Tester the EA performs one minimal validation trade; its real function requires two live terminals.
