Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 19
- Avaliação:
- Publicado:
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
O Stormbreaker ADX é um Expert Advisor para o MetaTrader 5 que combina a direção do Supertrend com a força do ADX e a relação direcional entre +DI e −DI. Ele avalia sinais em velas fechadas, dimensiona as posições com base em um orçamento fixo de risco sobre o patrimônio líquido e define um stop de proteção com base no ATR.
O código-fonte disponível para download destina-se a estudo, testes e modificações. O EA não garante lucros; teste-o com os dados e as especificações contratuais da sua corretora antes de considerar seu uso em operações reais.

Figura 1. Os filtros de entrada são avaliados em sequência no início de uma nova vela no período do sinal.
1. Visão geral da estratégia
O período padrão do sinal é H4. Em cada nova barra H4, o EA analisa a barra anterior concluída (deslocamento 1), calcula um Supertrend personalizado a partir do ATR e analisa os valores de ADX, +DI, −DI e ATR. Uma operação só é considerada quando a direção do Supertrend e o movimento direcional coincidem e o ADX atinge o limite de entrada.
| Componentes | Padrão | Finalidade |
|---|---|---|
| Intervalo de tempo do sinal | H4 | Intervalo de tempo de avaliação do sinal; as entradas são verificadas uma vez a cada nova barra. |
| Supertrend | ATR 10, fator 3,0 | Define a direção atual da tendência. |
| ADX / DMI | ADX 14; limite de entrada 23 | Filtra a força da tendência e confirma a direção usando +DI e −DI. |
| Limite de força de saída | ADX abaixo de 18 | Encerra uma posição gerenciada quando a força da tendência enfraquece abaixo do nível de saída. |
| Stop inicial | 2 × ATR(10) | Coloca o stop a partir do fechamento da barra de sinal concluída e, em seguida, o alinha às regras de preço da corretora. |
| Orçamento de risco | 0,5% do patrimônio líquido atual | Calcula o volume a partir da perda estimada entre a cotação de entrada atual e o stop. |
| Take profit | Nenhum | Não há meta fixa de take profit; as saídas são baseadas em sinais/força ou por stop loss. |
2. Regras de entrada e saída
| Ação | Condições |
|---|---|
| Abrir uma posição de compra | Entradas de compra habilitadas; o Supertrend está em alta; ADX ≥ 23; +DI > −DI. |
| Abrir uma posição de venda | Entradas de venda ativadas; o Supertrend está em tendência de baixa; ADX ≥ 23; −DI > +DI. |
| Fechar uma posição existente | ADX < 18, ou a direção do Supertrend se inverte em relação à posição. Um sinal de qualificação oposto também fecha/inverte a posição gerenciada. |
O EA não aumenta uma posição na mesma direção quando encontra uma posição existente com o símbolo e o número mágico configurados. Um stop-loss permanece ativo independentemente da saída do sinal.
3. Cálculo do volume com base no risco
Antes de enviar uma ordem, o Stormbreaker estima a perda de um lote a partir da cotação de entrada Ask/Bid atual até o stop proposto ,utilizando o `OrderCalcProfit` . Ele divide o orçamento de risco de 0,5% do patrimônio líquido por essa perda estimada de um lote, depois arredonda o volume para baixo até o passo de volume permitido pela corretora e aplica o limite máximo de volume. Ele também verifica a margem disponível. Se o lote mínimo permitido exceder o orçamento de risco ou se a margem for insuficiente, o EA ignora a operação.
double risk_cash = AccountInfoDouble(ACCOUNT_EQUITY) * 0.5 / 100.0; double one_lot_loss = MathAbs(one_lot_profit); double volume = MathFloor((risk_cash / one_lot_loss) / volume_step) * volume_step; volume = MathMin(volume, MaxVolume);
Trecho simplificado para fins de explicação. O código-fonte completo inclui verificações de preços inválidos, alinhamento de tick/volume, distâncias de stop da corretora e margem. Como o stop é derivado do fechamento da vela anterior, enquanto o dimensionamento usa a cotação de entrada atual, deslizamentos/gaps e custos de execução podem fazer com que a perda realizada difira de 0,5%. Trata-se de uma meta de risco, não de uma perda máxima garantida.

Figura 2. Os níveis de stop são baseados no ATR; o EA não possui meta de lucro fixa.
4. Entradas e valores padrão
| Parâmetro | Padrão | Significado |
|---|---|---|
| SignalTimeframe | PERIOD_H4 | Intervalo de tempo utilizado para os sinais. |
| Fator do Supertrend | 3,0 | Multiplicador ATR utilizado pelo Supertrend. |
| SupertrendATRPeriod | 10 | Período do ATR para o Supertrend e o stop inicial. |
| ADXPeriod | 14 | Período de cálculo do ADX/DMI. |
| ADX de entrada | 23,0 | ADX mínimo para uma nova entrada. |
| ADX de saída | 18,0 | Nível de ADX abaixo do qual uma posição aberta é encerrada. |
| Múltiplo de ATR para stop | 2,0 | Múltiplo do ATR utilizado para o stop inicial. |
| MaxVolume | 100,0 | Limite máximo de lotes; os limites reais do símbolo continuam válidos. |
| Pontos de Desvio | 20 | Desvio máximo de preço passado para a solicitação de negociação, em pontos. |
| EnableBuy / EnableSell | true / true | Ativar ou desativar cada direção. |
| Número Mágico | 51003 | Identificador usado para localizar a posição gerenciada pelo EA. |
A porcentagem de risco de 0,5% é, atualmente, uma constante fixa no código-fonte, e não um valor inserido pelo usuário.
5. Exemplo de código de sinal MQL5
O trecho a seguir mostra as condições de entrada com barra fechada utilizadas pelo EA:bool long_signal = EnableBuy && direction < 0 && adx >= EntryADX && plus_di > minus_di; bool short_signal = EnableSell && direction > 0 && adx >= EntryADX && minus_di > plus_di; if(long_signal) STOpenPosition(true, bar.close - StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX long", MaxVolume, DeviationPoints); else if(short_signal) STOpenPosition(false, bar.close + StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX short", MaxVolume, DeviationPoints); else if(position != 0 && (adx < ExitADX || (position > 0 && direction > 0) || (position < 0 && direction < 0))) STClosePosition(MagicNumber);
No EA completo, essas condições são executadas somente após a detecção de uma nova barra no período do sinal e após a recuperação bem-sucedida da barra fechada anterior e dos valores do indicador.
6. Instantâneo do backtest na corretora
As figuras a seguir foram extraídas dos relatórios do Testador de Estratégias do MetaTrader 5 fornecidos para o XAGUSD no período H4. Os depósitos iniciais diferem, portanto, o retorno líquido é exibido juntamente com o lucro líquido. A qualidade do histórico de ticks também varia e é particularmente limitada para a Fusion Markets.| Corretora | Fim do período | Depósito inicial | Lucro líquido | Retorno líquido | DD máximo do patrimônio líquido | Fator de lucro | Índice de Sharpe | Operações | Ticks reais |
|---|---|---|---|---|---|---|---|---|---|
| IC Markets | 23/09/2026 | 1.000.000 USD | 154.482,51 USD | 15,45% | 19,40% | 1,12 | 0,50 | 520 | 32% |
| BlackBull Markets | 24/09/2026 | 1.000.000 USD | 225.766,54 USD | 22,58% | 5,00% | 1,45 | 1,00 | 196 | 41% |
| Fusion Markets | 23/09/2026 | US$ 100.000 | 26.680,57 USD | 26,68% | 8,97% | 1,26 | 2,22 | 374 | 4% |

7. Compatibilidade e uso prático
- Plataforma: MetaTrader 5; linguagem de origem: MQL5.
- Anexe o EA ao gráfico do símbolo a ser negociado; o período do sinal é selecionado por SignalTimeframe.
- Não são necessários arquivos externos de indicadores personalizados. O código-fonte utiliza a biblioteca padrão Trade\Trade.mqh e dados ATR/ADX integrados.
- Use um número mágico exclusivo para cada instância do EA. Evite executar outras estratégias ou negociações manuais no mesmo símbolo em contas de compensação, nas quais as posições são agregadas.
- Teste primeiro no Strategy Tester e na conta demo os requisitos específicos da corretora relativos a volume mínimo, tamanho do tick, distância do stop e margem.
Aviso de risco: a negociação automatizada envolve risco substancial. Um stop loss não pode garantir o preço de saída em gaps ou mercados voláteis. Resultados de backtest, conta-demo e históricos não garantem resultados futuros. Você é responsável por avaliar o EA e suas configurações antes do uso.
Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/77718
Turtle Breakout Indicator Tested on Gold: Profitable in 2025 and 2026 (70)
Rupturas do Donchian no estilo Turtle no ouro, seguidas de três saídas simultâneas: um stop móvel baseado no ATR, o canal de saída do Turtle e uma meta fixa. Testado retrospectivamente no XAUUSD em gráficos H1 e H4 nos anos de 2025 e 2026, onde todas as doze combinações foram lucrativas. Sem repintura, com buffers para um Expert Advisor.
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.
ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation
Marca velas de impulso: corpo com tamanho mínimo de ATR x multiplicador, corpo com tamanho mínimo correspondente a uma porcentagem definida da amplitude da vela, fechamento próximo ao extremo, confirmação opcional por volume de ticks. Seta verde abaixo de um impulso de alta, vermelha acima de um de baixa. Apenas barras fechadas, sem repintura. Os sinais estão nos dois buffers para que um Expert Advisor possa lê-los com o iCustom.
PropGuard 1.02 - account risk manager for prop firm accounts
Sistema de proteção no nível da conta para contas de corretoras de hedge. Monitora todas as posições da conta, encerra todas elas ao atingir o limite diário ou o limite máximo de perda, limita o valor em risco por posição, encerra operações que ficaram sem stop e pode neutralizar posições em caso de notícias de alto impacto.