Percepções de Negociação por Meio do Volume: Confirmação de Tendência
Introdução
Diferenciar entre movimentos reais e falsos do mercado é uma dificuldade constante para os traders nos voláteis mercados financeiros de hoje. Quando confundido com oportunidades genuínas de negociação, o ruído de mercado — caracterizado por oscilações transitórias de preço e rompimentos falsos — pode resultar em perdas significativas. Esse problema é especialmente severo na negociação de rompimentos, onde o sucesso depende de identificar com precisão tendências de preço de longo prazo.
Esta implementação oferece uma abordagem aprimorada de confirmação de tendência que combina ação de preço e análise de volume para superar essas questões. Com base na ideia de que mudanças notáveis no mercado geralmente são acompanhadas por volume de negociação acima da média, o método usa o volume como um critério crucial de validação. Ele ajuda a eliminar sinais enganosos e a encontrar oportunidades de negociação mais confiáveis, exigindo que tanto os rompimentos de preço quanto os aumentos de volume coincidam. Ao garantir que os movimentos de mercado sejam apoiados por atividade de negociação suficiente, essa estratégia de dupla confirmação busca melhorar a qualidade das negociações e aumentar a probabilidade de uma direção de preço persistente.
A Técnica de Confirmação de Tendência Aprimorada
Para construir um sistema de negociação robusto, a Técnica Aprimorada de Confirmação de Tendência combina vários elementos analíticos. Fundamentalmente, a técnica utiliza análise de tendência de preço observando níveis de suporte e resistência para encontrar possíveis oportunidades de rompimento quando a atividade de preço rompe claramente esses limites. Para se ajustar às condições de mercado em mudança, o sistema monitora continuamente os movimentos de preço em vários períodos e determina zonas dinâmicas de suporte e resistência com base no histórico recente de preços.
O método secundário crucial de validação é a confirmação de volume, que requer que o volume de negociação ultrapasse um certo nível acima de sua média móvel para validar um sinal de negociação. Como confirma a intensidade e a possível persistência das flutuações de preço, esse componente de volume é muito importante. Para garantir que o rompimento de preço seja apoiado por atividade substancial de mercado, o método busca especificamente picos de volume de 50% ou mais acima do volume normal de negociação durante uma janela de observação de 20 períodos.
Juntos, esses elementos fornecem um sistema de negociação abrangente. O sistema avalia os dados de volume associados assim que ocorre um rompimento de preço. Somente quando todos esses fatores são atendidos — um rompimento de preço distinto e volume muito maior — a técnica gera um sinal de negociação. Como os movimentos reais do mercado geralmente mostram tanto o momentum do preço quanto o aumento da atividade de negociação, esse método de dupla confirmação ajuda a eliminar rompimentos falsos e configurações de baixa probabilidade. Ao usar níveis dinâmicos de stop-loss e take-profit com base em cálculos do Average True Range (ATR), a estrutura melhora ainda mais o gerenciamento de negociações e garante que o gerenciamento de risco se ajuste à volatilidade do mercado.
Este código implementa uma estratégia de negociação sofisticada que combina três componentes principais da análise técnica para confirmação de tendência. Em sua essência, a estratégia monitora rompimentos de volume que excedem um aumento de 50% sobre a média histórica, calculada ao longo de uma janela de 20 períodos. Essa análise de volume é complementada pela confirmação da ação de preço, onde o sistema identifica níveis de suporte e resistência a partir do histórico recente de preços e valida rompimentos quando o preço fecha além desses níveis.
Uma rede neural LSTM com 32 nós ocultos que examina padrões de volume é usada na técnica para integrar aprendizado de máquina. A cada nova vela, essa rede neural altera suas previsões, adicionando outro nível de verificação aos rompimentos de volume. O algoritmo executa negociações usando dimensionamento de posição baseado em ATR quando todos os três elementos estão alinhados: alto volume, rompimento de preço verificado e validação LSTM.
Implementar gerenciamento de risco é essencial, e níveis dinâmicos de stop-loss e take-profit são definidos usando o Average True Range (ATR). Um bom índice risco-recompensa é produzido definindo o objetivo de take-profit em 3 ATR e o stop-loss em 2 ATR a partir da entrada. Além disso, o sistema possui proteções contra múltiplas posições, garantindo que nunca haja mais de uma negociação ativa.

Implementação da Estratégia
O Expert Advisor usa vários elementos essenciais para executar uma estratégia sistemática de negociação de rompimentos. Para quantificar a volatilidade, o código primeiro configura indicadores ATR e parâmetros de análise de volume. Para evitar processamento duplicado, o método OnTick() atua como o ponto de entrada principal durante a execução, iniciando a análise apenas no início de novos candles de preço.
A lógica principal segue uma árvore de decisão estruturada:
A validação de rompimento de volume por meio de IsVolumeBreakout() verifica se o volume atual excede a média histórica pelo limite especificado (padrão 50%).
bool IsVolumeBreakout() { double currentVolume = iVolume(_Symbol, PERIOD_CURRENT, 1); double avgVolume = 0; for(int i = 1; i <= VOLUME_LOOKBACK; i++) { avgVolume += iVolume(_Symbol, PERIOD_CURRENT, i); } avgVolume = avgVolume / VOLUME_LOOKBACK; ..... return (currentVolume > avgVolume * VOLUME_THRESHOLD); }
A confirmação de rompimento de preço via IsPriceBreakout() analisa a ação de preço recente para identificar rompimentos acima da resistência ou abaixo do suporte.
bool IsPriceBreakout(bool &isLong) { double high[], low[], close[]; ArraySetAsSeries(high, true); ArraySetAsSeries(low, true); ArraySetAsSeries(close, true); if(CopyHigh(_Symbol, PERIOD_CURRENT, 0, 10, high) <= 0) return false; if(CopyLow(_Symbol, PERIOD_CURRENT, 0, 10, low) <= 0) return false; if(CopyClose(_Symbol, PERIOD_CURRENT, 0, 10, close) <= 0) return false; double resistance = high[1]; double support = low[1]; for(int i = 2; i < 10; i++) { if(high[i] > resistance) resistance = high[i]; if(low[i] < support) support = low[i]; } .... if(close[0] > resistance && close[1] <= resistance) { isLong = true; Print("BREAKOUT ALCISTA DETECTADO"); return true; } else if(close[0] < support && close[1] >= support) { isLong = false; Print("BREAKOUT BAJISTA DETECTADO"); return true; } return false; }
A execução da negociação via PlaceOrder() ocorre apenas quando as condições de volume e preço estão alinhadas.
O gerenciamento de risco é integrado por meio de múltiplos mecanismos:
- O dimensionamento de posição é fixado em 0,1 lote por negociação.
- Os níveis de stop-loss são calculados dinamicamente usando multiplicadores de ATR (padrão 2,0 ATR).
- Os alvos de take-profit são definidos em 3,0 vezes o ATR a partir da entrada.
- O sistema impede múltiplas posições simultâneas.
- O requisito mínimo de confirmação de candles (padrão 2 candles) ajuda a evitar rompimentos falsos.
As saídas das negociações são regidas por:
- Níveis predefinidos de stop-loss e take-profit baseados em ATR.
- O limite de posição única garante ciclos limpos de entrada e saída.
- Todos os cálculos usam valores de preço normalizados para manter a precisão entre diferentes instrumentos.
void PlaceOrder(bool isLong) { CTrade trade; double price = isLong ? SymbolInfoDouble(_Symbol, SYMBOL_ASK) : SymbolInfoDouble(_Symbol, SYMBOL_BID); double atr[], close[]; ArraySetAsSeries(atr, true); ArraySetAsSeries(close, true); if(CopyBuffer(atr_handle, 0, 0, 1, atr) <= 0) return; if(CopyClose(_Symbol, PERIOD_CURRENT, 0, 1, close) <= 0) return; double stopLoss = isLong ? price - (atr[0] * SL_ATR_MULTIPLIER) : price + (atr[0] * SL_ATR_MULTIPLIER); double takeProfit = isLong ? price + (atr[0] * TP_ATR_MULTIPLIER) : price - (atr[0] * TP_ATR_MULTIPLIER); stopLoss = NormalizeDouble(stopLoss, _Digits); takeProfit = NormalizeDouble(takeProfit, _Digits); ENUM_ORDER_TYPE orderType = isLong ? ORDER_TYPE_BUY : ORDER_TYPE_SELL; .... if(PositionsTotal() > 0) { Print("Ya hay posiciones abiertas, saliendo..."); return; } if(!trade.PositionOpen(_Symbol, orderType, 0.1, price, stopLoss, takeProfit)) { ... return; } Print("Orden colocada exitosamente. Dirección: ", isLong ? "LONG" : "SHORT"); }
Adaptabilidade e Flexibilidade
O método de validação multicompontente da técnica é o que o torna flexível. Rompimentos de volume em mercados de câmbio podem sugerir a participação de grandes players de mercado, enquanto em ações frequentemente implicam atividade institucional. Esse método funciona particularmente bem para mercados de commodities, já que picos de volume geralmente precedem grandes mudanças de tendência.
Para melhores resultados, é necessária calibração específica de mercado. O limite de volume, atualmente definido em 1,5x, pode precisar ser ajustado em mercados extremamente líquidos, como os principais pares de câmbio, a fim de filtrar ruído. A configuração MIN_CANDLES_CONFIRM torna-se essencial para instrumentos menos líquidos, a fim de evitar rompimentos falsos. O parâmetro HIDDEN_SIZE do componente LSTM deve ser dimensionado de acordo com os padrões usuais de volume do mercado; quanto maior, melhor para mercados mais complexos, como criptomoedas.
O dimensionamento de posição baseado em ATR também oferece adaptação orgânica ao mercado. Os stops e alvos dinâmicos SL_ATR_MULTIPLIER e TP_ATR_MULTIPLIER se adaptam dinamicamente ao perfil de volatilidade de cada instrumento. Por exemplo, grandes índices podem se beneficiar de configurações mais apertadas, enquanto mercados mais voláteis, como ações de small caps, podem se beneficiar de stops mais amplos (multiplicador mais alto).




Com uma estratégia sólida que combina análise de volume, reconhecimento de tendência e previsões de rede neural LSTM, o EA exibe resultados promissores. Embora possa haver espaço para melhorias, a estabilidade da curva de patrimônio indica que o sistema de gerenciamento de risco está operando de maneira eficiente. O componente de lucro relativamente baixo sugere uma estratégia de negociação cautelosa, o que geralmente é benéfico para sustentabilidade a longo prazo.
A capacidade do sistema de manter desempenho estável apesar da complexidade do mercado EURUSD é bastante intrigante. Previsões LSTM, análise de tendência e limite de volume são três variáveis de confirmação que parecem funcionar bem juntas para filtrar sinais incorretos. Um grau adicional de segurança é fornecido pelo uso de reconhecimento de padrões de engolfo e detecção de rompimentos falsos com pin bars.
Há, entretanto, espaço para melhorias. Parece que os critérios de entrada/saída podem ser aprimorados, conforme indicado pela taxa de vitória de cerca de 50%. Usar uma estratégia de saída mais complexa do que a contagem atual de barras e detecção de rompimentos falsos é uma opção. Além disso, adicionar modificações para volatilidade de mercado aos cálculos de limite de volume do sistema pode ser vantajoso.
Embora gerenciáveis, os níveis de drawdown podem ser reduzidos incorporando análise de correlação com outros pares de moedas importantes para evitar sobreposição durante movimentos de mercado fortemente correlacionados ou introduzindo tamanho de posição dinâmico dependendo das condições de mercado.
Um foco na atividade de mercado atual é sugerido pelos tamanhos de entrada muito curtos e períodos de observação da implementação LSTM. Embora isso pareça funcionar de forma eficaz na configuração atual, estender os períodos de observação pode ajudar a identificar tendências de mercado de longo prazo e aumentar a precisão das previsões durante grandes mudanças de tendência.
Embora a estabilidade seja sugerida pelas descobertas da estratégia conservadora de realização de lucros, pode haver oportunidades de escalar posições durante períodos de forte momentum, a fim de otimizar lucros durante condições de mercado especialmente favoráveis.
A arquitetura deste Expert Advisor, que foca em características universais de mercado, como análise de volume e tendências de preço, o torna muito flexível para negociar uma variedade de instrumentos financeiros além de apenas EURUSD.
Como a rede neural LSTM é baseada em flutuações relativas de volume e padrões de preço, e não em fatores específicos de moeda, sua arquitetura é particularmente adaptável. Isso implica que ela pode ser usada com sucesso com outros pares importantes de câmbio, commodities ou até índices de ações onde o movimento de preço é fortemente influenciado pelo volume.
É crucial lembrar que diferentes instrumentos podem exigir ajustes nos períodos de observação e no multiplicador do limite de volume. Por exemplo, devido às suas características distintas de negociação e perfis de volume usuais, pares como USDJPY ou GBPUSD podem precisar de critérios de volume diferentes. Da mesma forma, devido à sua dinâmica de mercado distinta, commodities como ouro ou petróleo podem se beneficiar de períodos de observação estendidos.
Como os padrões de pin bar e engolfo são comuns em todos os mercados financeiros, a técnica de detecção de rompimento falso que os utiliza é amplamente aplicável. No entanto, a eficácia pode variar com base na volatilidade normal de cada instrumento. Limiares mais amplos para identificação de padrões, por exemplo, podem ser necessários para instrumentos mais voláteis.
Embora os resultados atuais de EURUSD ofereçam um ponto de partida sólido, os traders que usam essa abordagem em outros símbolos devem antecipar um período de ajuste para fatores como limites de volume e tamanho da camada oculta LSTM. Uma das vantagens da estratégia é sua flexibilidade, mas é importante perceber que cada mercado tem uma “personalidade” única e características de negociação que devem ser consideradas ao ajustar as configurações de parâmetros.
Pode-se pensar em desenvolver um mecanismo de autoajuste que calibre os parâmetros importantes de acordo com o perfil de volume e o histórico de volatilidade de cada instrumento individual, a fim de alcançar os melhores resultados em diferentes símbolos. Isso aumentaria ainda mais a adaptabilidade e a resiliência da estratégia a vários instrumentos e condições de mercado.








Conclusão
Para resumir, essa abordagem de negociação possui uma série de benefícios sólidos que a tornam um instrumento útil para os participantes do mercado. A estratégia metódica aproveita as tendências e a volatilidade esperadas do mercado, ao mesmo tempo em que reduz a tomada de decisão emocional. Por meio da integração de vários indicadores técnicos e de procedimentos robustos de gerenciamento de risco, a abordagem oferece uma estrutura completa e flexível o suficiente para se ajustar às condições de mercado em mudança. Enquanto possibilita uma participação significativa em tendências lucrativas, as salvaguardas integradas — como diretrizes de dimensionamento de posição e mecanismos de stop-loss — ajudam a proteger o capital durante movimentos de mercado desfavoráveis.
Acima de tudo, os traders precisam entender que este método não é uma tarefa do tipo “configurar e esquecer”. A observação contínua e o ajuste frequente de parâmetros são necessários para o sucesso, a fim de manter a eficácia à medida que as condições de mercado mudam. Os traders devem manter registros detalhados de todas as suas transações, avaliar indicadores de desempenho com frequência e estar prontos para fazer ajustes baseados em dados nos parâmetros de risco, tamanhos de posição e configurações de indicadores. O sucesso a longo prazo depende dessa dedicação à adaptação e ao desenvolvimento constantes.
Recomenda-se que os traders que desejam usar essa técnica comecem com simulação (paper trading) para se familiarizar com o tempo e a mecânica das entradas e saídas. Comece com tamanhos de posição menores quando estiver confortável e, em seguida, aumente-os progressivamente à medida que demonstrar execução consistente. Lembre-se de que nenhuma estratégia é eficaz em todas as condições de mercado; em vez disso, estabeleça regras precisas sobre quando limitar a exposição ou se retirar temporariamente de uma estratégia em circunstâncias negativas. Estabeleça uma prática sólida de análise diária de mercado e siga suas diretrizes estabelecidas, mantendo a flexibilidade para se ajustar às condições em evolução. No fim das contas, a execução focada e a modificação rigorosa da abordagem, com base em uma análise detalhada dos resultados, é o que leva ao sucesso.| Arquivo | Diretório raiz para salvar os arquivos |
|---|---|
| .mqh | Salve este ML em MQL5/Include/ lembre-se de modificar o EA para que o diretório raiz corresponda |
| .mq5 | Salve este EA em MQL5/Expert/ |
Traduzido do Inglês pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/en/articles/16573
Aviso: Todos os direitos sobre esses materiais pertencem à MetaQuotes Ltd. É proibida a reimpressão total ou parcial.
Esse artigo foi escrito por um usuário do site e reflete seu ponto de vista pessoal. A MetaQuotes Ltd. não se responsabiliza pela precisão das informações apresentadas nem pelas possíveis consequências decorrentes do uso das soluções, estratégias ou recomendações descritas.
Aplicação da teoria dos jogos em algoritmos de trading
Arbitragem de swap no Forex: Montando uma carteira sintética e criando um fluxo estável de swaps
Redes neurais em trading: Detecção Adaptativa de Anomalias de Mercado (DADA)
Arbitragem no trading Forex: Análise dos movimentos de moedas sintéticas e seu retorno à média
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Confira o novo artigo: Insights de negociação por meio do volume: Confirmação de tendência.
Autor: Javier Santiago Gaston De Iriarte Cabrera
Olá, Javier
Obrigado pelo EA baseado em " ao usar uma rede neural LSTM para confirmação adicional".
No entanto, não encontrei onde e como você usou a confirmação adicional acima no EA.
Você poderia explicar melhor, por favor?
O autor está banido no momento (não sei por quanto tempo) e não poderá responder a você.
Obrigado pela atualização @Fernando Carreiro
Eu só estava me perguntando por que o nome dele estava riscado.
Olá, Javier
Obrigado pelo EA baseado em " ao usar uma rede neural LSTM para confirmação adicional".
No entanto, não encontrei onde e como você usou a confirmação adicional acima no EA.
Você poderia me explicar melhor, por favor?
Parece que o EA cria o objeto de previsão de volume com VolumePredictor *volumePredictor; e, posteriormente, chama volumePredictor.UpdateHistoricalData(volumes); para atualizar a previsão. Mas não consigo encontrar nenhuma chamada para volumePredictor.PredictNextVolume();