Pesquisar
Projeto exclusivo

Desenvolvimento de Expert Advisor para MetaTrader 5

ontem às 22:08

Descrição do Projeto:

1) Visão geral

Preciso de um Expert Advisor para MetaTrader 5 (MQL5, conta Hedge) que opere apenas comprado em símbolos como XAUUSD e BTCUSD.
A ideia é ancorar no topo recente, posicionar BUY LIMITs em retrações predeterminadas e fechar todas as posições simultaneamente quando o preço médio atingir um TP percentual.
Após o fechamento (TP/SL/manual), o robô cancela todas as pendentes restantes, reancora e reconstrói a grade a partir do novo topo automaticamente.

Ponto crítico: atualmente tenho um EA que deixa ordens penduradas após um TP. Eu preciso que, quando a operação global encerra, todas as pendentes sejam canceladas e a grade seja rearmada a partir do novo topo.

2) Lógica detalhada
2.1. Âncora (anchor)

Ancorar no maior HIGH do símbolo em um timeframe configurável (ex.: D1) dentro de um lookback configurável (ex.: 10.000 barras).

Reancorar somente quando:

Não houver posição aberta, e

Houver nova máxima ? AnchorHigh * (1 + ReanchorThrPct/100) (ex.: +0,30%).

Enquanto houver posição aberta, não reancorar; a referência de topo só muda quando a posição global estiver zerada.

2.2. Grade de compras (BUY LIMIT)

Até 10 níveis configuráveis. Cada nível tem:

LevelPctN = retração em % a partir do topo ancorado (ex.: 10, 20, 30, 40, 55…)

LotN = lote a enviar no BUY LIMIT correspondente.

Preço de cada BUY LIMIT: AnchorHigh * (1 - LevelPctN/100).

Não duplicar ordens: se já existir BUY LIMIT do mesmo Magic dentro de PriceTolPts da mesma faixa de preço, não reenviar.

Desvio (DeviationPts) configurável para envios/modificações.

2.3. TP global pelo preço médio

Ao haver qualquer BUY aberto do Magic, calcular preço médio ponderado pelo volume.

Take Profit global = AvgPrice * (1 + TP_Percent/100).

Se houver mais de uma posição BUY aberta (parciais), todas devem compartilhar esse TP global.
Atualizar o TP das posições se a diferença for maior que ModifyTolPts (para evitar micro-modificações).

Quando qualquer fechamento ocorrer e não restar posição aberta, o EA deve:

Cancelar TODAS as pendentes do Magic,

Reancorar (ver regra de reâncora),

Reconstruir a grade.

2.4. Cancelamento e rearme (obrigatório)

Sempre que a posição global for encerrada (TP, SL ou manual):

Cancelar todas as pendentes do Magic;

Reancorar a partir do novo topo válido (regra 2.1);

Recriar a grade a partir da nova âncora.

Esse fluxo deve ser acionado via OnTradeTransaction (detecção de DEAL_ENTRY_OUT / fechamento) — obrigatório.

3) Parâmetros (inputs)

Magic (ulong)

AnchorTF (ENUM_TIMEFRAMES) – TF para buscar a máxima (ex.: D1)

BarsLookback (int) – barras do TF para buscar a máxima (ex.: 10.000)

ReanchorThrPct (double) – % adicional para considerar “nova máxima” (ex.: 0,30)

LevelsCount (int, 1..10)

LevelPct1..10 (double) – retrações em %

Lot1..10 (double)

TP_Percent (double) – TP global sobre o preço médio (ex.: 12%)

PriceTolPts (int) – tolerância para não duplicar pendentes (em points)

ModifyTolPts (int) – tolerância para atualizar TP (em points)

DeviationPts (int) – desvio para envio/modificação (em points)

4) Requisitos técnicos / qualidade

MetaTrader 5 – MQL5 – Conta Hedge (não MT4, não netting).

Usar CTrade (Trade/Trade.mqh) e OnTradeTransaction.

Tratar símbolos com diferentes dígitos/point (ex.: XAUUSD, BTCUSD).

Código limpo, comentado, sem “gambiarras”, 0 erros e 0 warnings na compilação.

Proteger contra:

Duplicação de ordens

Falhas de envio (verificar retorno, logar erro)

Símbolo indisponível/mercado fechado

Compatível com backtest “cada tick é baseado em um tick real” e com otimização (inputs listados).

Logs claros de eventos principais (âncora, reâncora, criação/cancelamento de grade, TP global aplicado etc).

5) Critérios de aceite (teste do cliente)

Compila com 0 erros e 0 warnings no MT5 atual.

Em backtest visual:

Cria grade a partir do topo ancorado.

Ao executar 1 nível e atingir o TP global, todas as posições fecham e todas as pendentes são canceladas.

Em seguida, o EA reancora (se houver nova máxima válida) e constrói nova grade automaticamente.

Não reancora enquanto existir posição aberta (só rearma ao zerar).

Não duplica pendentes na mesma faixa (respeita PriceTolPts).

Atualiza TP global quando o preço médio muda de forma relevante (respeita ModifyTolPts).

6) Entregáveis

Arquivo .mq5 com código-fonte completo e comentado.

Instruções rápidas (TXT) de:

Como anexar o EA,

Parâmetros,

Sugestões de backtest (XAUUSD/BTCUSD, H1/H4/D1, “cada tick real”).

30 dias para ajustes de bugs (se aparecerem comportamentos fora do escopo).

7) Extras desejáveis (não obrigatório)

Parâmetro para fechar parcial (percentual do volume) antes do TP global.

Modo simulação de custos (spread/commission/slippage) para backtest.

Export de eventos-chave para Arquivo/CSV.

8) O que enviar na proposta

2–3 exemplos de EAs MT5/MQL5 já entregues (com OnTradeTransaction).

Prazo estimado e valor fechado.

Confirmação de que cumprirá todos os critérios de aceite.

Habilidades desejadas:

Metatrader

Atividades do cliente nesse projeto:

Última visualização: ontem às 22:13

Tem dúvidas? Faça uma pergunta.

ou

Enviar proposta

Informações adicionais

Categoria: Web, Mobile & Software
Subcategoria: Outra - Web, Mobile & Software
Orçamento: Aberto
Nível de experiência: Intermediário
Visibilidade: Público
Propostas: 0
Interessados: 0
Tempo restante:
Valor Mínimo: R$ 50,00
Propostas (0)

Nenhuma proposta foi encontrada.

Carregando...
Projetos semelhantes no 99Freelas

Recuperação de postagens do Wordpress para WIX - Tenho um arquivo SQL de um site antigo e quero recuperar as postagens e importar para a WIX (arquivo XML).

Desenvolvimento de sistema de IA de vendas integrado ao WhatsApp - Estamos finalizando um sistema de IA de vendas integrado ao WhatsApp e buscamos um desenvolvedor experiente em Node.js e OpenAI API para corrigir e estabilizar o módulo de inteligência...

Automação de vendas em grupos de WhatsApp - Visão geral do projeto O objetivo deste projeto é desenvolver e configurar um robô que automatize o processo de monitoramento de promoções em marketplaces selecion...

Configurar fluxo no N8N para WhatsApp - Easypanel já está instalado, Waha também e está tudo online. Seria somente configurar o fluxo no N8N para atendimento no WhatsApp de mensagens e áudio. Ele vai bu...

Automação de WhatsApp através do N8N - Procuro profissional para desenvolvimento de automação para WhatsApp, considerando que já possuía um trabalho com outra equipe de desenvolvimento, porém, em raz&a...

Carregando...

Carregando...

Pesquisar

FREELANCERS
PROJETOS
Ocorreu um erro inesperado. Caso o erro persista, entre em contato conosco através do e-mail suporte@99freelas.com.br.