Definição primeiro: o que um EA significa no forex
Uma definição de EA normalmente se refere a um componente de negociação automatizada criado para operar dentro de uma plataforma de negociação. No contexto forex, um EA é um software que pode observar entradas relacionadas ao mercado disponíveis na plataforma, aplicar regras de decisão e, em seguida, enviar solicitações de negociação (por exemplo, ordens de entrada e saída). As “considerações avançadas” começam por separar o que é conceitualmente estável do que pode variar conforme o ambiente.
Um modelo simples que é útil para definir um EA sem vinculá-lo a um único provedor é:
- Entradas: dados que a plataforma disponibiliza (preços ou valores derivados), além de parâmetros de configuração escolhidos pelo usuário ou autor.
- Lógica: um processo determinístico ou baseado em regras (frequentemente expresso como condições e cálculos) que decide se deve colocar, modificar ou cancelar ordens.
- Execução: o mecanismo que transforma uma decisão em ordens, incluindo como timing, slippage e tipos de ordens disponíveis se comportam.
- Estado: variáveis persistentes que rastreiam o que aconteceu até o momento (posições abertas, horário da última negociação, limites atingidos).
Ao explicar uma definição de EA, é importante declarar qual parte você está definindo. Por exemplo, definir “automação” não é o mesmo que definir “o comportamento exato de execução”.
Mecânica: as partes que tornam um EA mais do que um conceito
Entradas e premissas
Mesmo definições básicas se tornam ambíguas se as entradas não forem especificadas. Muitos EAs dependem de:
- Séries de preços usadas pela plataforma (por exemplo, fechamento de barra versus atualizações de tick).
- Tratamento de tempo (horário do servidor versus horário local, e o que “início” significa).
- Restrições do instrumento (o que a plataforma permite para um símbolo e se hedging ou netting está habilitado).
Consideração avançada: a definição deve incluir a premissa sobre a granularidade dos dados. Uma regra lógica que aciona “a cada tick” difere de uma que aciona “uma vez por barra”. Sem declarar a premissa de frequência de acionamento, uma definição de EA não pode ser verificada de forma justa.
Estrutura lógica (regras de decisão)
Em uma definição de EA, a lógica é frequentemente expressa como:
- Condições de entrada: quando solicitar uma ordem.
- Condições de saída: quando fechar ou ajustar posições.
- Controles de risco: limites como número máximo de posições abertas, restrições baseadas em tempo ou condições de parada por drawdown.
Um caso extremo importante é que alguns “controles de risco” dependem dos resultados da execução. Por exemplo, se o EA assume que uma ordem será preenchida imediatamente, mas o ambiente atrasa os preenchimentos, um controle baseado em “exposição atual” pode se comportar de maneira diferente do pretendido.
Comportamento de execução (transformando decisões em ordens)
A execução é frequentemente a parte mais variável de uma definição de EA. Ela inclui:
- Tipos de ordens e como são tratados pela plataforma.
- Timing: se a lógica é executada antes ou depois das atualizações de preço.
- Custos: comissões e spreads que alteram os preços efetivos.
- Slippage: diferenças entre os preços de preenchimento esperados e reais.
Consideração avançada: uma definição de EA deve separar explicitamente “lógica de decisão” de “resultados de execução”. Mesmo que a lógica de decisão seja estável, a execução pode produzir resultados líquidos diferentes.
Estado e reentrância
EAs mantêm estado para evitar ações duplicadas ou impor limites. Definições avançadas devem mencionar o tratamento de estado:
- Se o EA armazena carimbos de tempo da “última ação”.
- Se ele verifica posições existentes antes de enviar novas ordens.
- O que acontece se o EA for reiniciado (redefinição de estado) ou se a plataforma reconectar.
Limitação material: premissas de estado podem falhar. Se a definição do EA não considerar o comportamento de reinicialização, ele pode reenviar solicitações ou pular ações pretendidas.
Evidência e exemplo com premissas verificáveis
Como nenhum dado de mercado em tempo real é assumido aqui, o objetivo é mostrar como construir um exemplo que possa ser verificado de forma independente.
Um exemplo verificável de “modelo simples”
Suponha que uma definição de EA inclua estas premissas:
- O EA avalia a lógica uma vez por fechamento de barra.
- A lógica de entrada é uma condição booleana baseada em valores calculados a partir dessa barra.
- Quando a condição se torna verdadeira, o EA envia uma única ordem a mercado.
- O EA armazena um sinalizador de estado para impedir o envio de outra ordem até que uma nova barra qualificada ocorra.
Como isso pode ser verificado:
- Verifique a frequência de acionamento verificando se a lógica é chamada no fechamento da barra ou em atualizações de tick (isso é um detalhe de implementação no ambiente da plataforma).
- Verifique o estado confirmando se o EA impede múltiplas ordens após o primeiro evento qualificado.
- Verifique a independência da execução verificando como a plataforma preenche ordens a mercado sob condições variáveis de spread ou latência.
Caso extremo a incluir na definição do EA: se os spreads se alargarem temporariamente durante o momento do fechamento da barra, o preço líquido de preenchimento pode diferir do que alguém espera com base nos preços médios. Mesmo um acionamento correto não garante resultados semelhantes.
Relações históricas e por que elas não resolvem a definição
Um equívoco comum é que, porque um EA produziu resultados no passado, sua definição deve estar completa. Na verdade, relações históricas não estabelecem resultados futuros. Isso é importante para a definição de EA porque pode ocultar premissas ausentes (por exemplo, dependência de um comportamento do feed de dados que difere posteriormente).
Limitações e riscos a incluir em uma definição de EA
Uma definição sólida de EA deve nomear pelo menos uma limitação material ou modo de falha.
Modo de falha 1: incompatibilidade de ambiente
Backtesting e execução ao vivo frequentemente diferem devido a:
- Qualidade dos dados e alinhamento temporal (spreads diferentes, reconstrução de ticks diferente).
- Premissas de execução (modelagem de preenchimento versus preenchimentos reais).
- Configurações da plataforma (modo de conta, regras de tratamento de ordens).
Limitação material: uma definição que omite detalhes de modelagem de execução pode induzir os leitores a pensar que o mapeamento lógica-para-ordens é idêntico entre ambientes.
Modo de falha 2: ambiguidade de configuração
EAs normalmente exigem parâmetros (entradas), como limites, regras de dimensionamento de posição e janelas de tempo. Considerações avançadas incluem:
- Se as unidades dos parâmetros estão claramente definidas.
- Se os padrões são seguros ou se apenas “funcionam” para uma configuração específica.
- Se os parâmetros interagem (por exemplo, um limitador de frequência de negociação pode sobrepor uma regra de entrada).
Incerteza a declarar: sem premissas explícitas de parâmetros, duas definições de “mesmo EA” podem se referir a comportamentos diferentes.
Modo de falha 3: mudança de regime e sensibilidade a custos
Mesmo que a lógica seja internamente consistente, as condições de mercado e os custos podem mudar:
- Regimes de volatilidade afetam a frequência com que as condições são acionadas.
- Mudanças no spread ou nas comissões afetam a lucratividade líquida.
Limitação: qualquer exemplo que dependa de condições estáveis é frágil. Uma definição deve distinguir o comportamento das regras dos efeitos líquidos após custos.
Verificação e próximas perguntas
Para verificar de forma independente uma definição de EA, concentre-se nestas verificações que não exigem alegações sobre desempenho futuro:
- Verificação de mecânica: confirme a premissa de frequência de acionamento (tick versus fechamento de barra) e a lógica de estado que impede duplicatas.