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
Bibliotecas

PropFirm Defense - biblioteca para MetaTrader 5

Bruno Nunes Myrrha Ribeiro
Bruno Nunes Myrrha Ribeiro
“Mathematics controls the risk, robustness validates the strategy, decorrelation builds the portfolio, and management guarantees survival.” (Bruno Myrrha)
| Portuguese English Русский 中文 Español Deutsch 日本語 한국어 Français Italiano Türkçe
Visualizações:
14
Avaliação:
(3)
Publicado:
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Uma conta de empresa de negociação opera sob um segundo conjunto de regras que o MetaTrader 5 desconhece: um limite máximo de perda calculado a partir de um saldo inicial fixo, um limite diário que é reiniciado a uma hora que não coincide com o relógio da corretora, um teto de consistência de pagamentos, um número mínimo de dias de negociação, um período de restrição de notícias e um corte às sextas-feiras. Quebre o primeiro conjunto de regras e você perde uma operação. Quebre o segundo e você perde a conta.

Esta biblioteca é a forma-fonte do mecanismo de proteção por trás disso. Ela é compilada em qualquer EA, verifica oito regras em um instantâneo congelado da conta a cada passagem e reporta, no máximo, uma diretriz a partir disso — nunca oito reações separadas a um único momento ruim. Ela não assume nenhuma posição por conta própria.

PropFirm Defense — o sistema de proteção e o que ele monitora

O que há no arquivo

24 arquivos de cabeçalho (.mqh), uma classe de fachada (CPropRulebook) e um Expert Advisor de demonstração (PropFirmDefense.mq5) que conecta a fachada a um painel no gráfico. A demonstração também está publicada e compilada como um produto gratuito no Market: PropFirm Defense. Esta entrada no CodeBase é o mesmo mecanismo de proteção na forma de código-fonte, para leitores que preferem as classes em vez do binário.

O que ele verifica

  • Oito regras em cada passagem — drawdown estático, drawdown móvel, perda diária, meta de lucro, consistência de pagamentos, número mínimo de dias de negociação, blackout de notícias e saldo zero no fim de semana.
  • Um piso móvel que se comporta como na realidade — ele aumenta com o pico e, em seguida, congela permanentemente assim que o saldo atinge o valor inicial mais o trailing, da mesma forma que as contas com drawdown móvel realmente funcionam.
  • A reinicialização diária ocorre no fuso horário da empresa, e não à meia-noite da corretora, de modo que uma perda registrada em qualquer um dos lados do limite seja contabilizada no dia correto.
  • As regras de pagamento nunca fecham uma posição. Um problema de consistência ou de número mínimo de dias retém uma retirada, mas não coloca a conta em risco; por isso, o sistema de proteção apenas o reporta, em vez de agir sobre ele.

O mesmo painel em três estados: dentro dos limites, dentro da zona tampão, violação

Como funciona

  • Uma observação por passagem, compartilhada por todas as regras, e no máximo uma diretiva resultante dela. Oito regras violadas ao mesmo tempo geram uma ação, não oito.
  • Funciona em conjunto com qualquer coisa — qualquer EA, negociação manual ou sinal copiado na conta. Não assume nenhuma posição por conta própria.
  • O estado é mantido após uma reinicialização. A âncora, o orçamento consumido e os bloqueios são mantidos, de modo que uma reinicialização do VPS não repõe a margem de drawdown.
  • Cada limite pode ser definido por você, na caixa de diálogo “Entradas”, com predefinições para estilos comuns de corretoras como ponto de partida.

As estatísticas da conta já são calculadas pelo guarda, no gráfico

Arquitetura, para leitores que desejam reutilizar os componentes

CPropRulebook é a única classe de que o chamador precisa. Ela é composta por:

  • CPropSnapshotBuilder — congela um instantâneo da conta por passagem (patrimônio líquido, saldo, posições, P/L flutuante) para que todas as regras avaliem os mesmos números.
  • CRuleRegistry + CRuleCoordinator — mantêm as oito implementações de IPropRule e transformam vários veredictos em, no máximo, uma diretiva.
  • CProtectiveActionExecutor — a única classe autorizada a alterar uma posição, e apenas para liquidá-la em caso de violação.
  • CGuardStateStore — mantém o piso mínimo, os orçamentos consumidos e os bloqueios mesmo após a reinicialização do terminal.
  • CTerminalAlgoSwitch — um atuador opcional para o botão global “Algo Trading” do terminal. Ele opera com desempenho reduzido em vez de recusar a inicialização quando a chamada WinAPI necessária não está disponível (compilação Market, Linux/Wine ou AllowDllImport=0).

Não é uma estratégia

Isso não decide quando entrar e não faz nenhuma afirmação sobre lucratividade. Responde a duas perguntas para qualquer operação que seja realizada: posso abrir essa posição agora? E há algo nesta conta que esteja atualmente em violação?

Limitações, declaradas desde o início

  • Os valores predefinidos são um ponto de partida, não um contrato. Os regulamentos das corretoras de capital próprio mudam e variam de acordo com o programa e o nível. Verifique cada limite em relação ao seu próprio contrato.
  • A regra de notícias requer o calendário econômico do terminal. Ela se abstém quando o calendário não está disponível, o que é o caso no Strategy Tester.
  • O CTerminalAlgoSwitch importa o user32.dll quando compilado sem a opção de compilação para mercado (PROP_MARKET_BUILD, ativada por padrão na demonstração em anexo). Se você compilar seu próprio ponto de entrada e precisar do caminho sem DLL (regras de mercado, AllowDllImport=0 ou uma plataforma sem WinAPI), defina essa macro antes da inclusão.

Conteúdo educacional, não é aconselhamento financeiro. A negociação envolve risco de perda.

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

Range compression percentile Range compression percentile

Classifica a variação acumulada do período atual em relação à distribuição histórica completa das variações passadas — um percentil real, e não apenas uma comparação com a média, como no ADR% — e sinaliza compressão ou expansão estatística em um painel compacto e em tempo real, com um indicador de percentil.

MT5 Symbol Changer Profit Display MT5 Symbol Changer Profit Display

O EMTOrdersUtility é um utilitário de monitoramento de negociações em tempo real e troca de símbolos, desenvolvido para traders ativos que buscam visibilidade em tempo real de suas posições abertas em diversos instrumentos financeiros.

GDS Renko Replay Trainer GDS Renko Replay Trainer

O GDS Renko Replay Trainer é uma ferramenta educacional gratuita para praticar decisões manuais em gráficos Renko históricos no MetaTrader 5. Carregue um intervalo histórico, reproduza-o em tempo real e realize operações virtuais de COMPRA ou VENDA. Você pode pausar, avançar um tick ou passar para o próximo bloco Renko concluído. Cada posição virtual possui um stop loss e um take profit, e o treinador registra os resultados da sua sessão. A ferramenta constrói blocos Renko de tamanho fixo a partir de ticks históricos de Bid/Ask, com uma reversão clássica de dois blocos. Os ticks futuros não são usados para traçar o gráfico visível nem para executar operações virtuais. As operações de compra usam o Ask para entrada e o Bid para saída; as operações de venda usam os lados opostos. As ordens inseridas no painel aguardam o próximo tick válido reproduzido. Os stops e as metas são verificados a cada tick, incluindo lacunas de preço.

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.