Descripción
🚀 TradeCopierBot — Copia de operaciones rápida, limpia y a prueba de brokers (Local/VPS) 🔁✨
Copia tus operaciones desde una CUENTA MAESTRA a una (o más) CUENTAS ESCLAVAS con un copiador ligero y basado en eventos diseñado para condiciones reales de trading: diferentes brokers, diferentes nombres de símbolos, diferentes reglas de lotes.
Perfecto para ejecución multi-cuenta, escalado de riesgo y distribución de estrategias—con registros detallados de depuración para que siempre sepas qué está pasando. 🧠📈
✅ Optimizado para configuraciones Local / VPS (misma máquina).
❌ No diseñado para cTrader Cloud (las instancias están aisladas, por lo que las señales no pueden compartirse). ☁️🚫
Atención: si tienes dos cuentas diferentes de cTrader, necesitas comprar dos cBots; de lo contrario, no podrás copiarlas. Estamos a tu completa disposición para cualquier información.
🧠 Cómo funciona (MAESTRO → ESCLAVO) 🧩
🔁 1) Transporte de señales (cómo “viajan” las operaciones)
Este copiador usa cTrader LocalStorage (ámbito del dispositivo) como un “bus de mensajes” compartido.
✅ MAESTRO
- Escucha eventos de posición: Abierta / Modificada / Cerrada
- Crea una
TradeSignal(ABRIR / MODIFICAR / CERRAR) - La añade a una lista de señales en LocalStorageScope.Device
- Llama a Flush() para que el ESCLAVO pueda leerla inmediatamente
✅ ESCLAVO
- Ejecuta un Temporizador cada Intervalo de sondeo segundos
- Llama a Reload()
- Lee la lista de señales
- Procesa solo señales nuevas (usando
_lastSignalIndexProcessed)
🧷 2) Mapeo de posiciones (para que CERRAR funcione)
Cuando el ESCLAVO abre una operación, almacena:
🧩 MasterPositionId → SlavePositionId
Este mapeo también se guarda en LocalStorage, por lo que sobrevive a reinicios:
- ✅ CERRAR sigue funcionando después del reinicio
- ✅ MODIFICAR sigue encontrando la posición correcta
🧭 3) Traducción de símbolos (símbolo MAESTRO → símbolo ESCLAVO)
🗺️ Mapa de símbolos (MAESTRO=ESCLAVO;...)
Usado cuando los nombres de símbolos difieren entre brokers/cuentas.
Formato:
MAESTRO=ESCLAVO;MAESTRO2=ESCLAVO2;...
Ejemplo (tu caso):
- MAESTRO abre
USTEC - ESCLAVO debe operar
US100
➡️ USTEC=US100
✅ Lado izquierdo = símbolo que llega desde MAESTRO
✅ Lado derecho = símbolo en el broker ESCLAVO
📏 4) Lógica de volumen (la parte clave) 🔥
✅ Funciona en lotes/cantidad (decimales soportados)
Para manejar decimales (0.10, 0.01, etc.), el ESCLAVO:
- Calcula lotes deseados
- Aplica multiplicador / mínimo / paso
- Convierte lotes → volumen usando
QuantityToVolumeInUnits(lots) - Envía la orden usando una sobrecarga que acepta volumen double ✅
Esto es lo que lo hace robusto incluso cuando los brokers imponen diferentes reglas de precisión de lotes.
⚙️ Parámetros explicados (con íconos)
🧩 Núcleo
- 🧭 Modo
-
Master= publica señalesSlave= lee señales y copia operaciones
- 🧷 Id de grupo de copia
-
- Canal de comunicación. MAESTRO y ESCLAVO deben coincidir (ej.,
DEFAULT)
- Canal de comunicación. MAESTRO y ESCLAVO deben coincidir (ej.,
- ⏱️ Intervalo de sondeo (segundos)
-
- ESCLAVO verifica nuevas señales cada N segundos
- 🐞 Modo depuración
-
- Imprime registros detallados (recomendado durante la configuración)
🗺️ Traducción de símbolos
- 🧾 Mapa de símbolos (MAESTRO=ESCLAVO;...)
-
- Ejemplo:
USTEC=US100;XAUUSD=GOLD;NAS100=USTEC
- Ejemplo:
🎚️ Escalado de volumen (LO MÁS IMPORTANTE) ✅
🔢 Multiplicador global
- ➗ Multiplicador de volumen
-
- Escala todos los lotes copiados:
desiredLots = masterLots * VolumeMultiplier
🎛️ Multiplicador por símbolo (tu herramienta principal)
- 🧷 Mapa de multiplicador de volumen (SYM=mult;...)
-
- Sobrescribe el multiplicador por símbolo (símbolo del lado ESCLAVO)
- Ejemplo:
-
US100= 0. 10- El formato italiano también está bien:
US100=0,10
✅ Así es como logras: 1. 00 en MAESTRO → 0. 10 en ESCLAVO
🧱 Restricciones de lote del broker (mínimo y paso)
- 🧱 Cantidad mínima por defecto (0=desactivado)
-
- Lotes mínimos globales si está activado
- 🧱 Mapa de cantidad mínima (SYM=val;...)
-
- Lotes mínimos por símbolo
- Ejemplo:
US100=0. 10
- 🪜 Paso de cantidad por defecto (0=desactivado)
-
- Paso global si está activado
- 🪜 Mapa de paso de cantidad (SYM=val;...)
-
- Paso por símbolo
- Ejemplo:
US100=0. 10→ valores permitidos: 0. 10, 0 .20, 0.30…
🧯 Comportamientos de seguridad
- 🧷 Usar cantidad mínima como lotes fijos
-
- Si
true: ESCLAVO ignora el tamaño del maestro y siempre usa MinQty (tamaño fijo)
- Si
- ⚠️ Comportamiento BajoMin
-
UseMin= si está por debajo del mínimo → subir al mínimoSkip= si está por debajo del mínimo → no abrir
- 🔁 Intentos de volumen incorrecto
-
- Si el broker devuelve BadVolume, intenta pequeños ajustes hasta N veces
🎯 Lógica de copia SL/TP
- 🛡️ Copiar SL/TP como distancia cuando el símbolo difiere
-
- Si los símbolos MAESTRO y ESCLAVO difieren:
- SL/TP se copia como distancia desde la entrada, no precio absoluto
- Esto mantiene los controles de riesgo consistentes entre instrumentos
✅ Configuración recomendada (USTEC → US100, lote ESCLAVO = 0. 10)
En el ESCLAVO:
🗺️ Traducción de símbolos:
Mapa de símbolos=USTEC=US100
🎛️ Escalado de volumen:
Mapa de multiplicador de volumen=US100=0,10
🧱 Restricciones del broker:
Mapa de cantidad mínima=US100=0,10Mapa de paso de cantidad=US100=0,10
Resultado:
- ✅ MAESTRO 1. 00 → ESCLAVO 0. 10 en US100
☁️ Importante: Solo Local/VPS (no Cloud) ❌
🖥️ Local/VPS ✅
Funciona porque MAESTRO y ESCLAVO comparten el mismo LocalStorageScope.Device (misma máquina/entorno).
☁️ cTrader Cloud ❌
No funciona porque las instancias Cloud están aisladas, por lo que no comparten LocalStorage y el ESCLAVO no puede ver las señales del MAESTRO.
✅ Conclusión:
- ✔️ Usar en el mismo PC o en un VPS donde ambas instancias se ejecuten juntas
- ❌ Para Cloud necesitas un relé externo (servidor HTTP/WebSocket)
Resumen
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.
Valoraciones de clientes
5 | 67 % | |
4 | 0 % | |
3 | 33 % | |
2 | 0 % | |
1 | 0 % |
