Description
🚀 TradeCopierBot — Copie de trades rapide, propre et à l'épreuve des brokers (Local/VPS) 🔁✨
Copiez vos trades d'un compte MASTER vers un (ou plusieurs) comptes SLAVE avec un copieur léger, piloté par événements, conçu pour des conditions de trading réelles : différents brokers, différents noms de symboles, différentes règles de lots.
Parfait pour l'exécution multi-comptes, l'ajustement du risque, et la distribution de stratégies—avec des journaux de débogage détaillés pour que vous sachiez toujours ce qui se passe. 🧠📈
✅ Optimisé pour les configurations Local / VPS (même machine).
❌ Non conçu pour cTrader Cloud (les instances sont isolées, donc les signaux ne peuvent pas être partagés). ☁️🚫
Attention : si vous avez deux comptes cTrader différents, vous devez acheter deux cBots ; sinon, vous ne pourrez pas les copier. Nous sommes à votre entière disposition pour toute information.
🧠 Comment ça fonctionne (MASTER → SLAVE) 🧩
🔁 1) Transport du signal (comment les trades « voyagent »)
Ce copieur utilise cTrader LocalStorage (portée Device) comme « bus de messages » partagé.
✅ MASTER
- Écoute les événements de position : Ouverte / Modifiée / Fermée
- Crée un
TradeSignal(OPEN / MODIFY / CLOSE) - L'ajoute à une liste de signaux dans LocalStorageScope.Device
- Appelle Flush() pour que le SLAVE puisse le lire immédiatement
✅ SLAVE
- Exécute un Timer toutes les Poll Interval secondes
- Appelle Reload()
- Lit la liste des signaux
- Traite uniquement les nouveaux signaux (en utilisant
_lastSignalIndexProcessed)
🧷 2) Mappage des positions (pour que CLOSE fonctionne)
Lorsque le SLAVE ouvre un trade, il stocke :
🧩 MasterPositionId → SlavePositionId
Ce mappage est aussi sauvegardé dans LocalStorage, il survit donc aux redémarrages :
- ✅ CLOSE fonctionne toujours après redémarrage
- ✅ MODIFY trouve toujours la bonne position
🧭 3) Traduction des symboles (symbole MASTER → symbole SLAVE)
🗺️ Carte des symboles (MASTER=SLAVE;...)
Utilisée lorsque les noms des symboles diffèrent entre brokers/comptes.
Format :
MASTER=SLAVE;MASTER2=SLAVE2;...
Exemple (votre cas) :
- MASTER ouvre
USTEC - SLAVE doit trader
US100
➡️ USTEC=US100
✅ Côté gauche = symbole venant du MASTER
✅ Côté droit = symbole sur le broker SLAVE
📏 4) Logique de volume (la partie clé) 🔥
✅ Fonctionne en lots/quantité (décimales supportées)
Pour gérer les décimales (0.10, 0.01, etc.), le SLAVE :
- Calcule les lots désirés
- Applique le multiplicateur / min / pas
- Convertit les lots → volume en utilisant
QuantityToVolumeInUnits(lots) - Envoie l'ordre en utilisant une surcharge acceptant un volume double ✅
C'est ce qui le rend robuste même lorsque les brokers imposent des règles de précision différentes pour les lots.
⚙️ Paramètres expliqués (avec icônes)
🧩 Noyau
- 🧭 Mode
-
Master= publie les signauxSlave= lit les signaux et copie les trades
- 🧷 Id du groupe de copie
-
- Canal de communication. MASTER et SLAVE doivent correspondre (ex.
DEFAULT)
- Canal de communication. MASTER et SLAVE doivent correspondre (ex.
- ⏱️ Intervalle de sondage (sec)
-
- Le SLAVE vérifie les nouveaux signaux toutes les N secondes
- 🐞 Mode débogage
-
- Affiche des journaux détaillés (recommandé lors de la configuration)
🗺️ Traduction des symboles
- 🧾 Carte des symboles (MASTER=SLAVE;...)
-
- Exemple :
USTEC=US100;XAUUSD=GOLD;NAS100=USTEC
- Exemple :
🎚️ Échelle de volume (TRÈS IMPORTANT) ✅
🔢 Multiplicateur global
- ➗ Multiplicateur de volume
-
- Ajuste tous les lots copiés :
desiredLots = masterLots * VolumeMultiplier
🎛️ Multiplicateur par symbole (votre outil principal)
- 🧷 Carte des multiplicateurs de volume (SYM=mult;...)
-
- Remplace le multiplicateur par symbole (symbole côté SLAVE)
- Exemple :
-
US100= 0. 10- Le format italien est aussi OK :
US100=0,10
✅ C'est ainsi que vous obtenez : 1. 00 sur MASTER → 0. 10 sur SLAVE
🧱 Contraintes de lots du broker (min et pas)
- 🧱 Quantité min par défaut (0=off)
-
- Lots minimum globaux si activé
- 🧱 Carte des quantités min (SYM=val;...)
-
- Lots minimum par symbole
- Exemple :
US100=0. 10
- 🪜 Pas de quantité par défaut (0=off)
-
- Pas global si activé
- 🪜 Carte des pas de quantité (SYM=val;...)
-
- Pas par symbole
- Exemple :
US100=0. 10→ valeurs autorisées : 0. 10, 0 .20, 0.30…
🧯 Comportements de sécurité
- 🧷 Utiliser Min Qty comme lots fixes
-
- Si
true: le SLAVE ignore la taille du master et utilise toujours MinQty (taille fixe)
- Si
- ⚠️ Comportement BelowMin
-
UseMin= si en dessous du min → augmenter au minSkip= si en dessous du min → ne pas ouvrir
- 🔁 Tentatives BadVolume
-
- Si le broker retourne BadVolume, tente de petits ajustements jusqu'à N fois
🎯 Logique de copie SL/TP
- 🛡️ Copier SL/TP en distance lorsque les symboles diffèrent
-
- Si les symboles MASTER et SLAVE diffèrent :
- SL/TP est copié comme distance depuis l'entrée, pas comme prix absolu
- Cela maintient la cohérence des contrôles de risque entre les instruments
✅ Configuration recommandée (USTEC → US100, lot SLAVE = 0. 10)
Sur le SLAVE :
🗺️ Traduction des symboles :
Symbol Map=USTEC=US100
🎛️ Échelle de volume :
Volume Multiplier Map=US100=0,10
🧱 Contraintes du broker :
Min Qty Map=US100=0,10Qty Step Map=US100=0,10
Résultat :
- ✅ MASTER 1. 00 → SLAVE 0. 10 sur US100
☁️ Important : Local/VPS uniquement (pas Cloud) ❌
🖥️ Local/VPS ✅
Fonctionne car MASTER et SLAVE partagent le même LocalStorageScope.Device (même machine/environnement).
☁️ cTrader Cloud ❌
Ne fonctionne pas car les instances Cloud sont isolées, elles ne partagent donc pas LocalStorage et le SLAVE ne peut pas voir les signaux du MASTER.
✅ Conclusion :
- ✔️ Utiliser sur le même PC ou sur un VPS où les deux instances tournent ensemble
- ❌ Pour le Cloud, vous avez besoin d'un relais externe (serveur HTTP/WebSocket)
Résumé
Key features include:
- Position mapping to maintain correct trade management across restarts.
- Symbol translation via customizable symbol maps to handle differing broker symbol names.
- Volume scaling with global and per-symbol multipliers, supporting decimal lot sizes and broker-specific minimum quantity and step constraints.
- Safety behaviors such as fixed lot sizing and handling of trades below minimum lot sizes.
- Stop loss and take profit copying as distance from entry price when symbols differ, preserving consistent risk control.
Parameters include mode selection (MASTER or SLAVE), communication group ID, polling interval, debug mode, symbol maps, volume multipliers, and broker lot constraints. The bot is not compatible with cTrader Cloud due to isolated instances but functions reliably on local or VPS setups where MASTER and SLAVE share the same environment.
Avis clients
5 | 67 % | |
4 | 0 % | |
3 | 33 % | |
2 | 0 % | |
1 | 0 % |