¿Qué son las optimizaciones MT5?
Un worker Docker en su equipo ejecuta las optimizaciones MT5 y consulta periódicamente los comandos del panel.
Usted aporta el EA (.ex5), las rejillas de parámetros (.set) y una cuenta MT5 del bróker (demo o real). Los resultados se guardan en reports en su equipo y aparecen en el panel como pases y favoritos. Las carteras de compañía requieren el código fuente del EA de cartera compatible.
Esta función es autoalojada. PositionRelay no ejecuta MetaTrader por usted. Hoy no hay un optimizador alojado.
Cómo funciona
La imagen Docker publicada de Wine + MetaTrader 5 se ejecuta en su máquina. El heartbeat se autentica con su User ID de PositionRelay, comprueba el acceso Ultimate y espera comandos del panel.
Los resultados validados aparecen en Passed y Favorites. Las carteras de compañía requieren además el código fuente del EA de cartera compatible.
- Suscríbase a Ultimate y abra Dashboard → Setup → MT5 Optimizations.
- Instale Docker y siga el asistente de configuración para su sistema operativo.
- Monte Experts y SetFiles, escriba optimizer.env e inicie el contenedor.
- Compruebe primero la autorización del bróker en los logs de inicio y después que el worker aparece online en Dashboard → Optimizations.
- Configure fechas, símbolos y estrategias, y pulse Start.
Requisitos
- Suscripción activa a PositionRelay Ultimate.
- Un equipo x64 con Windows, Linux o macOS Intel y Docker. Apple Silicon / ARM no es compatible.
- RAM y espacio en disco suficientes para el historial de ticks reales; si usa Docker Desktop, ajuste sus recursos en la configuración.
- Una cuenta MT5 del bróker, demo o real (login, contraseña, servidor).
- Su propio EA compilado (.ex5). Los EA del Market de MQL5 están bloqueados por activación y no se ejecutan.
- Archivos .set en SetFiles/Classic/<timeframe>, como indica el asistente.
Configuración de Docker
La instalación paso a paso está en Dashboard → Setup → MT5 Optimizations. El asistente muestra las carpetas, los archivos y los comandos para su sistema y rellena su User ID.
Dónde están sus archivos: la opción 1 es una carpeta en su equipo (C:\PositionRelay\optimizer en Windows, $HOME/PositionRelay/optimizer en Linux y macOS) con el EA, los archivos .set, Broker/servers.dat y optimizer.env. Hoy es la única opción y el asistente la utiliza. La opción 2, subir el EA, los archivos .set y las variables de entorno a PositionRelay, llegará pronto y será bajo su propio riesgo.
En cada línea -v de Experts, SetFiles, Broker y reports, la ruta de la izquierda es la carpeta de su equipo y /data/... es la ruta del contenedor. Si sus archivos están en otro lugar, sustituya cada ruta completa del host, incluida la letra de unidad en Windows. Cambiar --env-file no cambia esos montajes.
En un terminal MT5 que ya funcione, abra Archivo → Abrir carpeta de datos. Copie config/servers.dat a la carpeta Broker del optimizador para que Docker encuentre el bróker. No copie accounts.dat. El asistente muestra la ruta de destino.
Siga el asistente. Use su cuenta MT5 del bróker y quite MT5_PASSWORD solo cuando el log muestre «Broker login authorized».
En el primer inicio, el acceso al bróker ocurre antes del heartbeat y puede tardar varios minutos. Siga los logs del contenedor. Después de "Starting optimizer heartbeat", espere algunas consultas hasta que el worker aparezca online en Optimizations.
- Nunca haga commit de optimizer.env.
- Experts y SetFiles se montan en solo lectura; reports es escribible.
- El árbol de MT5 y la caché de ticks viven en el volumen nombrado positionrelay-mt5.
Ejecutar desde el panel
Abra Dashboard → Optimizations. Elija el rango de fechas, símbolos, timeframes, estrategias, modo de optimización, balance y drawdown máximo de equity. Opcionalmente active robustez tras la validación.
Start inicia un lote nuevo. Resume continúa una ejecución interrumpida. Stop detiene el lote activo; el worker permanece online. Clean borra artefactos de caché del tester en el host.
El estado en vivo se actualiza cada pocos segundos mientras la página está abierta. Mantenga el contenedor en marcha durante el trabajo.
Resultados, favoritos y cartera
Las filas Passed son supervivientes validados del lote. Marque favoritos en el panel; el worker puede sincronizarlos a la carpeta Favorites del host.
Las carteras de compañía solo admiten actualmente un EA de cartera de PositionRelay y necesitan su código fuente, ausente de la imagen pública. Con su propia .ex5 compilada puede optimizar, validar y marcar favoritos, pero no crear carteras.
Los reports se guardan en la carpeta reports que creó en el equipo anfitrión.
Actualizar la imagen
Para comprobar si hay una imagen nueva, ejecute docker pull ghcr.io/razvantomegea/position-relay-portfolio-optimizer:latest (el comando Descargar del asistente de configuración). El estado del pull solo describe la imagen local—no si el contenedor en ejecución ya la usa. Compare docker inspect --format '{{.Image}}' positionrelay-optimizer con docker inspect --format '{{.Id}}' ghcr.io/razvantomegea/position-relay-portfolio-optimizer:latest. Si coinciden, deje el contenedor en ejecución. Si difieren—o ya descargó una antes y aplazó recrear el contenedor—, espere a que termine cualquier ejecución activa y vuelva a crear el contenedor con los comandos del último paso del asistente. La imagen solo actualiza el worker; el volumen conserva MT5 y la caché de ticks. Una versión nueva de MT5 requiere una actualización aparte.
Solución de problemas
- El worker sigue offline — confirme que Ultimate está activo, que POSITIONRELAY_USER_ID coincide con Setup y que docker logs muestra el heartbeat.
- Login del bróker sin confirmar — revise Broker/servers.dat del terminal MT5 que funciona y después MT5_LOGIN, MT5_PASSWORD y MT5_SERVER. Quite la contraseña del archivo env solo después de ver "Broker login authorized".
- Wine puede mostrar mensajes fixme y errores de bibliotecas gráficas durante el primer acceso. Esas líneas por sí solas no indican éxito ni fallo. Busque "Broker login authorized" o "broker login not confirmed", y luego "Starting optimizer heartbeat". El worker puede estar online aunque falle el acceso al bróker.
- El EA no se ejecuta — los EA comprados en el Market están bloqueados por activación. Use su propio .ex5 compilado.
- Sin disco / ticks lentos — aumente los recursos de Docker Desktop y libere espacio para historial de ticks reales.
- Apple Silicon / ARM — no compatible. Use un equipo x64.
- El comando falló en el panel — abra docker logs -f positionrelay-optimizer para ver el error del worker.
