EA Circuit Breaker
- Utilitários
- Versão: 1.0
- Ativações: 10
A maioria das ferramentas de risco atua sobre a conta inteira: um limite é ultrapassado e todos os EAs nela param, até os que não fizeram nada de errado. O EA Circuit Breaker trabalha com um EA de cada vez - linha própria, quatro limites próprios, resultado próprio. Por padrão nada fecha nem para, e a ferramenta não envia nenhuma ordem própria em conta real.
= EA Circuit Breaker
Account 75584608 Hedging JPY
Today -242056.00 Open 4 / 0.27 lots
NAME TODAY OPEN LIMIT STATE
Trend bot -19200.00 0/0.00 -22725.48 [#####-] WARN
Range bot -61250.00 0/0.00 -22725.48 [######] LOCKED
Swing EA -98335.00 0/0.00 -22725.48 [######] LOCKED
Gold scalper -2300.00 1/0.05 -5302.61 [###---] OK
Grid v3 -8180.00 2/0.20 -8711.43 [######] WARN
News EA -12540.00 1/0.02 -7953.92 [######] LOCKED
Selected Gold scalper magic 1720
Gold scalper Alert only
Daily Total Max pos lots
0.70 0.70 0 0.00
e.g. Mon-Fri 08:00-17:00 Link chart
Chart --
Unlock Reset total
Selected Grid v3 magic 1721
1.15 2.40 0 0.00
Warning: 94% of the daily limit used
= EA Circuit Breaker 4 LOCKED
Na linha do Grid v3 o medidor mostra os seis blocos preenchidos, mas o estado ainda é WARN, não LOCKED: o medidor só tem seis degraus e arredonda para cima perto do limite, enquanto o estado é definido pelo próprio limite - a linha de aviso traz o percentual exato já usado. Today é maior que a soma das seis linhas visíveis: esta conta roda mais EAs do que a tabela mostra de uma vez, e Today, assim como a contagem de LOCKED no cabeçalho recolhido, soma cada EA da conta, não só as linhas visíveis. As três primeiras linhas mostram o mesmo limite, enquanto o do Gold scalper é diferente: as três primeiras ainda estão no valor padrão, e o limite de qualquer linha, dividido pelo resultado do dia dessa mesma linha, dá sempre a mesma proporção do saldo - um saldo que nunca aparece na tela. Max pos e lots marcam zero nos dois: esse limite está desligado, não significa "não manter posição", e ambos vêm desligados por padrão. Chart -- indica que ainda não há gráfico vinculado, por isso Stop the chart não está disponível.
Ao iniciar, a ferramenta varre uma vez as posições abertas e os últimos 30 dias de histórico (InpHistoryDays) e cria uma linha para cada número mágico - sem nada para configurar. O nome de uma linha não é digitado: vem do comentário que aquele EA deixou na própria ordem, já que o MetaTrader não guarda nenhuma lista associando números mágicos a nomes. Operações sem número mágico aparecem como Manual / unknown.
Cada linha carrega quatro limites próprios - perda diária, perda total, um número de posições, um total de lotes -, cada um desligável ao deixá-lo em zero. Uma janela de horário no formato Mon-Fri 08:00-17:00 restringe quando um EA pode operar; deixada em branco, significa sempre, e um formato ilegível é sinalizado em vermelho em vez de ignorado.
Três ações, escolhidas por EA. Alert only é a ação padrão (InpDefaultAction): nada fecha, a linha fica vermelha, o motivo é escrito por extenso. Antes da primeira ação automática de cada sessão, o painel pergunta mais uma vez ao longo de toda a sua largura e espera por esse clique (InpConfirmActions). Close and lock fecha as posições daquele EA e cancela suas ordens pendentes, mas não o para: ele continua abrindo, a ferramenta continua fechando o que ele abre, com o custo do spread a cada rodada, e esse número e o custo acumulado ficam no painel e no log. Stop the chart remove aquele EA do terminal de verdade, salvando antes seu modelo de gráfico, mas só depois de vinculado a um gráfico com Link chart - o MetaTrader não guarda esse tipo de correspondência. Ela continua funcionando com o Algo Trading desligado, ao contrário do Close and lock. Manual / unknown só pode ser observado.
Selected News EA magic 1722
News EA Close and lock
1.05 3.70 0 0.00
Mon-Fri 08:00-17:00 Link chart
Chart USDJPY,H1
Daily loss limit reached - this EA is locked
Today -242063.00 Open 3 / 0.25 lots
Ao mudar o News EA para Close and lock, o Open cai exatamente pelo que aquele EA mantinha, enquanto os números do Gold scalper e do Grid v3 não se mexem - só muda o EA sobre o qual se age, e todos os outros continuam operando.
Uma janela de horário se libera sozinha assim que o relógio volta ao intervalo permitido. Perda diária, número de posições e total de lotes se liberam na mesma hora de reinício diário (InpDayResetHour). Um limite de perda total nunca se libera sozinho: exige revisão e duplo clique em Unlock, o que também zera o acumulado. Reset total faz o mesmo apenas com o acumulado, sem tocar em nenhum bloqueio.
Distinguir as operações de um EA das de outro só funciona em conta de hedge; em conta de netting tudo se funde numa única posição por símbolo. A ferramenta verifica o tipo de conta assim que o terminal termina de sincronizar, e volta a checar a cada segundo depois disso; em conta de netting ela passa a apenas observar, o que é mostrado no painel:
Netting account: per-EA actions are disabled
Trades without a magic number are only watched, never stopped
First action of this session - press to allow it
Ela não consegue mandar outro EA parar de operar - o MQL5 não oferece nenhuma função para isso -, só pode continuar fechando o que ele reabre, ou fechar seu gráfico. Ações por EA não estão disponíveis em conta de netting. Com o Algo Trading desligado, o Close and lock não funciona, mas o Stop the chart continua funcionando. Operações manuais são só observadas. Ocupa um gráfico e se recusa a iniciar em um segundo. Dois EAs que compartilham o mesmo número mágico aparecem como uma única linha.
A demonstração gratuita roda dentro do Testador de Estratégias, que só permite um EA - a própria situação para a qual esta ferramenta existe não pode acontecer ali sozinha. Só no testador, ela mesma abre algumas pequenas operações de teste com outros números mágicos para preencher a tabela, com Tester self-test exibido o tempo todo (InpTesterDemo); em conta real ela nunca coloca uma ordem por conta própria. O que o testador não consegue mostrar é um EA bloqueado enquanto os outros seguem operando - para isso é preciso uma conta demo com dois ou três EAs ativos.
Detection: InpHistoryDays InpIncludeManual
Default limits: InpLimitBase InpLimitUnit InpDefaultDailyLimit InpDefaultTotalLimit InpDefaultMaxPos InpDefaultMaxLots InpIncludeFloating InpWarnPercent InpDayResetHour
Action: InpDefaultAction InpConfirmActions InpSaveTemplate InpMaxCloseRetries
Alerts: InpAlertPopup InpAlertPush InpAlertSound
Tester: InpTesterDemo InpMagicSelf
Panel: position, width, font and six colours
Cada linha começa com os limites padrão, então todo EA já está sendo observado desde o primeiro minuto sem nada para configurar. Nomes, limites, janela de horário, ação escolhida, vínculo de gráfico, estado de bloqueio e data de início do acumulado são salvos num arquivo por número de conta, e sobrevivem a uma troca de período gráfico ou a um reinício do terminal. Feito para o MetaTrader 5 e conta de hedge, em um único gráfico livre, sem chamadas de DLL, sem requisições nem arquivos externos.
Esta ferramenta organiza o que já está rodando na conta e, assim que um limite e uma ação são definidos, os aplica ao EA que o ultrapassou e registra o motivo - nunca diz o que negociar nem promete resultado algum. Negociar envolve risco de perda; vale a pena testar primeiro em conta demo.
