TrendSync MACD Pro EA
- Experts
-
Juliano Guzlinki Pacheco
Acredito que a tecnologia é um dos principais diferenciais competitivos no mercado financeiro moderno. Enquanto muitos traders ainda dependem exclusivamente da análise manual e da tomada de decisão emocional, o uso de automação, algoritmos e sistemas inteligentes permite operar com maior precisão - Versão: 9.10
- Ativações: 5
Expert Advisor seguidor de tendência com Zero Lag MACD multi-timeframe — lógica transparente, sem caixa-preta, e um conjunto completo de controles de risco embutidos.
Visão geral
O TrendSync MACD Pro EA é um Expert Advisor baseado em regras para MetaTrader 5. Ele opera os cruzamentos de um Zero Lag MACD num timeframe de sinal rápido, mas apenas na direção confirmada pela tendência de um timeframe maior — de modo que as entradas ficam alinhadas com o movimento dominante, em vez de brigar contra ele.
Cada regra é transparente e totalmente configurável. Não há grid, não há martingale, não há preço médio (averaging) e não há lógica escondida. As posições são protegidas por stop loss desde o momento em que abrem, e o EA sai principalmente quando o regime do timeframe maior muda — deixando as tendências vencedoras correrem enquanto corta as perdedoras num nível definido.
O EA foi construído sobre uma filosofia anti-overfitting: um número pequeno de regras robustas e com sentido econômico, cada uma ligável de forma independente, para que você valide exatamente o que contribui para o resultado, na sua corretora, no seu símbolo e nos seus dados.
Nota honesta: este é um seguidor de tendência, não uma máquina de imprimir dinheiro. Seu comportamento depende do regime — vai melhor em mercados em tendência e voláteis, e pode andar de lado em condições calmas e lateralizadas. Nenhum EA garante lucro. Leia a seção Aviso de risco e teste em conta demo antes de operar ao vivo.
Como funciona
1. O sinal — Zero Lag MACD. O EA calcula uma versão de lag reduzido do MACD clássico usando a técnica de EMA de atraso zero, que reage mais rápido ao preço do que um MACD padrão sem perder suavidade. Uma configuração de COMPRA ocorre quando a linha do MACD cruza acima da linha de sinal; uma de VENDA, quando cruza abaixo.
2. O filtro — tendência do timeframe maior. Cada sinal é checado contra um timeframe superior (o timeframe de "tendência"). Com o filtro de tendência ligado, o EA aceita somente os cruzamentos que concordam com o viés do timeframe maior — sinais de compra em tendência de alta, sinais de venda em tendência de baixa. Essa única regra remove boa parte das entradas contra a tendência de baixa qualidade.
3. Entradas non-repainting (sem repintura). Os sinais são confirmados no fechamento da barra de sinal e executados na abertura da barra seguinte. A lógica de entrada não repinta: o que é confirmado é o que o EA executa.
4. A saída — mudança de regime. A saída principal é a virada de tendência do timeframe maior: quando o movimento dominante reverte, a posição é encerrada. Isso deixa uma boa tendência correr até seu fim natural, em vez de cortá-la num alvo arbitrário. Um stop loss fixo sempre protege a posição, e ainda há take profit opcional, saída por sinal contrário, breakeven e circuit breaker.
5. Dois modos de operação.
- Modo validação (paper) — o EA avalia os sinais e registra entradas/saídas simuladas e o P&L acumulado no log, sem enviar ordens reais. Ideal para observar o comportamento num gráfico ao vivo antes de comprometer capital.
- Modo ao vivo — o EA envia ordens reais a mercado. É também o modo usado dentro do Testador de Estratégia.
Principais recursos
- Motor Zero Lag MACD com comprimentos Fast / Slow / Signal ajustáveis (EMA ou SMA).
- Confirmação de tendência multi-timeframe — timeframe de sinal e de tendência são inputs independentes; nada é fixo no código.
- Entradas confirmadas no fechamento, sem repintura.
- Saída por regime (virada de tendência do TF maior) que deixa o vencedor correr.
- Stop loss flexível: fixo na moeda da conta, em pontos, ou baseado em volatilidade (múltiplo de ATR).
- Take profit, saída por sinal contrário e breakeven opcionais.
- Filtro de sessão (Ásia / Londres / Nova York) definido em GMT com input de offset do servidor, funcionando corretamente em qualquer horário de servidor.
- Filtro de notícias usando o calendário econômico nativo do MT5 (demo/ao vivo) — pausa novas entradas em torno de eventos de alto impacto, sem tocar nas posições abertas.
- Circuit breaker — pausa as operações após um número configurável de perdas consecutivas.
- Módulo opcional de pirâmide — acrescenta posições numa tendência em andamento, com SL/TP independentes (fixo ou por ATR) para as posições adicionais.
- Filtro de origem fraca — opcionalmente ignora cruzamentos nascidos de um movimento oposto fraco no lado errado da linha zero do MACD.
- Comentário de ordem e magic number para atribuição limpa quando vários EAs compartilham a conta.
- Log detalhado e legível de cada decisão.
Referência de configurações
Todos os parâmetros estão listados abaixo por grupo, com seu valor padrão e finalidade. Todos os módulos de recurso vêm desligados por padrão, então o EA começa como um seguidor de tendência limpo, de posição única; ligue os módulos um de cada vez e valide o efeito de cada um.
Timeframes
| Parâmetro | Padrão | Descrição |
|---|---|---|
| SignalTF | M4 | Timeframe onde os cruzamentos do MACD são detectados (o timeframe de entrada). |
| TrendTF | H4 | Timeframe maior usado para confirmar a tendência. Deve ser maior que o SignalTF . |
Indicator (Zero Lag MACD)
| Parâmetro | Padrão | Descrição |
|---|---|---|
| FastLength | 12 | Comprimento rápido do MACD. |
| SlowLength | 26 | Comprimento lento do MACD. |
| SignalLength | 9 | Comprimento da linha de sinal. |
| useEma | true | Usa suavização por EMA (false = SMA). |
| useOldAlgo | false | Usa o cálculo de sinal legado (linha de sinal por SMA). |
Filters
| Parâmetro | Padrão | Descrição |
|---|---|---|
| UseTrendFilter | true | Operar somente na direção da tendência do TF maior. Fortemente recomendado ligado. |
| MinDistanceFromZero | 0.0 | Valor absoluto mínimo do MACD exigido no cruzamento (0 = desligado). Filtra cruzamentos fracos, muito próximos de zero. |
Weak-Origin Filter (origem fraca)
| Parâmetro | Padrão | Descrição |
|---|---|---|
| UseWeakOriginFilter | false | Ignora um cruzamento que começa no lado errado da linha zero do MACD, vindo de um movimento oposto fraco (ex.: um cruzamento de venda abaixo de zero cuja perna de compra anterior nunca levou o MACD acima de zero). |
Session Filter (GMT)
| Parâmetro | Padrão | Descrição |
|---|---|---|
| UseSessionFilter | false | Ativa a filtragem de entradas por sessão. |
| ServerGMTOffset | 3 | Offset do servidor da sua corretora em relação ao GMT (ex.: GMT+3 → 3). O EA imprime o GMT estimado no log ao iniciar — confira contra um relógio UTC real. |
| TradeAsia | false | Permite entradas na sessão asiática. |
| TradeLondon | true | Permite entradas na sessão de Londres. |
| TradeNY | true | Permite entradas na sessão de Nova York. |
As sessões são definidas internamente em GMT (Ásia 00–08, Londres 08–16, Nova York 13–22) e convertidas para o horário do seu servidor usando o offset, de forma que o filtro se comporta igual independente do horário da corretora. O filtro bloqueia apenas novas entradas; as saídas sempre funcionam.
News Filter (somente demo / ao vivo)
| Parâmetro | Padrão | Descrição |
|---|---|---|
| UseNewsFilter | false | Pausa novas entradas em torno de notícias de alto impacto. Usa o calendário nativo do MT5, que não retorna dados no Testador de Estratégia — este filtro fica inerte em backtest e só age em demo/ao vivo. |
| NewsCurrencies | USD | Moedas a monitorar, separadas por vírgula (ex.: USD,EUR ). Vazio = todas. |
| NewsHighImpactOnly | true | Restringe apenas a eventos de alto impacto. |
| NewsMinutesBefore | 30 | Bloqueia novas entradas tantos minutos antes de um evento. |
| NewsMinutesAfter | 30 | Bloqueia novas entradas tantos minutos depois de um evento. |
Posições abertas nunca são fechadas à força pelo filtro de notícias — apenas novas entradas são pausadas.
Exits (saídas)
| Parâmetro | Padrão | Descrição |
|---|---|---|
| ExitOnTrendFlip | true | Fecha a posição quando a tendência do TF maior reverte (a saída principal). |
| ExitOnOppositeSignal | false | Também fecha num cruzamento contrário do MACD. |
| StopLossMoney | 50.0 | Stop loss na moeda da conta. Tem prioridade sobre pontos. |
| StopLossPoints | 0.0 | Stop loss em pontos (usado se o SL em $ for 0). |
| TakeProfitMoney | 0.0 | Take profit na moeda da conta (0 = nenhum; deixa a tendência correr). Prioridade sobre pontos. |
| TakeProfitPoints | 0.0 | Take profit em pontos (0 = nenhum). |
Um SL/TP em dinheiro é convertido para uma distância de preço usando o tamanho do lote atual, então sua distância de mercado muda se você mudar o lote. Para um stop independente do lote, use pontos ou o ATR abaixo.
ATR Initial Stop
| Parâmetro | Padrão | Descrição |
|---|---|---|
| UseATRStop | false | Define o stop loss inicial como múltiplo do ATR (sobrepõe o SL em $/pontos). Adapta o stop à volatilidade atual. |
| ATRTimeframe | PERIOD_CURRENT | Timeframe do ATR (PERIOD_CURRENT = o timeframe de sinal). |
| ATRPeriod | 14 | Período do ATR. |
| ATRStopMult | 1.5 | Distância do stop = multiplicador × ATR. |
Pyramiding (pirâmide)
| Parâmetro | Padrão | Descrição |
|---|---|---|
| UsePyramiding | false | Permite entradas adicionais a cada novo cruzamento a favor da tendência enquanto há posição aberta. |
| MaxPositions | 3 | Máximo de posições simultâneas, incluindo a primeira ("core"). 1 = desligado. |
| PyramidTPMoney | 0.0 | Take profit das posições adicionais, na moeda (prioridade sobre pontos). |
| PyramidTPPoints | 0.0 | Take profit das posições adicionais, em pontos. |
| PyramidSLMoney | 0.0 | Stop loss das posições adicionais, na moeda (0 = igual ao SL do core). |
| PyramidSLPoints | 0.0 | Stop loss das posições adicionais, em pontos (0 = igual ao SL do core). |
| UsePyramidATR | false | Define SL/TP das posições adicionais como múltiplos de ATR (independente do lote; sobrepõe os valores em $/pontos). |
| PyramidATRSLMult | 1.5 | SL das adicionais = multiplicador × ATR. |
| PyramidATRTPMult | 2.0 | TP das adicionais = multiplicador × ATR. |
A primeira posição de uma tendência opera pelas regras do core (stop loss, sem take profit — ela cavalga a tendência). Cada posição adicional carrega seu próprio SL e TP. Uma virada de tendência fecha todas juntas.
Circuit Breaker
| Parâmetro | Padrão | Descrição |
|---|---|---|
| MaxConsecLosses | 0 | Perdas consecutivas que disparam uma pausa (0 = desligado). |
| PauseMinutes | 60 | Duração da pausa em minutos (60 = 1h, 1440 = 1 dia). |
Breakeven
| Parâmetro | Padrão | Descrição |
|---|---|---|
| BreakevenMoney | 0.0 | Lucro flutuante (na moeda) em que o stop é movido para a entrada (0 = desligado). |
| BreakevenLockPoints | 0.0 | Pontos além da entrada ao mover o stop, para cobrir spread/custo. |
Trading
| Parâmetro | Padrão | Descrição |
|---|---|---|
| TradeEnabled | false | false = validação/paper (só log), true = ordens ao vivo (também o modo do tester). |
| FixedLot | 0.05 | Tamanho de lote fixo por entrada. Dimensione de forma conservadora para o seu capital. |
| MagicNumber | 20260603 | ID único das posições deste EA. Use um valor diferente por EA na mesma conta. |
| Slippage | 20 | Desvio máximo de preço, em pontos. |
| Comment | TrendSyncMACD | Texto gravado em cada ordem, para atribuição legível no seu histórico. |
Calculation / Log
| Parâmetro | Padrão | Descrição |
|---|---|---|
| Lookback | 600 | Número de barras usadas no cálculo do MACD. |
| VerboseLog | true | Log detalhado de sinais, filtros e operações. |
Setup recomendado / início rápido
- Anexe o EA a um gráfico do símbolo que você pretende operar. Defina SignalTF e TrendTF (um timeframe menor para os sinais, um maior para a tendência — ex.: M4 / H4).
- Comece com TradeEnabled = false (modo validação) e acompanhe o log por uma ou duas sessões para confirmar sinais e comportamento na sua corretora.
- Mantenha o esqueleto de risco padrão: UseTrendFilter ligado, um stop loss definido, sem take profit (deixe a tendência correr) e todos os módulos opcionais desligados.
- Dimensione o FixedLot de forma conservadora. Um stop loss deve arriscar uma pequena porcentagem da conta por operação, não uma grande. Subdimensionar é sobrevivível; superdimensionar é como se explode conta durante uma sequência normal de perdas.
- Quando estiver pronto, mude para TradeEnabled = true em uma conta demo e rode em tempo real por um período significativo antes de considerar capital real.
Notas de backtest e validação
- Use a modelagem "Cada tick baseado em ticks reais" e teste no símbolo exato que você vai operar. Modelagem de qualidade inferior favorece stops apertados de forma irreal.
- Por ser um seguidor de tendência, os resultados são dependentes de regime. Teste em diferentes condições de mercado, não apenas num período de forte tendência.
- A checagem mais confiável é fora da amostra (out-of-sample): ajuste qualquer parâmetro em um intervalo de datas, congele-o e avalie em um intervalo diferente que você não tocou. Um resultado que só fica bom no período em que foi ajustado não é um resultado.
- O filtro de notícias fica inativo no Testador de Estratégia por natureza (o calendário nativo não retorna dados no tester). Valide-o em demo.
- Para o filtro de sessão, confirme o offset de GMT pelo log de inicialização antes de tirar conclusões.
Requisitos
- MetaTrader 5.
- Conta do tipo hedge é necessária se você pretende usar o módulo de pirâmide (várias posições simultâneas no mesmo símbolo). Contas netting funcionam no modo padrão de posição única.
- Funciona em qualquer símbolo; projetado e testado principalmente em metais/instrumentos majors. O comportamento depende do spread, da volatilidade e da estrutura de sessões do instrumento.
- Recomenda-se um VPS para operação ao vivo ininterrupta.
Aviso de risco
Operar instrumentos alavancados envolve alto nível de risco e pode resultar na perda de todo o seu capital. Este Expert Advisor é uma ferramenta de execução de decisões baseada em regras técnicas definidas; ele não prevê o mercado e não garante nenhum nível de lucro. Desempenho passado — incluindo qualquer backtest — não indica resultados futuros. Sua vantagem é modesta e dependente de regime, e o spread, o slippage e o swap reais reduzem o resultado líquido em relação a um backtest. Você é o único responsável pela sua configuração, dimensionamento de posição e gestão de risco. Nunca arrisque dinheiro que não pode perder e sempre valide antes em conta demo. Isto não é aconselhamento financeiro.
Suporte
Dúvidas sobre configuração ou comportamento são bem-vindas. Inclua o símbolo, os ajustes de timeframe e uma cópia do log de inicialização (ele imprime a configuração ativa) para que qualquer pergunta seja respondida com precisão.
