Termos de Referência
1. Objetivo General
Crear un sistema Master-Slave para MetaTrader 5 que permita copiar operaciones de un robot principal existente en otra cuenta, ajustando lotaje, SL/TP, trailing, posición relativa (cálculo por puntos) y controlando símbolos, sin interferir con otros robots ni órdenes de la cuenta Slave.
2. Flujo de Operaciones
2.1. Robot Principal (ya existente)
-
Opera de forma independiente en su cuenta:
-
Coloca órdenes pendientes: Buy Stop, Sell Stop, Buy Limit, Sell Limit.
-
Ejecuta órdenes de mercado: Buy, Sell.
-
Puede cancelar órdenes y recalcular según su propia lógica interna.
-
Responsable de la estrategia, entradas, cancelaciones y recalculos.
-
2.2. Master (EA puente)
-
Se coloca en la misma cuenta del Robot Principal.
-
Función:
-
Leer todas las operaciones que hace el Robot Principal (abrir, cerrar, cancelar).
-
Transmitir estas acciones a la Slave.
-
No toma decisiones de trading, no reemplaza órdenes ni recalcula nada; solo transmite las operaciones del Robot Principal.
-
2.3. Slave (EA copiador)
-
Recibe las operaciones enviadas por el Master.
-
Ejecuta, modifica o cancela las órdenes copiadas en la cuenta Slave:
-
Ajustando lotaje, SL/TP, trailing, tiempo de espera y precios según la cuenta broker diferente.
-
Garantiza que solo se gestione el símbolo asignado, sin interferir con otros robots u órdenes de la cuenta.
-
3. Tipos de Órdenes a Copiar
-
La Slave permite configurar qué tipos de órdenes copiar:
-
Órdenes pendientes: Buy Stop, Sell Stop, Buy Limit, Sell Limit.
-
Órdenes de mercado: Buy, Sell.
-
-
Protección contra duplicación:
-
Cada orden tiene un ID único (ticket o similar) que asegura que no se copie más de una vez, incluso si un Buy Stop se ejecuta y se convierte en Buy de mercado.
-
-
El usuario puede activar/desactivar cada tipo de orden según su preferencia.
4. Copia por Posición Relativa (Cálculo por Puntos) – Punto Crítico
-
La Slave copia la posición y la intención de la operación, no el precio exacto.
-
Usa cálculo por puntos/pips para ubicar la orden correctamente según su propio broker y spread.
-
Ejemplo:
-
Master coloca un Buy Stop en un breakout calculado en su broker.
-
Slave calcula la posición equivalente usando la distancia en puntos (offset) respecto al precio actual y coloca la orden en el punto correcto relativo al mercado.
-
-
Garantiza que la estrategia original se mantenga y la operación no se coloque demasiado arriba ni demasiado abajo, respetando la intención del Robot Principal.
-
Este es el núcleo del copiador, la base que asegura que la replicación sea fiel y efectiva.
5. Protección por Símbolo
-
Cada Slave solo copia y gestiona órdenes del mismo símbolo que tiene asignado el Master.
-
Ejemplo: Master opera en Oro Dólar (XAUUSD), la Slave solo toca órdenes en XAUUSD.
-
No debe modificar ni interactuar con órdenes de otros robots ni otros símbolos en la misma cuenta.
-
Debe incluir un filtro de símbolo en tiempo real antes de copiar, cancelar o modificar cualquier orden.
6. Parámetros Configurables en la Copia (Slave)
-
Lotaje
-
Puede modificarse respecto al Master.
-
Ejemplo: Master = 0.1 lot, Slave puede ser 0.01 lot.
-
-
Stop Loss (SL) y Take Profit (TP)
-
Configurables manualmente, pueden diferir de los del Master.
-
-
Trailing Stop
-
Configurable:
-
Inicio del trailing: por ejemplo, al alcanzar 500 puntos.
-
Ajuste dinámico del SL: ejemplo, 30 puntos por debajo del máximo alcanzado.
-
-
Regla clave: El trailing solo se mueve a favor de la operación:
-
Buy: SL solo sube, nunca baja.
-
Sell: SL solo baja, nunca sube.
-
-
Garantiza aseguramiento progresivo de ganancias.
-
-
Tiempo de espera para órdenes no ejecutadas
-
Si el Robot Principal cancela una orden antes de ejecutarse, la Slave la elimina inmediatamente.
-
Si la orden fue ejecutada por el Robot Principal pero no se ejecuta de inmediato en la Slave (por spread, diferencia de broker, etc.), entonces:
-
La Slave espera un tiempo configurable (ej. 30, 60, 120 segundos).
-
Si no se ejecuta dentro de ese tiempo, se cancela automáticamente.
-
-
-
Gestión de riesgo por cuenta Slave
-
Límite de pérdida diaria configurable.
-
Límite de posición máxima por cuenta.
-
-
Logs de ejecución y errores
-
Registro de cada orden copiada, fallida, cancelada o modificada.
-
7. Gestión de la Copia
-
Panel de configuración en la EA Slave:
-
Lotaje por orden.
-
SL/TP configurables.
-
Parámetros de Trailing Stop.
-
Tiempo de espera para órdenes no ejecutadas.
-
Habilitar/deshabilitar copia de ciertos tipos de órdenes (pendientes, mercado).
-
-
Soporte para copia múltiple: un Master puede enviar órdenes a varias cuentas Slave simultáneamente.
-
Instalación simple: solo copiar el EA a MQL5/Experts/Advisors , refrescar y aplicarlo al gráfico.
8. Requerimientos Técnicos
-
Código fuente en MQL5, limpio y editable.
-
Optimizado y sin errores de compilación.
-
Ajuste correcto de órdenes con spreads diferentes entre brokers.
-
Compatible con múltiples cuentas simultáneas.
9. Funciones Adicionales Recomendadas
-
Registro/log de órdenes copiadas, canceladas o modificadas.
-
Protección ante errores de ejecución (fallo en cuenta Slave).
-
Posibilidad de forzar manualmente la re-ejecución de órdenes si es necesario.
-
Gestión de riesgo avanzada por cuenta Slave (límites de pérdida, máximo de posiciones).