Unified Local Copier for MT4
- Utilitaires
- Version: 1.30
- Mise à jour: 6 juin 2026
Unified Local Copier (ULC) — Copieur local de trades
Unified Local Copier est un Expert Advisor de copie locale de trades pour MetaTrader 4 et MetaTrader 5. Il ne dépend pas de DLL externes et assure une synchronisation des ordres rapide et fiable entre les terminaux Master et Slave sur le même ordinateur. MT4 et MT5 peuvent être combinés en configuration multiplateforme.
Version actuelle : v1.30 (MT5 / MT4)
1. Fonctionnement et périmètre de copie
Le système repose sur une architecture Master-Slave (maître-esclave). Un canal (Channel) prend en charge un Master et plusieurs Slaves : un compte Master synchronise les instructions de trading vers plusieurs comptes Slave.
Master (maître)
Surveille en temps réel toute l'activité du compte, notamment :
- Placement, modification et suppression d'ordres en attente (Buy/Sell Limit, Stop, etc.)
- Ouvertures au marché
- Modifications de stop-loss / take-profit sur positions ouvertes
- Clôtures de positions (y compris clôtures partielles et Close By en couverture)
Slave (esclave)
Reçoit les instructions du Master et les reproduit sur le compte local. Le système gère automatiquement la correspondance des symboles, la normalisation des lots et le contrôle du slippage, et associe chaque ordre Master à son équivalent Slave pour maintenir l'alignement après reconnexion.
Compatibilité multiplateforme
Combinaisons prises en charge :
- MT5 Master → MT4 Slave
- MT4 Master → MT5 Slave
- Master et Slave sur la même plateforme
Périmètre de copie
Le Slave reproduit intégralement : placement / modification / suppression de pendings, ouvertures au marché, changements SL/TP, clôtures et Close By. Les ordres issus du trading manuel, des EAs et des pendings déclenchés sont tous pris en charge.
2. Filtre de direction (InpSlaveCopySide)
Le Slave peut filtrer les trades copiés par direction. Utile lorsque vous ne souhaitez qu'un côté de la stratégie Master (par ex. long uniquement ou short uniquement).
Options :
SLAVE_COPY_BOTH (par défaut) — copier Buy et Sell
SLAVE_COPY_BUY — Buy uniquement
SLAVE_COPY_SELL — Sell uniquement
Règles du filtre :
1. Ouvertures et placement de pendings : seuls les ordres correspondant à la direction choisie sont copiés (y compris Buy/Sell Limit, Stop et autres types en attente).
2. Clôtures et modifications de position : seules les positions du côté sélectionné sont traitées. En mode « Buy uniquement », une clôture Sell du Master ne ferme rien sur le Slave ; une clôture Buy du Master ferme la position Buy correspondante sur le Slave.
3. Modification et suppression de pendings : si le Slave a déjà copié un pending Master, la modification et la suppression restent synchronisées pour éviter les ordres en attente orphelins.
Remarque : le filtre de direction s'applique au Slave uniquement. Conservez les valeurs par défaut sur le Master.
3. Paramètres d'entrée
Paramètres communs (Master et Slave)
Paramètre Type / défaut Description
-------------------------------------------------------------------------
InpRole ROLE_MASTER Rôle. ROLE_MASTER = envoyer les instructions ;
ROLE_SLAVE = recevoir et copier.
InpChannelID 8888 (int) ID du canal. Doit être identique sur Master et Slave.
Pour plusieurs copieurs sur un même PC, utilisez
un Channel ID différent pour chacun (ex. 8888, 9999).
Paramètres Slave uniquement
Paramètre Type / défaut Description
-------------------------------------------------------------------------
InpLotSize 0.01 (double) Lot de copie. Lot fixe pour chaque ordre copié
(sans mise à l'échelle du volume Master).
Normalisation automatique au min./max. et pas
du courtier.
InpComment "ULC" (string) Préfixe de commentaire des ordres copiés. Le
système ajoute un identifiant de ticket Master
pour le suivi et la déduplication.
InpSymbolSuffix "" (string) Suffixe de symbole pour les différences de noms
entre courtiers. Ex. Master XAUUSD / Slave
XAUUSDm — laisser vide pour correspondance auto
ou saisir "m" manuellement.
InpSlaveCopySide SLAVE_COPY_BOTH Filtre de direction. Voir section 2. Slave uniquement.
InpReplayHistoryOnStart false (bool) Rattraper les instructions passées au démarrage.
false (recommandé) : rejoindre la sync en direct,
ignorer les anciennes instructions.
true : traiter tout l'historique non traité dans l'ordre.
MT5 Slave uniquement
Paramètre Type / défaut Description
-------------------------------------------------------------------------
InpDeviation 30 (points) Écart de prix maximal autorisé en points pour
les ordres au marché. L'ordre peut être rejeté
si le prix dépasse cette tolérance.
MT4 Slave uniquement
Paramètre Type / défaut Description
-------------------------------------------------------------------------
InpSlippage 30 (points) Slippage autorisé en points pour ouvertures
et clôtures au marché.
Paramètres Master uniquement
Paramètre Type / défaut Description
-------------------------------------------------------------------------
InpClearQueueOnStart false (bool) Effacer l'historique de sync au démarrage.
false (recommandé) : conserver l'état pour que le
Slave reprenne après changement de timeframe ou
rechargement de l'EA.
true : repartir de zéro pour une nouvelle session.
MT4 Master uniquement
Paramètre Type / défaut Description
-------------------------------------------------------------------------
InpMasterPollSec 1 (int) Intervalle de vérification Master en secondes.
Sur symboles peu actifs ou graphiques H1, utilisez
1 seconde ou plus pour détecter les changements d'ordres.
4. Guide d'installation
1. Installer le Master
(1) Ouvrez le terminal MT4 ou MT5 qui enverra les signaux et attachez l'EA à n'importe quel graphique (symbole et timeframe indifférents ; graphique toujours ouvert recommandé).
(2) Glissez UnifiedLocalCopier sur le graphique.
(3) Définissez InpRole = ROLE_MASTER et configurez InpChannelID.
(4) Activez l'interrupteur principal Trading algorithmique / AutoTrading du terminal.
Important :
- Un seul EA Master par compte et Channel ID.
- N'exécutez pas plusieurs Master avec le même Channel sur différents graphiques du même compte — conflits et copies en double possibles.
- Le Master surveille l'ensemble du compte ; un graphique suffit.
2. Installer le Slave
(1) Attachez l'EA sur le terminal MT4 ou MT5 récepteur (autre client ou compte possible).
(2) Définissez InpRole = ROLE_SLAVE et InpChannelID identique au Master.
(3) Configurez les paramètres Slave selon vos besoins : InpLotSize, InpSlaveCopySide, InpSymbolSuffix, etc.
(4) Activez le trading algorithmique ; l'EA entre en mode attente de synchronisation.
Important :
- Un seul EA Slave par compte de copie et Channel recommandé.
- Si les noms de symboles diffèrent, vérifiez InpSymbolSuffix ou la correspondance automatique dans le journal Experts.
5. Caractéristiques du produit
Sans dépendance DLL
Toutes les fonctionnalités sont intégrées à l'EA. Aucun composant externe — installation simple et large compatibilité.
Déduplication précise
Le Slave vérifie avant l'ouverture pour éviter les copies en double dues à la latence ou aux déclenchements répétés.
Filtrage intelligent des événements
Le Master filtre les mises à jour redondantes après exécutions au marché, réduisant les instructions de modification inutiles sur le Slave.
Sync fiable en forte activité
Tolérance aux pannes et nouvelles tentatives intégrées pour les rafales d'ordres (ex. grid ou martingale), limitant les copies manquées.
Cycle de vie complet des pendings
Placement, modification et suppression entièrement synchronisés. Si le Master annule un pending copié, le Slave le supprime aussi — aucun reliquat.
Liaison ordre à ordre
Chaque ordre copié est lié à sa source Master pour que clôtures, modifications et suppressions ciblent le bon ordre Slave.
Reprise après déconnexion
Avec InpClearQueueOnStart = false (recommandé), le Slave peut reprendre en toute sécurité après rechargement de l'EA ou changement de graphique sans recommencer.
6. Opérations prises en charge
Opération Action du Slave
-------------------------------------------------------------------------
Placer pending Placer le pending correspondant sur le Slave
Modifier pending Modifier prix / SL / TP du pending Slave
Supprimer pending Supprimer le pending Slave correspondant
Ouverture au marché Ouverture Buy / Sell au marché sur le Slave
Changement SL/TP Modifier SL / TP de la position correspondante
Clôture Clôturer la position Slave correspondante
Close By (couverture) Clôturer la position selon la logique Close By
7. FAQ
Q : Le journal Slave indique qu'il attend le Master ?
R : Démarrez d'abord l'EA Master et vérifiez que InpChannelID correspond des deux côtés.
Q : Échec du mappage de symbole sur le Slave ?
R : Vérifiez InpSymbolSuffix ou ajoutez le symbole à la Fenêtre du marché sur le terminal Slave.
Q : En mode « Buy uniquement », pourquoi les pendings Sell du Master ne sont pas copiés ?
R : Comportement attendu. Le filtre ne copie que le côté sélectionné. Les pendings déjà copiés restent modifiés ou supprimés lorsque le Master les change.
Q : Peut-on mélanger MT4 et MT5 ?
R : Oui. Utilisez le même Channel ID avec Master et Slave sur le même ordinateur.
Q : Master et Slave peuvent-ils utiliser des comptes courtiers différents ?
R : Oui. Utilisez InpSymbolSuffix pour les différences de noms de symboles et InpLotSize pour un lot indépendant sur le Slave.
Q : Le lot de copie est-il proportionnel au Master ?
R : Non. Le Slave utilise le InpLotSize fixe. Ajustez-le selon la taille du compte Slave et votre risque.

