Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Indicadores

Turtle Breakout Indicator Tested on Gold: Profitable in 2025 and 2026 (70) - indicador para MetaTrader 5

Ali Akbar
Ali Akbar
  • MQL5 Developer & Algorithmic Trading Specialist em  Freelance
  • Paquistão
  • 1664
Hi, I'm Ali. 24 years old, trading for around 5 years, and developing MQL5/MQL4 tools. I mainly work on automating manual strategies, fixing broken EA logic, and building clean indicators. I care more about clean architecture and proper risk management than over-complicated code. Always down to talk
| Portuguese English Русский 中文 Español Deutsch 日本語 한국어 Français Italiano Türkçe
Visualizações:
17
Avaliação:
(2)
Publicado:
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Laboratório de Saídas em Breakouts: Breakouts de Donchian com Três Saídas Comparadas Lado a Lado

Identifica rompimentos do canal de Donchian no estilo Turtle e acompanha cada um deles com três saídas simultâneas: um stop móvel ATR, o canal de saída Turtle e uma meta fixa. Um painel mostra qual saída gerou maior lucro no seu símbolo, em R, incluindo o spread. Sem repintura, com buffers para um Expert Advisor.

Por que três saídas

Os sistemas de rompimento dependem totalmente da saída. A entrada é simples e todos concordam com ela: se o preço fechar acima da máxima mais alta das últimas 20 barras, você compra. Depois disso, começam as discussões. Acompanhar com ATR? Usar o canal de saída de 10 barras dos Turtles? Pegar um 2R fixo e sair?

Todos os indicadores de breakout que encontrei escolhem uma saída e a traçam. Eu queria ver todas as três nas mesmas entradas, no meu próprio símbolo, antes de escolher. Portanto, este indicador pega cada breakout e o submete a três saídas em paralelo, colocando os resultados lado a lado.

Como um rompimento é definido

  1. O canal de entrada é a máxima mais alta e a mínima mais baixa das barras anteriores do InpEntryBars (20 por padrão, Sistema das Tartarugas 1).
  2. Um sinal de compra é uma barra fechada que fecha acima da máxima do canal, enquanto a barra anterior não o fez. Um sinal de venda é a imagem espelhada. Apenas o primeiro fechamento além do canal conta, portanto, uma tendência forte não gera uma seta em todas as barras.
  3. A operação começa na abertura da próxima barra. O stop inicial é igual a InpStopATR vezes o ATR (2,0 x ATR(20), o “2N” dos Turtles).
  4. Um filtro de tendência opcional mantém apenas os rompimentos no lado da MME de 200. Ele vem desativado por padrão.

As três saídas

  • A. Trail de ATR. O stop acompanha o melhor preço desde a entrada a uma distância de InpTrailATR vezes o ATR (3,0 por padrão) e nunca retrocede.
  • B. Canal de saída das Tartarugas. O stop segue a mínima mais baixa das últimas InpExitBars barras para uma posição comprada (10 por padrão, Sistema 1) e a máxima mais alta para uma posição vendida.
  • C. Meta fixa. Um take profit igual a InpTargetR multiplicado pelo risco inicial (2R por padrão), com o stop inicial.

Cada resultado é medido em R, onde 1R é a distância da entrada até o stop inicial. O spread da barra de sinal é subtraído como custo. Um stop que o preço ultrapassa por meio de um gap é executado na abertura da barra, e não no preço do stop. Quando o stop e a meta estão ambos dentro de uma mesma barra, o stop é contabilizado, pois uma barra não permite distinguir qual ocorreu primeiro.

Cada rompimento é avaliado individualmente, de modo que as operações podem se sobrepor. O painel apresenta uma comparação das saídas em relação ao mesmo conjunto de entradas. Não se trata de uma simulação de conta com dimensionamento de posição.

O que o painel mostra

  • O número de rompimentos, divididos em posições compradas e vendidas, e quantas ainda estão abertas.
  • Para cada saída: operações fechadas, taxa de acerto, fator de lucro, R médio e a soma em R.
  • Para a saída que você escolher desenhar (InpDrawExit): as somas de posições compradas e vendidas separadamente, para que você possa ver se um dos lados é responsável pelo resultado.

A saída escolhida também é desenhada no gráfico. Cada operação recebe uma linha de entrada e seu resultado em R, e o stop da última operação é desenhado como uma linha pontilhada.

O que foi observado no ouro

XAUUSD, dados de demonstração da MetaQuotes, parâmetros padrão. A simulação de 2025 abrange os 360 dias até 31 de dezembro de 2025. A simulação de 2026 abrange os 260 dias até 18 de setembro de 2026.

XAUUSD Operações Taxa de acertos PF Soma
H4 2025, saída A (ATR trail) 129 43,4% 1,45 +23,08R
H4 2025, saída B (canal de 10 barras) 129 41,1% 2,34 +66,20R
H4 2025, saída C (meta de 2R) 129 45,7% 1,68 +47,83R
H4 2026, saída A 76 35,5% 1,10 +3,46R
H4 2026, saída B 76 35,5% 1,70 +22,35R
H4 2026, saída C 75 38,7% 1,26 +11,99R
1º semestre de 2025, saída A 465 37,6% 1,32 +70,32R
1º semestre de 2025, saída B 465 37,8% 1,23 +51,18R
1º semestre de 2025, saída C 465 37,8% 1,21 +60,32R
1º semestre de 2026, saída A 270 39,6% 1,21 +25,14R
1º semestre de 2026, saída B 270 40,4% 1,29 +35,15R
1º semestre de 2026, saída C 269 38,3% 1,23 +39,06R

Todas as doze são positivas. No H4, o canal de saída da Turtle foi a melhor saída em ambos os anos, e o trail ATR foi o mais fraco. No H1, não houve um vencedor claro: o trail liderou em 2025 e a meta fixa liderou em 2026. Essa é a razão pela qual o painel existe. A “melhor saída” mudou de acordo com o período e o ano, mesmo para um único símbolo.

Agora, a parte que importa antes que alguém fique animado. O ouro subiu bastante em 2025, e isso fica evidente na divisão. Com a saída B no H4, as 99 posições compradas renderam +79,4R e as 30 posições vendidas perderam -13,2R. Em 2026, o ouro oscilou para os dois lados, e ambos os lados tiveram resultados positivos: 42 posições compradas renderam +14,9R e 34 posições vendidas renderam +7,5R.

Para ver até que ponto isso reflete a tendência do ouro, apliquei as mesmas configurações padrão a três pares de moedas no H4 durante o mesmo período de 2026:

H4 2026 Soma da saída A (PF) Soma da saída B (PF) Soma da saída C (PF)
EURUSD -11,74R (0,68) -3,86R (0,89) -5,97R (0,88)
GBPUSD -9,21R (0,77) -3,15R (0,91) +6,90R (1,13)
USDJPY +1,30R (1,03) +0,73R (1,02) +3,03R (1,06)

Estável a negativo. As quebras de resistência exigem um mercado em tendência, e nesse período o ouro apresentou tendência, enquanto esses pares, em sua maioria, não. Portanto, interpreto os números do ouro como “as quebras de resistência funcionaram enquanto o ouro apresentava tendência”, e não como prova de que sempre funcionarão.

Fig. 1. XAUUSD H4, do final de julho atémeados de setembro de 2026: setas de rompimento, o canal de entrada e o resultado de cada operação sob a saída B

Fig. 2. O painel para o XAUUSD H4 em 2025 e 2026, com a saída B traçada

Dados de entrada

Entrada Padrão O que faz
InpEntryBars 20 Comprimento do canal de entrada em barras
InpExitBars 10 Comprimento do canal de saída para a saída B
InpATRPeriod 20 Período do ATR
InpStopATR 2,0 Stop inicial, múltiplos do ATR
InpTrailATR 3,0 Distância de acompanhamento de saída, múltiplos de ATR
InpTargetR 2,0 Saída C: take profit, múltiplos de R
InpUseTrend false Manter apenas rompimentos no sentido da tendência EMA
InpTrendEMA 200 Período da EMA da tendência, intervalo do gráfico
InpDrawExit A. Rastreamento ATR Ponto de saída traçado no gráfico e enviado para os buffers 6 a 9
InpDaysBack 365 Dias de histórico no quadro de resultados
InpDrawDays 60 Dias com linhas de negociação traçadas
InpShowPanel true Mostrar o painel
InpPanelCorner canto superior esquerdo Canto do painel
InpAlertPopup true Alerta pop-up em caso de nova quebra
InpAlertPush false Notificação push ao ocorrer um novo rompimento

Para o sistema clássico Turtle System 2, defina InpEntryBars como 55 e InpExitBars como 20.

Utilização em um Expert Advisor

Um rompimento é registrado na barra que fechou além do canal; portanto, um EA o lê no shift 1 assim que essa barra fechar. As setas são mantidas em todo o histórico carregado, não apenas dentro da janela de análise. Verifiquei no testador de estratégias que os sinais que um EA detectou em tempo real eram exatamente os mesmos que estavam nos buffers ao final da execução: 473 de 473 no H1 e 131 de 131 no H4 para o ouro em 2025.

Buffer Conteúdo
0 Compra em breakout, o valor é a entrada planejada (abertura da próxima barra), EMPTY_VALUE caso contrário
1 Venda no rompimento, mesmo formato
2, 3 Máxima e mínima do canal de entrada
4 Stop da última operação abaixo do ponto de saída traçado
5 Stop inicial na barra de rompimento
6 a 9 Relatório da saída traçada na última barra fechada: operações fechadas, ganhos, soma em R, soma das perdas em R
int      handle;
datetime lastBar = 0;

int OnInit()
  {
   handle = iCustom(_Symbol, PERIOD_H4, "BreakoutExitLab");
   return(handle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED);
  }

void OnTick()
  {
   //--- as quebras de tendência são confirmadas nas barras fechadas; portanto, verifique uma vez a cada nova barra
   datetime bar = iTime(_Symbol, PERIOD_H4, 0);
   if(bar == lastBar)
      return;
   lastBar = bar;

   double buy[1], sell[1], stop[1];
   if(CopyBuffer(handle, 0, 1, 1, buy) < 1 || CopyBuffer(handle, 1, 1, 1, sell) < 1 ||
      CopyBuffer(handle, 5, 1, 1, stop) < 1)
      return;

   if(buy[0] != EMPTY_VALUE)
      Print("Breakout buy, initial stop ", stop[0]);
   if(sell[0] != EMPTY_VALUE)
      Print("Breakout sell, initial stop ", stop[0]);
  }

O indicador não possui grupos de entrada propositalmente. O MQL5 considera cada “grupo de entrada” como um parâmetro da função iCustom(), e cada valor após ele seria deslocado em uma posição.

Uma pequena observação que aprendi ao criar o painel: o rótulo de um gráfico comporta no máximo 63 caracteres. Minhas primeiras linhas do painel eram mais longas e o MetaTrader as cortava no meio de um número, por isso agora as linhas são mantidas curtas.

Limites

Os resultados provêm de dados de barras, portanto a ordem dos eventos dentro de uma barra é desconhecida. Apenas o spread é cobrado, sem comissão e sem slippage além dos gaps que ultrapassam o stop. As operações são avaliadas uma a uma e podem se sobrepor; portanto, os valores somados não representam uma curva de patrimônio líquido. Todos os números acima são provenientes dos dados de uma corretora em dois períodos nos quais o ouro apresentou forte tendência.

Ali Rajput


Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/77687

ATS Confirmed Swings - non-repainting swing highs and lows ATS Confirmed Swings - non-repainting swing highs and lows

A marcação das máximas e mínimas de oscilação só ocorre após a confirmação por barras fechadas, portanto, uma oscilação traçada nunca se move nem desaparece.

ATR Trailing Stop (Pine Script Port) ATR Trailing Stop (Pine Script Port)

Porta MQL5 de um indicador de stop móvel ATR em Pine Script: nLoss = múltiplo do ATR; o stop se ajusta abaixo do preço em uma tendência de alta e acima do preço em uma tendência de baixa, e inverte (com uma seta de compra/venda) quando o preço fecha atravessando-o. Inclui uma versão de referência em Python e um teste de paridade que verifica se ambas estão de acordo com uma transcrição literal, barra por barra, da semântica do Pine (na/nz/histórico da série).

Accumulation/Distribution Accumulation/Distribution

O Indicador Accumulation/Distribution (Acumulação/Distribuição ou A/D) é determinado pelas mudanças de preço e volume.

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

O Indicador Acceleration/Deceleration (Aceleração/Desaceleração ou AC) mede a aceleração e a desaceleração da força motriz atual do mercado.