BreakEvenTrailingMarket
- Utilitários
- Versão: 1.0
BreakEven Trailing é um utilitário para MetaTrader 5 que gerencia o stop loss das posições que você já tem abertas. Ele move o stop loss para o ponto de equilíbrio e o arrasta atrás do preço, para que você não precise acompanhar o gráfico o tempo todo para proteger um lucro em aberto.
O EA não abre posições e não fecha posições com ordens a mercado. Ele apenas modifica o stop loss de posições existentes. A saída acontece quando o preço atinge o stop loss colocado pelo EA.
O QUE ELE FAZ
- Move o stop loss para o preço de abertura, ou para o preço de abertura mais um deslocamento escolhido, quando a posição atinge um lucro definido em pips.
- Arrasta o stop loss a uma distância fixa atrás do preço atual quando a posição atinge um lucro definido em pips.
- O ponto de equilíbrio e o trailing podem ser ativados ou desativados separadamente e podem ser usados juntos.
- Funciona com posições BUY e SELL.
- Nunca move um stop loss existente para um nível pior. O stop loss só se move na direção que protege mais lucro.
- Mantém o take profit existente inalterado ao modificar o stop loss.
- Mostra no gráfico as configurações atuais, o tipo de conta e o estado de funcionamento.
QUAIS POSIÇÕES SÃO GERENCIADAS
O EA gerencia todas as posições do símbolo do gráfico em que está anexado.
- Números mágicos não são verificados. Posições abertas manualmente, por outro EA ou por cópia de operações são todas gerenciadas.
- Posições de outros símbolos nunca são modificadas.
- Ordens pendentes nunca são modificadas.
- Apenas o stop loss é alterado. Volume, take profit e direção da posição permanecem como estão.
Como o EA não filtra por número mágico, não execute ao mesmo tempo dois programas que modifiquem o stop loss do mesmo símbolo, pois eles se sobrescreveriam. Anexe o EA a um único gráfico por símbolo.
CONTAS HEDGING E NETTING
Em uma conta hedging, cada posição é gerenciada separadamente pelo seu ticket. Duas posições do mesmo símbolo podem ter níveis de equilíbrio diferentes, porque cada uma tem seu próprio preço de abertura.
Em uma conta netting, a plataforma mantém uma única posição agregada por símbolo. Várias execuções são combinadas em uma posição com preço médio de abertura, e esse preço médio é a referência do ponto de equilíbrio. Em uma conta netting não é possível ter níveis de equilíbrio separados por execução, e uma nova execução altera o preço médio de abertura de toda a posição. O EA lê a posição agregada atual a cada tick, portanto sempre trabalha com o preço médio mais recente.
O tipo de conta detectado é exibido no painel do gráfico como Hedging ou Netting.
COMO O STOP LOSS É ESCOLHIDO
Quando o ponto de equilíbrio e o trailing estão ativados, as duas condições podem ocorrer ao mesmo tempo. Nesse caso o EA não envia duas solicitações de modificação. A cada tick ele executa os seguintes passos:
1. Calcula o candidato de equilíbrio: preço de abertura mais ou menos o deslocamento na direção do lucro.
2. Calcula o candidato de trailing: preço atual menos ou mais a distância de trailing.
3. Arredonda cada candidato para o passo de preço do símbolo, sempre para o lado que não aproxima o stop loss do preço atual mais do que o solicitado.
4. Verifica cada candidato separadamente em relação ao stops level e ao freeze level do símbolo.
5. Compara os candidatos válidos e envia apenas aquele que protege mais lucro: o stop loss mais alto para uma posição BUY e o mais baixo para uma posição SELL.
Se um candidato não puder ser colocado por uma restrição da corretora, o outro é usado quando é válido. Um candidato nunca é substituído por um nível pior para forçar a modificação.
RESTRIÇÕES DA CORRETORA
Muitas corretoras não aceitam um stop loss muito próximo do preço atual, e algumas bloqueiam a modificação da posição enquanto o preço está dentro de uma zona de congelamento. O EA verifica o stops level e o freeze level antes de enviar a solicitação e também lê o código de retorno do servidor de negociação depois de enviá-la.
Quando o stop loss não pode ser colocado, o EA aguarda e tenta novamente no próximo tick. Ele não move o stop loss para um nível pior nem desativa a função. O motivo é exibido no painel do gráfico, para que você veja se o EA está aguardando o mercado ou se o servidor recusou a solicitação.
Observe que algumas corretoras informam stops level igual a zero e ainda assim aplicam uma restrição dinâmica no lado do servidor. Nesse caso o resultado final é decidido pelo código de retorno do servidor, que o EA mostra no painel e no registro.
PARÂMETROS DE ENTRADA
Ponto de equilíbrio
- Enable break-even (padrão true). Ativa ou desativa a função de equilíbrio.
- Profit to trigger break-even, in pips (padrão 10.0). Lucro flutuante que a posição precisa atingir antes de o stop loss ser movido.
- Offset beyond open price, in pips (padrão 0.0). Distância a partir do preço de abertura na direção do lucro. Use para cobrir spread, comissão e swap.
Trailing stop
- Enable trailing stop (padrão true). Ativa ou desativa a função de trailing.
- Profit to start trailing, in pips (padrão 15.0). Lucro flutuante necessário para iniciar o trailing.
- Distance from price to stop, in pips (padrão 10.0). Distância mantida entre o preço atual e o stop loss durante o trailing.
Painel do gráfico
- Show settings and status on chart (padrão true).
- Panel font size (padrão 12). Os valores são limitados ao intervalo de 8 a 24.
Os valores são validados quando o EA inicia. Se um valor não puder funcionar, o EA informa e não inicia. Se uma combinação for permitida, mas incomum, o EA inicia e escreve um aviso no registro. São dois casos: um deslocamento maior que o gatilho de equilíbrio, o que significa que o stop loss só poderá ser colocado depois que o preço avançar mais, e um início de trailing menor que a distância de trailing, o que significa que o primeiro stop de trailing pode ficar pior que o preço de abertura.
PAINEL DO GRÁFICO
O painel mostra a versão, o símbolo, o tipo de conta, o estado das duas funções com suas configurações, o número de posições BUY e SELL gerenciadas, o número de modificações feitas no tick atual e o estado atual.
Valores de estado:
- ACTIVE: o EA está monitorando posições.
- WAITING: NO POSITION: não há posição no símbolo atual.
- WAITING: NO QUOTE: ainda não há bid e ask válidos.
- WAITING: STOP LEVEL: o stop loss candidato está mais próximo do preço do que a corretora permite.
- BLOCKED: FREEZE LEVEL: o preço está dentro da zona em que a corretora não permite modificação.
- WAITING: MARKET CLOSED, WAITING: PRICE OFF, WAITING: PRICE CHANGED, WAITING: TOO MANY REQUESTS: condições temporárias de mercado ou do servidor.
- ALL FUNCTIONS OFF: as duas funções estão desativadas.
- AUTO TRADING OFF, EA TRADING DISABLED, ACCOUNT TRADE DISABLED, EXPERT TRADE DISABLED, SERVER AUTO TRADING OFF, DISCONNECTED: a negociação não é permitida no terminal, para este EA ou nesta conta, ou o terminal não está conectado.
- ERROR: INVALID STOPS, ERROR: TRADE DISABLED, ERROR: SYMBOL SETTINGS, ERROR: MODIFY FAILED: a solicitação foi recusada. O código de retorno é gravado no registro.
Erros repetidos no mesmo ticket são gravados no registro apenas na primeira ocorrência, quando o código de retorno muda e, depois disso, uma vez por minuto, para manter o registro legível. Quando uma posição se recupera após um erro, é gravada uma linha de recuperação.
DEFINIÇÃO DE PIP E SÍMBOLOS SUPORTADOS
Todas as distâncias são definidas em pips, não em pontos.
- Símbolos cotados com 3 ou 5 dígitos: um pip equivale a dez pontos.
- Símbolos cotados com 2 ou 4 dígitos: um pip equivale a um ponto.
Essa definição segue a cotação padrão do mercado de câmbio. Metais, índices e criptomoedas estão fora do escopo suportado da versão 1.00, porque a definição de pip para esses instrumentos não é consistente entre corretoras. Nesses símbolos o cálculo ainda funcionaria, mas o significado de um pip pode não corresponder à sua expectativa, portanto verifique as distâncias resultantes em uma conta demo antes de usar.
O QUE SIGNIFICA PONTO DE EQUILÍBRIO AQUI
Ponto de equilíbrio neste EA significa o preço de abertura da posição registrado pela plataforma. Ele não inclui comissão, swap, deslizamento nem a diferença entre bid e ask no momento da saída. Portanto, uma posição fechada exatamente no preço de abertura não garante um resultado exatamente igual a zero.
Se quiser que o stop loss cubra seus próprios custos de operação, defina o deslocamento além do preço de abertura com um valor compatível com esses custos na sua conta.
COMO USAR
1. Anexe o EA ao gráfico do símbolo que deseja gerenciar. Use o período gráfico que preferir; o EA trabalha a cada tick e não depende do período.
2. Ative a negociação algorítmica no terminal.
3. Defina os valores de gatilho e distância em pips de acordo com seu estilo de operação e a amplitude típica do símbolo.
4. Verifique se o painel mostra ACTIVE enquanto há uma posição aberta e WAITING: NO POSITION quando não há.
5. Abra um gráfico por símbolo. Não anexe o EA duas vezes ao mesmo símbolo.
O EA pode ficar permanentemente no gráfico. Ele não faz nada enquanto não houver posição no símbolo.
REQUISITOS
- MetaTrader 5. Testado na build 5836 do terminal.
- Negociação algorítmica ativada no terminal e para o EA.
- Uma conta que permita modificar o stop loss de posições abertas.
- Não são usados DLL, WebRequest, arquivos externos nem conexão com a internet.
TESTES
A versão 1.00 foi testada em uma conta demo de uma corretora de varejo.
- Testes de cálculo: 46 verificações automáticas aprovadas. Elas cobrem BUY e SELL, equilíbrio, trailing, as duas funções juntas, o tick anterior ao gatilho e o gatilho exato, um candidato violando o stops level e ambos os candidatos violando, a proteção de um stop loss existente, o freeze level aplicado ao stop loss e ao take profit, símbolos com 2, 3, 4 e 5 dígitos e o arredondamento para o passo de preço na direção correta.
- Teste de integração com a API de negociação em conta hedging: equilíbrio para BUY e para SELL executado com código de retorno 10009 (solicitação concluída), take profit existente preservado e nenhuma solicitação com falha. Foram processados cerca de 360.000 ticks.
PERGUNTAS FREQUENTES
O EA abre ou fecha operações?
Não. Ele apenas modifica o stop loss de posições que já existem. A posição é fechada pela corretora quando o preço atinge esse stop loss.
Funciona com operações de outro EA ou de um sinal?
Sim. Números mágicos não são verificados, então qualquer posição do símbolo é gerenciada. Por esse motivo, não o utilize junto com outro programa que modifique o stop loss do mesmo símbolo.
O que acontece se o terminal estiver fechado?
O EA não funciona com o terminal fechado. Os níveis de stop loss já colocados permanecem no servidor e continuam válidos, porque são ordens do lado do servidor.
Posso usar o equilíbrio sem o trailing?
Sim. Cada função tem seu próprio interruptor. Se as duas estiverem desativadas, o EA fica inativo e mostra ALL FUNCTIONS OFF.
Por que o stop loss não se move mesmo com o lucro atingido?
O motivo mais comum é uma restrição da corretora. Verifique o painel: WAITING: STOP LEVEL significa que o stop loss solicitado está mais próximo do preço do que o permitido, e o EA aguarda uma distância válida em vez de colocar um stop pior.
Funciona em conta netting?
Sim. Em uma conta netting há uma posição agregada por símbolo, e o preço médio de abertura é usado como referência do ponto de equilíbrio.
VERSÃO
1.00 - Primeira versão.
