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:
- 16
- Avaliação:
- Publicado:
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
PropGuard 1.02 — gerenciador de risco no nível da conta para contas de empresas de negociação proprietária
Uma única instância em qualquer gráfico monitora todas as posições da conta, independentemente de terem sido abertas por um EA ou por negociação manual, e encerra todas elas antes que o limite diário ou máximo de perda da empresa seja atingido. A versão 1.02 adiciona limites de tamanho em valor monetário, uma exigência de stop-loss e um limite de risco por posição.
Por que a versão 1.02: números da minha própria conta
Eu opero manualmente uma conta FTMO de 100 mil, paralelamente aos meus próprios EAs. Quatro dias do meu diário de operações (46 operações manuais) mostraram duas coisas que os limites de perda diária e máxima, por si só, não detectam:
- 17 negociações foram encerradas sem um stop loss. A mais longa durou 2 horas e 22 minutos.
- Uma operação de 18 lots no GER40 teve um stop de 94 pontos e resultou em perda de 1.933 — cerca de dois terços do limite diário de 3%, em uma única operação.
A captura de tela reproduz ambas as situações no Strategy Tester (uma versão exclusiva para testes abre as duas operações; o código de proteção é o que está anexado aqui), com InpRequireStopLoss definido como true, InpMaxRiskPerPos em 750 e os limites de tamanho desativados para que apenas as regras de stop sejam aplicadas: o stop de 18 lotes é reduzido para o limite de 750 de uma só vez, e os 8 lotes sem stop são fechados após 62 segundos.
O que ele faz
Perda diária. No horário de reinicialização (padrão 01:00 no servidor, o que corresponde a 00:00 CET na FTMO), ele registra o patrimônio líquido. Se o patrimônio líquido cair mais do que InpDailyLossPct do InpInitialBalance durante o dia, todas as posições são fechadas, as ordens pendentes são excluídas e, com InpBlockAfterBreach, qualquer nova posição é fechada novamente até a próxima reinicialização. Defina o limite abaixo da regra da empresa: 4% para uma regra de 5%, 2,5% para uma regra de 3%, para que haja margem para slippage no momento do fechamento.
Perda máxima. Três maneiras de medi-la (InpMaxLossMode):
- estática: a partir do saldo inicial (avaliações clássicas em duas etapas),
- trailing: a partir do maior patrimônio líquido registrado, atualizado a cada tick,
- saldo diário móvel: a partir do maior saldo registrado na reinicialização diária. É assim que o Desafio de 1 Etapa da FTMO recalcula seu limite mínimo à meia-noite, e esse limite nunca diminui.
O mecanismo de proteção é acionado no InpMaxLossPct (padrão de 8% para uma regra de 10%).
Os limites de tamanho são em dinheiro, não em lotes. Um limite por lote não faz sentido entre instrumentos: 15 lotes de um CFD de índice a 25.000 valem cerca de 430.000, 15 lotes de outro índice a 7.700 valem cerca de 115.000, 15 lotes de EURUSD valem cerca de 1.750.000. O PropGuard calcula cada posição como lotes x preço atual x valor de um ponto por lote, na moeda da conta, e compara isso:
- InpMaxNotionalPerPos: uma única posição cujo valor ultrapasse esse valor é encerrada.
- InpMaxNotionalTotal: quando o valor total de todas as posições abertas somadas for maior do que esse valor, a posição mais recente é fechada, depois a segunda mais recente, e assim por diante, até que o limite seja respeitado.
Por que dinheiro: uma variação de 1% contra uma exposição de 300.000 equivale a 3.000, independentemente do símbolo. Se o limite diário for 3.000, esse é o número a ser definido. O antigo InpMaxLotsPerPos ainda está disponível (0 = desativado) para quem quiser um limite de lotes também.
Requisito de stop-loss. Com o InpRequireStopLoss, qualquer posição que ainda não tenha um stop-loss após InpStopGraceSeconds desde que foi aberta é fechada. Sessenta segundos são suficientes para inserir um.
Limite de risco por posição. InpMaxRiskPerPos é o valor máximo que uma posição pode arriscar entre seu preço de abertura e seu stop loss. Se um stop arriscar mais do que isso, o PropGuard o ajusta para a distância que arrisque exatamente o limite. Se o mercado já tiver ultrapassado essa distância no momento da verificação, a posição é encerrada. O limite é na moeda da conta, portanto, também se aplica a todos os instrumentos. Posições cujo stop já esteja em lucro não são alteradas.
Informações sobre o melhor dia. Com o InpBestDayInfo, o log mostra, a cada reinicialização, o dia mais lucrativo como porcentagem da soma de todos os dias positivos. A regra de 1-Step da FTMO exige que essa porcentagem seja de, no máximo, 50% quando o desafio for aprovado. Apenas para informação, sem ação.
Além disso: uma janela de negociação e um fechamento às sextas-feiras (horário do servidor), um filtro de notícias de alto impacto do calendário econômico do MT5, um número mágico a ser excluído, notificações push a cada ação e um log em CSV por conta em MQL5/Arquivos. O estado (início do dia, sinalizador de violação, saldo diário mais alto) é mantido nas variáveis globais do terminal; assim, uma reinicialização após uma violação não reativa a negociação antes da próxima reinicialização.
Entradas
- InpInitialBalance — valor da conta ao qual as porcentagens se referem.
- InpDailyLossPct, InpMaxLossPct, InpMaxLossMode — os dois limites e como a perda máxima é calculada.
- InpResetHour, InpResetMinute — a reinicialização diária da empresa no horário do servidor.
- InpMaxLotsPerPos, InpMaxNotionalPerPos, InpMaxNotionalTotal — limites de tamanho (0 = desativado).
- InpRequireStopLoss, InpStopGraceSeconds — exigência de stop-loss.
- InpMaxRiskPerPos — limite de risco por posição na moeda da conta (0 = desativado).
- InpBestDayInfo — índice do melhor dia no log.
- InpCloseOnBreach, InpBlockAfterBreach — o que ocorre em caso de violação.
- InpUseWindow, InpWindowStartHour, InpWindowEndHour, InpFridayClose, InpFridayCloseHour — regras de horário.
- InpUseNewsFilter, InpNewsCurrencies, InpNewsMinutesBefore, InpNewsMinutesAfter — janela de notícias.
- InpPushAlerts, InpMagicToIgnore.
Exemplo, FTMO 1-Step 100k (3% ao dia, 10% de trailing, melhor dia 50%): InpInitialBalance 100000, InpDailyLossPct 2,5, InpMaxLossPct 8, InpMaxLossMode saldo diário com trailing, InpResetHour 1, InpMaxNotionalPerPos 300000, InpMaxNotionalTotal 450.000, InpRequireStopLoss true, InpMaxRiskPerPos 750, InpBestDayInfo true.
Exemplo, 2 etapas, 200 mil (5% diário, 10% estático): InpInitialBalance 200.000, InpDailyLossPct 4, InpMaxLossPct 8, InpMaxLossMode estático, InpResetHour 1.
Observações. No Testador de Estratégias, o EA abre e fecha uma posição com lote mínimo no início para que a lógica de fechamento possa ser observada em funcionamento; em uma conta real ou de demonstração, ele nunca abre nenhuma posição. O testador não possui calendário econômico, portanto, o filtro de notícias fica inativo nesse ambiente. As regras de horário utilizam a hora do servidor; verifique a hora de redefinição após uma mudança de horário de verão, pois a meia-noite da corretora e o relógio do servidor nem sempre mudam na mesma data.

Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/77710
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.
Stormbreaker ADX - Supertrend and DMI Trend EA
Expert Advisor para o MetaTrader 5 que segue tendências, combinando a direção do Supertrend com a confirmação do ADX e do DI. Utiliza um stop loss baseado no ATR e arrisca até 0,5% do patrimônio por operação.
NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias
Painel de negociação manual arrastável no gráfico, com tendência em múltiplos intervalos de tempo, sugestões de SL/TP com base no ATR, um trailing stop e opções de COMPRA/VENDA/FECHAR TUDO com um clique.
Gold Breakout EA for XAUUSD H4 +90 Percent in a 2020 to 2026 Backtest
Um EA de breakout no estilo Turtle para o ouro. Ele compra quando uma barra H4 fecha acima da máxima de 20 barras em uma tendência de alta, com um stop de 2 ATR e uma meta de 2R. Testado retrospectivamente no XAUUSD de janeiro de 2020 a setembro de 2026: +9.029,72 com 10.000 e risco de 1%, fator de lucro de 1,77, drawdown máximo de 11,38%, 6 dos 7 anos lucrativos.
