O que são as otimizações MT5?
Um worker Docker no seu computador executa as otimizações MT5 e consulta regularmente os comandos do painel.
Você fornece o EA (.ex5), as grelhas de parâmetros (.set) e uma conta MT5 numa corretora (demo ou real). Os resultados ficam na pasta reports do seu computador e aparecem no painel como passes e favoritos. Os portefólios de empresa exigem o código-fonte do EA de portefólio suportado.
Esta funcionalidade é auto-hospedada. A PositionRelay não executa o MetaTrader por si. Não existe otimizador alojado hoje.
Como funciona
A imagem Docker publicada Wine + MetaTrader 5 corre na sua máquina. O heartbeat autentica-se com o seu User ID PositionRelay, verifica o acesso Ultimate e aguarda comandos do painel.
Os resultados validados aparecem em Passed e Favorites. Os portefólios de empresa exigem também o código-fonte do EA de portefólio suportado.
- Subscreva Ultimate e abra Dashboard → Setup → MT5 Optimizations.
- Instale Docker e siga o assistente de configuração para o seu sistema operativo.
- Monte Experts e SetFiles, escreva optimizer.env e inicie o contentor.
- Confirme primeiro a autorização da corretora nos logs de arranque e depois se o worker aparece online em Dashboard → Optimizations.
- Configure datas, símbolos e estratégias e prima Start.
Requisitos
- Subscrição PositionRelay Ultimate ativa.
- Um computador x64 com Windows, Linux ou macOS Intel e Docker. Apple Silicon / ARM não é suportado.
- RAM e espaço em disco suficientes para o histórico de ticks reais; se usar Docker Desktop, ajuste os recursos nas definições.
- Uma conta MT5 numa corretora, demo ou real (login, palavra-passe, servidor).
- O seu próprio EA compilado (.ex5). EAs do Market MQL5 estão bloqueados por ativação e não correm.
- Ficheiros .set em SetFiles/Classic/<timeframe>, conforme indicado no assistente.
Configuração Docker
A instalação passo a passo está em Dashboard → Setup → MT5 Optimizations. O assistente mostra pastas, ficheiros e comandos para o seu sistema e preenche o seu User ID.
Onde ficam os seus ficheiros: a opção 1 é uma pasta no seu computador (C:\PositionRelay\optimizer no Windows, $HOME/PositionRelay/optimizer no Linux e macOS) com o EA, os ficheiros .set, Broker/servers.dat e optimizer.env. Hoje é a única opção e o assistente usa-a. A opção 2, enviar o EA, os ficheiros .set e as variáveis de ambiente para a PositionRelay, chega em breve e será por sua conta e risco.
Em cada linha -v de Experts, SetFiles, Broker e reports, o caminho à esquerda é a pasta no seu computador e /data/... é o caminho no contentor. Se os ficheiros estiverem noutro local, substitua cada caminho completo do host, incluindo a letra da unidade no Windows. Alterar --env-file não altera estas montagens.
Num terminal MT5 que já se liga à corretora, escolha Ficheiro → Abrir pasta de dados. Copie config/servers.dat para a pasta Broker do otimizador para que o Docker encontre a corretora. Não copie accounts.dat. O assistente mostra o destino exato.
Siga o assistente. Use a sua conta MT5 e remova MT5_PASSWORD só depois de o log mostrar « Broker login authorized ».
No primeiro arranque, o login na corretora ocorre antes do heartbeat e pode demorar vários minutos. Acompanhe os logs do contentor. Após "Starting optimizer heartbeat", aguarde algumas consultas até o worker aparecer online em Optimizations.
- Nunca faça commit de optimizer.env.
- Experts e SetFiles são montados só de leitura; reports é gravável.
- A árvore MT5 e a cache de ticks vivem no volume nomeado positionrelay-mt5.
Executar a partir do painel
Abra Dashboard → Optimizations. Escolha o intervalo de datas, símbolos, timeframes, estratégias, modo de otimização, saldo e drawdown máximo de equity. Opcionalmente ative a robustez após a validação.
Start inicia um novo lote. Resume continua uma execução interrompida. Stop interrompe o lote ativo; o worker continua online. Clean limpa artefactos de cache do tester no host.
O estado em direto atualiza a cada poucos segundos enquanto a página estiver aberta. Mantenha o contentor a correr durante o trabalho.
Resultados, favoritos e portefólio
As linhas Passed são sobreviventes validados do lote. Marque favoritos no painel; o worker pode sincronizá-los para a pasta Favorites no host.
Os portefólios de empresa suportam atualmente apenas um EA de portefólio da PositionRelay e precisam do seu código-fonte, ausente da imagem pública. Com o seu próprio .ex5 compilado pode otimizar, validar e marcar favoritos, mas não criar portefólios.
Os reports são guardados na pasta reports que criou no host.
Atualizar a imagem
Para verificar se existe uma imagem mais recente, execute docker pull ghcr.io/razvantomegea/position-relay-portfolio-optimizer:latest (comando Descarregar do assistente de configuração). O estado do pull descreve apenas a imagem local—não se o contentor em execução já a usa. Compare docker inspect --format '{{.Image}}' positionrelay-optimizer com docker inspect --format '{{.Id}}' ghcr.io/razvantomegea/position-relay-portfolio-optimizer:latest. Se coincidirem, deixe o contentor a correr. Se diferirem—ou já descarregou uma antes e adiou a recriação—, aguarde o fim de qualquer execução ativa e recrie o contentor com os comandos do último passo do assistente. A imagem atualiza apenas o worker; o volume mantém MT5 e a cache de ticks. Uma nova versão de MT5 exige atualização separada.
Resolução de problemas
- Worker continua offline — confirme que Ultimate está ativo, que POSITIONRELAY_USER_ID corresponde ao Setup e que docker logs mostra o heartbeat.
- Login da corretora não confirmado — verifique Broker/servers.dat do terminal MT5 funcional e depois MT5_LOGIN, MT5_PASSWORD e MT5_SERVER. Remova a palavra-passe do ficheiro env só depois de "Broker login authorized".
- Wine pode mostrar mensagens fixme e erros de bibliotecas gráficas no primeiro login. Estas linhas, por si só, não confirmam sucesso nem falha. Procure "Broker login authorized" ou "broker login not confirmed", e depois "Starting optimizer heartbeat". O worker pode estar online mesmo se o login na corretora falhar.
- O EA não corre — EAs comprados no Market estão bloqueados por ativação. Use o seu próprio .ex5 compilado.
- Sem disco / ticks lentos — aumente os recursos do Docker Desktop e liberte espaço para histórico de ticks reais.
- Apple Silicon / ARM — não suportado. Use um computador x64.
- Comando falhou no painel — abra docker logs -f positionrelay-optimizer para o erro do worker.
