GMRFX CopyTrade Local and Lan
- Utilidades
- Versión: 1.0
- Activaciones: 5
# GMRFX Copytrade Local y LAN
> **Copy-Trade Master/Slave — Un EA, sincronización basada en archivos, sin configuración de red.**
> Copia operaciones entre terminales MT5 en el mismo ordenador, a través de tu red local o por Internet, utilizando únicamente una carpeta compartida.
---
**Versión:** 1.00
**Categoría:** Copiadores de operaciones / Utilidades
---
## ¿Qué es esto?
**GMRFX Copytrade Local & Lan** es un único asesor experto que gestiona tanto el papel de**maestro** (remitente) como el de**esclavo** (receptor) para el trading por copia. Elige tu modo en un menú desplegable y ya está.
A diferencia de los copiadores basados en sockets, que requieren direcciones IP, reenvío de puertos y reglas de cortafuegos, este EA utiliza un sencillo archivo`.csv` como puente de comunicación. Tu sistema operativo se encarga de la conexión de red. Solo tienes que dirigir ambos EAs a la misma carpeta.
### Dónde funciona
| Configuración | Método de sincronización | Retraso |
|---|---|---|
| **Mismo ordenador, varios terminales MT5** | Integrado (Common\Files\) | Instantáneo |
| **2 ordenadores, misma LAN** | Syncthing (gratuito, P2P) o recurso compartido SMB de Windows | 0,5–2 s |
| **2 ordenadores, ubicaciones diferentes (Internet)** | Syncthing, Dropbox, Google Drive, OneDrive | 2–5 s |
| **De PC a VPS** | Cualquier herramienta de sincronización en la nube | 2–5 s |
---
## Características principales
### Un EA, dos modos
Se acabó tener que alternar entre `Master_EA.ex5` y `Slave_EA.ex5`. Un único archivo, un único parámetro, cambio de modo instantáneo. Actualizaciones de versión: un solo archivo.
### Comunicación basada en archivos
El Master escribe instantáneas de posición en `state.csv`. El Slave las lee y las reconcilia. Sin sockets. Sin DLL. Sin configuración de IP. Sin reenvío de puertos.
### Escrituras atómicas
El maestro escribe primero en `.tmp` y, a continuación, cambia el nombre a `.csv`. El esclavo siempre lee un archivo completo y sin errores, incluso durante el acceso simultáneo.
### Compatible con varios ordenadores
`InpSyncFolder` puede apuntar a cualquier carpeta: local, compartida en red o un directorio sincronizado en la nube. Utiliza Syncthing (gratuito, de código abierto, P2P), Dropbox, Google Drive o OneDrive para conectar ordenadores en cualquier parte del mundo.
### Lógica inteligente del esclavo
- **Anti-Reopen**: recuerda las posiciones que has cerrado manualmente. No las volverá a abrir.
- **Age Gate**: solo copia las posiciones abiertas en los últimos N segundos. Filtra las señales obsoletas.
- **Reverse Copy**: invierte la dirección (Compra ↔ Venta). El SL y el TP también se intercambian.
- **Control de volumen**: modo de ratio (0,5x, 2x lote maestro) o lote fijo.
- **Filtro de símbolos**: lista separada por comas. Si se deja vacío, se incluyen todos los símbolos.
- **Compatibilidad con sufijos**: gestiona las diferencias en los símbolos de los brókers (EURUSD → EURUSD.r).
- **Copia de SL/TP**: copia opcionalmente el Stop Loss y el Take Profit del lote maestro.
- **Límite de spread**: omite las operaciones cuando el spread supera el umbral establecido.
- **Detección de desconexión**: detecta si el servidor maestro se apaga. Opcionalmente, cierra automáticamente todas las posiciones del servidor esclavo.
- **Registros bilingües** — inglés o bahasa indonesia, seleccionables en los parámetros.
### Ligero y puro MQL5
Sin DLL externas. Sin indicadores personalizados. Sin solicitudes web. Se ejecuta íntegramente en `OnTimer()`. Consumo mínimo de CPU y memoria.
---
## ¿Por qué la sincronización basada en archivos?
| Enfoque | Problemas |
|---|---|
| **Socket / TCP** | Configuración IP compleja, reenvío de puertos, reglas de cortafuegos; a menudo bloqueado por los proveedores de VPS |
| **Basada en DLL** | Avisos de seguridad en MT5, depende de la plataforma, inestable |
| **Servidor web / API** | Requiere alojamiento, latencia, costes de suscripción |
| **Basado en archivos (este EA)** | Cero configuración de red. El sistema operativo se encarga de la sincronización. Funciona en cualquier configuración. Gratis. |
**La carpeta es el protocolo.** Tu sistema operativo (o Syncthing/Dropbox) ya sabe cómo transferir archivos entre ordenadores de forma fiable. Este EA solo lee y escribe archivos CSV, y deja que el sistema operativo se encargue del trabajo pesado.
---
## Cómo funciona
```
PC MAESTRO PC ESCLAVO
┌──────────────────────┐ ┌──────────────────────┐
│ MT5 + EA maestro │ │ MT5 + EA esclavo │
│ │ escribir │ │
│ OnTimer() cada N ms │──────────────│ OnTimer() cada N ms │
│ -> escribir state.csv │ Syncthing │ -> leer state.csv │
│ -> .tmp atómico │ /Cloud │ -> conciliar operaciones│
│ │──────────────│ │
└──────────────────────┘ └──────────────────────┘
│ │
└──────── SyncFolder ────────────────┘
(Common\Files\CopyTrade\)
```
1. **EA maestro** escribe las posiciones actuales en `state.csv` (mediante una escritura atómica en`.tmp` ) cada `InpRefreshMs` milisegundos.
2. **Sincronización de carpetas** (Syncthing, Dropbox, etc.) copia el archivo al PC esclavo.
3. **EA esclavo** lee `state.csv`, identifica las posiciones por su ID único y abre, modifica o cierra operaciones para replicar las del maestro.
---
## Resumen de parámetros
### Selección de modo
| Parámetro | Opciones | Descripción |
|---|---|---|
| `InpMode` | Maestro / Esclavo | Selecciona la función del EA |
### Ajustes compartidos
| Parámetro | Predeterminado | Descripción |
|---|---|---|
| `InpSyncFolder` | `CopyTrade` | Ruta de la carpeta. Por defecto = `Common\Files\CopyTrade\`. Indica Syncthing/Dropbox para uso entre varios ordenadores. |
| `InpChannel` | `default` | Nombre del canal. El maestro y el esclavo deben coincidir. |
| `InpRefreshMs` | `100` | Intervalo de actualización en milisegundos |
### Configuración del maestro
| Parámetro | Por defecto | Descripción |
|---|---|---|
| `InpMaxCopyStaleSec` | `60` | Antigüedad máxima de las instantáneas aceptadas por el esclavo. 0 = el esclavo utiliza su propia configuración. |
| `InpMagicFilter` | `0` | Filtrar por número mágico. 0 = copiar todo. |
| `InpIncludeManual` | `true` | Incluir operaciones manuales (número mágico = 0). |
| `InpMasterVerbose` | `false` | Registro adicional para la depuración. |
### Configuración del esclavo
| Parámetro | Por defecto | Descripción |
|---|---|---|
| `InpUILanguage` | `English` | Idioma de registro: inglés o bahasa indonesio |
| `InpSlaveMagic` | `991001` | Número mágico para las posiciones del esclavo |
| `InpMaxStaleSec` | `60` | Límite de caducidad por defecto si el maestro no envía ninguno |
| `InpVolumeMode` | `VOL_RATIO` | Modo de volumen: ratio o lote fijo |
| `InpRatio` | `1.0` | Multiplicador de volumen (para el modo de ratio) |
| `InpFixedLot` | `0.01` | Tamaño de lote fijo (para el modo fijo) |
| `InpReverse` | `false` | Invertir dirección (Compra↔Venta) |
| `InpCopyClose` | `true` | Cerrar las posiciones del esclavo cuando el maestro cierre |
| `InpCloseSlaveOnMasterShutdown` | `false` | Cerrar todas las posiciones cuando el maestro se desconecte |
| `InpCopySL` | `true` | Copiar el Stop Loss del maestro |
| `InpCopyTP` | `true` | Copiar el Take Profit del maestro |
| `InpUseSuffix` | `false` | Activar sufijo de símbolo |
| `InpSuffix` | *(vacío)* | Cadena de sufijo (p. ej., `.r`, `m`) |
| `InpSlippagePts` | `20` | Deslizamiento máximo en puntos |
| `InpMaxSpreadPts` | `0` | Spread máximo (0 = desactivado) |
| `InpSymbolFilter` | *(vacío)* | Filtrar símbolos (separados por comas) |
| `InpNoReopenAfterManualClose` | `true` | Recordar posiciones cerradas manualmente |
| `InpCopyOpenValidSec` | `20` | Antigüedad máxima de la posición para copiar (0 = desactivado) |
| `InpSlaveVerbose` | `false` | Registro adicional para la depuración |
---
## Inicio rápido
### En el mismo ordenador
1. Conecta el EA al gráfico del Terminal A → Modo = **Maestro** → `InpChannel = "default"` → Aceptar
2. Conecta el EA al gráfico del Terminal B → Modo = **Esclavo** → `InpChannel = "default"` → Aceptar
3. Listo. Copia instantánea.
### En ordenadores diferentes (a través de Syncthing)
2. Comparte la carpeta`Common\Files\CopyTrade\` entre ambos.
3. En ambos EA: `InpSyncFolder = "CopyTrade"` (por defecto).
4. Listo. Retraso de ~1-2 segundos en la LAN.
---
## Requisitos
- MetaTrader 5 (cualquier versión que admita `#include <Trade\Trade.mqh>`)
- Tanto el maestro como el esclavo deben tener disponibles los mismos símbolos
- Para uso entre varios ordenadores: cualquier herramienta de sincronización de carpetas (se recomienda Syncthing: gratuita, P2P, no requiere cuenta)
- El trading algorítmico debe estar habilitado en todos los terminales
---
## Qué obtienes
- `GMRFX_Copytrade_Local&Lan.ex5`: el EA
- Manual de usuario completo (PDF)
- 30 parámetros con valores predeterminados razonables
- Funciona nada más instalarlo, sin necesidad de configuración, en configuraciones con un mismo ordenador
---
*Producto gratuito. Sin restricciones, sin suscripciones, sin costes ocultos.*
