Position Duplicator
- Asesores Expertos
- Versión: 7.0
- Activaciones: 20
Guía del usuario y referencia de configuración
El «Position Duplicator» es un asesor experto para MetaTrader 5 (MT5) diseñado para funcionar con dos características principales:
1. Duplicación automática de operaciones dentro de la misma terminal MT5;
2. Copia de operaciones entre diferentes terminales MT5, mediante un archivo compartido localmente.
El EA también ofrece funciones adicionales para el control de lotes, la asignación de símbolos, los filtros de activos y la protección basada en el número de posiciones abiertas y el drawdown (DD). La comunicación entre terminales se realiza a través de un archivo CSV compartido.
Advertencia: El «Position Duplicator» es un EA extremadamente potente, por lo que es importante que pruebes tus configuraciones en una cuenta demo.
1. CONFIGURACIÓN GENERAL
Número mágico
Define el número mágico que utiliza el EA para identificar las operaciones creadas por los módulos del Position Duplicator.
Este identificador es especialmente importante porque permite al EA distinguir entre:
- Operaciones originales;
- Operaciones creadas por el módulo de duplicación;
- Operaciones abiertas por el módulo «Copy Trade».
El EA utiliza este identificador para evitar, por ejemplo, que una posición creada por el módulo de duplicación se considere de nuevo como una nueva posición de origen.
2. MÓDULO DE DUPLICACIÓN
El módulo de duplicación se encarga de duplicar una posición abierta dentro de la misma terminal MT5.
Ejemplo:
Posición original
, XAUUSD, COMPRA 0,01
↓
Duplicador de posiciones
↓
Posición duplicada
XAUUSD COMPRA 0,02
La duplicación utiliza el mismo símbolo que la posición original. Las reglas de lotes se configuran individualmente para cada activo.
Modo_de_duplicación
Define cómo funcionará el módulo de duplicación.
Desactivado
Desactiva completamente la duplicación.
El EA seguirá pudiendo utilizar el módulo «Copiar operaciones» si está activado.
Automático
Calcula automáticamente el tamaño del lote de la posición duplicada utilizando el saldo de la cuenta y una regla específica para cada activo.
Ejemplo:
XAUUSD=2000:0,01
Esto significa:
Saldo de referencia = 2000
Lote base = 0,01
Si el saldo es:
2.000 $ → 0,01
4.000 $ → 0,02
6.000 $ → 0,03
10.000 $ → 0,05
El cálculo utiliza bloques de saldo completos.
Por ejemplo:
XAUUSD=2000:0,01
Saldo = 10 000
10 000 / 2 000 = 5
5 × 0,01 = 0,05 lotes
La configuración es individual para cada activo.
Fijo
Define un tamaño de lote fijo para cada activo.
Ejemplo:
XAUUSD=0,01
EURUSD=0,01
EURCAD=0,02
Si se abre la siguiente posición:
XAUUSD COMPRA 0,50
la posición duplicada podría ser:
XAUUSD COMPRA 0,01
independientemente del tamaño del lote de la posición original.
Multiplicador
Multiplica el tamaño del lote de la operación original.
Ejemplo:
XAUUSD=2
EURUSD=2
EURJPY=3
Si la operación original es:
XAUUSD COMPRA 0,01
con:
XAUUSD = 2
la posición duplicada será:
XAUUSD COMPRA 0,02
Si la posición original es:
EURJPY COMPRA 0,05
con:
EURJPY = 3
la posición duplicada será:
EURJPY COMPRA 0,15
En la implementación actual, el multiplicador está limitado entre 2 y 20.
Duplicación_Ratio_de_riesgo_personalizado
Se utiliza cuando:
Modo_de_duplicación = Automático
Formato:
ACTIVO=VALOR_SALDO:LOTE_BASE
Ejemplo:
XAUUSD=2000:0,01;EURUSD=1000:0,01;AUDCAD=1000:0,01
Cada activo tiene su propia relación entre saldo y lote.
Si no existe ninguna regla para un activo concreto, el EA no puede calcular el tamaño automático del lote para ese activo y, por lo tanto, no duplicará dicho activo.
Lotes fijos
Se utiliza cuando:
Modo_de_duplicación = Fijo
Formato:
ACTIVO=LOTE
Ejemplo:
XAUUSD=0,01;EURUSD=0,01;EURCAD=0,02
Se pueden configurar diferentes tamaños de lote para distintos activos.
Multiplicadores
Se utilizan cuando:
Modo_duplicación = Multiplicador
Formato:
ACTIVO=MULTIPLICADOR
Ejemplo:
XAUUSD=2;EURUSD=2;EURJPY=3;AUDCAD=4
El tamaño del lote duplicado será:
Lote original × Multiplicador
Duplicación_Copiar_SL_TP
Define si el Stop Loss (SL) y el Take Profit (TP) de la posición original deben copiarse a la posición duplicada.
true
Copia el SL y el TP.
false
La posición duplicada se abrirá sin copiar estos niveles.
Close_On_Origin_Close
Define si la posición duplicada debe cerrarse cuando se cierre la posición original.
true
La posición original se cierra
↓
La posición duplicada se cierra
false
La posición duplicada permanece abierta incluso después de que se haya cerrado la posición original.
Por defecto:
true
El EA mantiene internamente la relación entre la posición original y su duplicado para llevar a cabo este control.
3. MÓDULO DE COPIA
El módulo de copia permite copiar operaciones entre diferentes terminales MT5.
La comunicación se realiza mediante un archivo CSV compartido.
Conceptualmente:
TRANSMISOR
↓
copybase.csv
↓
RECEPTOR
Es posible utilizar varios transmisores, varios receptores y también un terminal que transmita y reciba operaciones simultáneamente.
Copy_Mode
Define la función del terminal.
Copy_Disabled
Desactiva el «Copy Trading».
Copy_Transmitter
El terminal solo envía sus operaciones a otros terminales.
Ejemplo:
MASTER1
TRANSMITTER
↓
↓
↓
MASTER2 / SLAVE1 / SLAVE2
RECEIVER
Copy_Receiver
El terminal solo recibe operaciones.
Copiar_Transmisor_Receptor
El terminal puede:
TRANSMITIR
+
RECIBIR
Esta configuración permite una arquitectura como la siguiente:
MASTER2 ⇄ MASTER1
o una estructura con varios transmisores y receptores.
Copy_Transmitter_Duplicated_Positions
Define si las posiciones creadas por el módulo de duplicación local también deben transmitirse a los receptores.
false
Solo se transmiten las operaciones originales.
true
Las operaciones duplicadas también pueden transmitirse.
El EA identifica internamente sus propias operaciones duplicadas, lo que evita que una posición creada por el propio EA se retransmita indebidamente.
Close_Copy_On_Transmitter_Close
Define si una posición copiada al receptor debe cerrarse cuando se cierre la posición correspondiente en el transmisor.
false
La posición en el receptor permanece abierta.
Copy_SL_TP
Define si el SL/TP de la operación del transmisor se enviará al receptor.
true
Copia el SL y el TP.
false
No copia el SL ni el TP.
4. ENRUTAMIENTO DEL EMISOR Y DEL RECEPTOR
Esta sección determina quién transmite a quién.
Node_Id
El identificador único del terminal dentro de la red de Copy Trade.
Ejemplo:
Node_Id = MASTER1
Otro terminal:
Node_Id = MASTER2
Otra más:
Node_Id = SLAVE1
Cada terminal debe tener su propio identificador único.
El receptor no acepta el propio ID de nodo del terminal como fuente válida de eventos.
Copy_Source_Transmitter
Define de qué transmisores está autorizada esta terminal a recibir operaciones.
Ejemplo:
Copy_Source_Transmitter=MASTER1;MASTER2
Esto significa:
Recibir operaciones de:
MASTER1
MASTER2
Si el transmisor no figura en la lista, el evento se rechaza.
Esto permite redes con varios transmisores:
MASTER1 ─────┐
├── RECEIVER
MASTER2 ─────┘
El sistema no acepta automáticamente ninguna fuente que exista en el archivo compartido; la fuente debe configurarse explícitamente.
Copier_File_Name
Define el nombre del archivo utilizado para la comunicación.
Por defecto:
copybase.csv
El archivo se utiliza a través de FILE_COMMON, lo que permite que diferentes terminales o instalaciones de MT5 en el mismo ordenador accedan al mismo archivo.
Copy_Comment
Define el comentario base que se utiliza en las operaciones copiadas.
Internamente, el EA añade información de identificación de la fuente y del ticket para establecer la relación entre la operación del receptor y la del transmisor.
Copy_Poll_Milliseconds
Define la frecuencia con la que el receptor comprueba el archivo CSV.
Cuanto menor sea el valor, con mayor frecuencia se comprobará el archivo.
El EA tiene un valor mínimo efectivo del temporizador de 10 ms.
Startup_Copy_Mode
Define el comportamiento al iniciar el Receiver.
NEW_TRADES_ONLY
La terminal ignora las operaciones ya existentes en el archivo y comienza a supervisar únicamente las nuevas operaciones.
Las posiciones existentes no se copian.
EXISTING_AND_NEW
Al iniciarse, el EA reconstruye el estado de las operaciones existentes en el archivo e intenta copiar las posiciones que aún están abiertas.
A continuación, sigue supervisando las nuevas operaciones.
Esto resulta especialmente útil cuando el receptor se inicia después de que el transmisor ya tenga posiciones abiertas.
Copy_Symbol_Mapping
Permite convertir el símbolo del transmisor al símbolo utilizado por el receptor.
Ejemplo:
XAUUSD=GOLD#
EURUSD=EURUSD.r
EURCAD=EURCAD#
Esto permite:
TRANSMISOR
XAUUSD
se copie como:
RECEPTOR
GOLD#
Esto es especialmente importante cuando diferentes brókers utilizan nombres distintos para el mismo activo.
La asignación se aplica antes de que se abra la operación en el receptor.
5. LOTE DE COPIA
Esta sección determina cómo se calculará el tamaño del lote del receptor.
Copy_Lot_Mode
Hay cuatro opciones:
LOT_TRANSMITTER
Utiliza exactamente el mismo tamaño de lote que el emisor.
Ejemplo:
Transmisor:
XAUUSD 0,05
Receptor:
XAUUSD 0,05
LOT_AUTO
Calcula automáticamente el tamaño del lote en el receptor utilizando el saldo de la cuenta del receptor y las reglas definidas en:
Copy_Auto_Custom_Risk_Ratio
Esto permite que las cuentas con saldos diferentes utilicen tamaños de lote proporcionalmente diferentes.
Ejemplo:
Emisor:
0,10 lotes
Receptor A: saldo de
= 10 000
→ 0,05 lotes
Receptor B: saldo de
= 20 000
→ 0,10 lotes
El cálculo utiliza la misma lógica de bloques de saldo que el modo de duplicación automática.
LOT_FIXED
Define un tamaño de lote fijo para cada activo.
Ejemplo:
XAUUSD = 0,01
EURUSD = 0,02
EURCAD = 0,03
Independientemente del tamaño de lote transmitido, el receptor utilizará la regla configurada.
LOT_MULTIPLIER
Multiplica el tamaño del lote recibido.
Ejemplo:
XAUUSD=2
Si el emisor envía:
0,01
el receptor abrirá:
0,02
En la implementación actual, el multiplicador está limitado entre 2 y 20.
Copy_Auto_Custom_Risk_Ratio
Se utiliza cuando:
Copy_Lot_Mode = LOT_AUTO
Formato:
ASSET=BALANCE_VALUE:BASE_LOT
Ejemplo:
XAUUSD=2000:0,01
EURUSD=1000:0,01
AUDCAD=1000:0,01
El cálculo utiliza el saldo de la cuenta del receptor.
Copy_Fixed_Lots
Se utiliza cuando:
Copy_Lot_Mode = LOT_FIXED
Ejemplo:
XAUUSD=0,01
EURUSD=0,01
EURCAD=0,01
Copy_Multipliers_Lots
Se utiliza cuando:
Modo de copia de lotes = LOT_MULTIPLIER
Ejemplo:
XAUUSD=2
EURUSD=4
EURCAD=3
6. FILTROS
Los filtros controlan qué activos puede abrir el receptor.
Enable_Receiver_Symbol_Whitelist
Si el valor es «false», no hay restricciones de lista blanca.
Si es «true», solo se pueden abrir los activos que figuran en:
Receiver_Whitelist_Symbols
pueden abrirse.
Ejemplo:
Receiver_Whitelist_Symbols=
XAUUSD.r;EURUSD.r;EURCAD.r
En este caso, se rechazará la apertura de otros activos recibidos.
Es importante utilizar el símbolo con el que se opera realmente en el receptor, especialmente cuando se utiliza la asignación de símbolos.
Enable_Receiver_Symbol_Blacklist
Si se establece en «true», no se podrán abrir las posiciones de los activos definidos en la lista negra.
Ejemplo:
Receiver_Blacklist_Symbols=
GBPJPY.r;NAS100;BTCUSD
Receiver_Blacklist_Symbols
Lista de activos prohibidos.
Ejemplo:
GBPJPY.r;US30;XAGUSD.r
Prioridad
La lista negra tiene prioridad sobre la lista blanca.
Por lo tanto:
Lista blanca = XAUUSD;EURUSD;EURCAD
Lista negra = EURCAD
lo que da como resultado:
XAUUSD → permitido
EURUSD → permitido
EURCAD → BLOQUEADO
Los filtros afectan a las nuevas aperturas de operaciones.
Las operaciones de cierre siguen procesándose para que las posiciones copiadas anteriormente puedan cerrarse correctamente.
7. MÓDULO DE PROTECCIÓN
El módulo de Protección controla la exposición de la cuenta y el drawdown.
Cuenta con dos mecanismos principales:
Max_Open_Positions
DD_Control_Mode
Max_Open_Positions
Define el número máximo de posiciones abiertas permitidas.
Valor por defecto:
999
El control tiene en cuenta PositionsTotal() y, por lo tanto, actúa como un límite general sobre el número de posiciones abiertas en la terminal para las nuevas operaciones controladas por el EA.
DD_Control_Mode
Activa o desactiva el control de drawdown.
false
La protección contra el drawdown está desactivada.
true
El EA supervisa continuamente la relación entre:
Capital máximo registrado
↓
Capital actual
↓
Drawdown en valor monetario
DD_Value
Define el límite de caída en la divisa de la cuenta.
Ejemplo:
DD_Value = 200
Esto significa que la acción configurada se activará cuando la caída alcance:
200 unidades monetarias de la cuenta.
Por ejemplo, si la cuenta está en USD:
DD_Value = 200
representa 200 USD.
El cálculo es el siguiente:
Drawdown =
Capital máximo registrado − Capital actual
El EA actualiza el máximo de capital cada vez que se alcanza un nuevo máximo.
DD_Action
Define qué debe hacer el EA cuando se alcanza el límite de DD.
Close_all
Cierra todas las posiciones abiertas seleccionadas por el módulo de protección.
Ejemplo:
DD = 200
↓
Cerrar_todo
↓
Todas las posiciones se colocan
en la cola de cierre
Cerrar_pérdidas
Cierra únicamente las posiciones cuyo resultado actual sea negativo.
Ejemplo:
XAUUSD -50 → cerrar
EURUSD +20 → mantener
EURJPY -30 → cerrar
AUDUSD +15 → mantener
Close_wins
Cierra únicamente las posiciones cuyo resultado actual sea positivo.
Ejemplo:
XAUUSD +50 → cerrar
EURUSD -20 → mantener
EURJPY +30 → cerrar
AUDUSD -15 → mantener
No_new_trades
No cierra las posiciones existentes.
En su lugar, cuando se alcanza el límite de DD:
Nuevas operaciones
↓
BLOQUEADAS
Las posiciones existentes permanecen abiertas.
Cuando el drawdown cae por debajo del límite, se desactiva el bloqueo de nuevas operaciones.
REINICIO/REARMADO DEL DRAWDOWN
El módulo de protección también cuenta con un mecanismo de reactivación del ciclo de DD.
Tras una acción como:
Close_all
Close_losses
Close_wins
se ejecute, el EA no considera inmediatamente el proceso de cierre como un nuevo ciclo.
Espera a recibir la confirmación de que las posiciones del ciclo anterior se han cerrado realmente.
El objetivo es evitar que el propio resultado del proceso de cierre asíncrono se interprete prematuramente como un nuevo evento de drawdown.
MÚLTIPLES TRANSMISORES / MÚLTIPLES RECEPTORES
Copy Trade permite crear redes más complejas.
Un transmisor a varios receptores:
┌── RECEPTOR A
│
TRANSMISOR ─┼── RECEPTOR B
│
└── RECEPTOR C
Varios transmisores a un receptor:
TRANSMISOR A ──┐
├── RECEPTOR
TRANSMISOR B ──┘
Transmisor que también actúa como receptor:
┌──────────────┐
│ MASTER2 │
│ TX + RX │
└──────┬───────┘
↕
┌──────┴───────┐
│ MASTER1 │
│ TX + RX │
└──────────────┘
La identificación de la operación utiliza el ID de origen + el número de ticket maestro, lo que evita que se confundan tickets idénticos procedentes de diferentes emisores.
CUBIERTA Y COMPENSACIÓN
La arquitectura actual se ha desarrollado para funcionar con los distintos modelos de gestión de posiciones compatibles con MT5.
AVISO LEGAL
La negociación de divisas y CFD conlleva un alto nivel de riesgo.
Los resultados pasados no garantizan resultados futuros.
Prueba siempre primero los ajustes configurados en una cuenta de demostración.
Utilice la herramienta con prudencia y responsabilidad.
