English Русский Español
preview
Critérios de tendência no trading

Critérios de tendência no trading

MetaTrader 5Negociação |
247 7
Aleksej Poljakov
Aleksej Poljakov

Introdução

Todo trader conhece a frase “A tendência é sua amiga”. De fato, os movimentos de preço em tendência podem gerar bastante lucro. O trading baseado em tendência parte do pressuposto de que o movimento de preço continuará na mesma direção. O principal problema desse tipo de trading é determinar com precisão o início e o fim da tendência.

Hoje em dia, existem muitas abordagens para definir e calcular os parâmetros de uma tendência. Neste artigo, examinaremos os mais interessantes. E tentaremos aplicá-las na prática.


Suavização e tendências

O movimento do preço pode ser representado por um modelo simples. Há um componente determinístico que depende do tempo. A esse componente, soma-se uma parte aleatória, que não depende de nada e se comporta de forma imprevisível. Um dos desafios para o trader é reduzir de alguma forma o impacto desse componente.

Um dos filtros mais simples é a média móvel simples. No entanto, esse indicador tem uma desvantagem séria: ele atrasa. Vamos simular uma tendência e aplicar a ela SMA com período 3.

Tendência 0 1 2 3 4 5
SMA - - 1 2 3 4

Agora vamos tentar eliminar esse atraso. A fórmula da SMA é a seguinte:

Vamos adicionar a ela uma correção igual à variação média do preço por barra:

Vamos observar como mudam os coeficientes do nosso novo indicador:

Um indicador com esses coeficientes irá coincidir exatamente com a tendência. Vamos generalizar esse indicador para qualquer quantidade de preços processados. O cálculo do indicador com período igual a 4 será assim.

Primeiro, encontramos o valor da SMA:

As correções pela variação média do preço agora são duas:

Ou seja, calculamos a variação média do preço em relação ao centro da SMA. Então, a fórmula do indicador será:

A diferença deste indicador em relação à SMA é especialmente perceptível em períodos curtos.

A principal desvantagem dessa abordagem é que não há critérios claros para escolher o período do indicador. O trader precisa escolher esse valor de forma arbitrária, com base em seus próprios critérios.

Vamos tentar construir um indicador que não dependa do período. Suponha que temos uma série temporal V que queremos prever um passo à frente. Para a previsão, usaremos o método mais simples — o que foi, será. Por exemplo, temos um valor inicial de V, então a previsão para um passo à frente será igual a esse valor:

Após surgir um novo valor de V, encontramos a média entre a previsão e V. Esse valor será a previsão para o próximo passo:

Ou seja, a previsão será ajustada à medida que surgem novos valores da série temporal. Esse método de previsão leva à suavização exponencial com coeficiente 0,5.

Agora vamos alterar um pouco a abordagem da previsão. Suponha que a mudança na previsão ocorra com intensidade constante:

Ou seja, todos os valores das previsões pertencem a uma tendência linear. A fórmula do indicador construído com esse princípio será:

Temos um indicador recursivo — para calcular o valor atual do indicador, usamos seus valores anteriores. Mas, nessa forma, ele será instável — um dos coeficientes é igual a 1. Para superar esse problema, aplicamos a mesma recursão a Indicator[i+1]:

O indicador passou a ter duas partes — SMA com período 2 e metade da velocidade do indicador nos registros anteriores. Faremos mais uma modificação para tornar o indicador mais estável:

E assim fica o nosso novo indicador em comparação com a EMA equivalente com período igual a 3.

Infelizmente, eliminar completamente os ruídos é uma tarefa praticamente impossível. Mas isolar o componente de tendência no movimento do preço é totalmente viável. Ambos os indicadores são sensíveis às mudanças nos parâmetros da tendência. Ao mesmo tempo, seu atraso foi reduzido ao mínimo possível. Esses indicadores podem ser usados tanto de forma independente, para suavizar o preço, como também como fonte de dados para outros indicadores.


Critérios de tendência

Os critérios de tendência seriam mais corretamente chamados de critérios de aleatoriedade. O princípio de uso é bem simples. Com o critério, verificamos o quão aleatória é a série de preços. Se o critério nos indicar que a série não é aleatória, então podemos dizer que há uma tendência. Vamos ver quais critérios existem e como eles podem ser usados na análise técnica.

Critério de Abbe. Esse critério se baseia no cálculo da variância por dois métodos distintos. A variância amostral comum é sensível à tendência. Já na variância de Allan, o impacto da tendência tende a zero. Comparando essas variâncias, é possível estimar a contribuição do componente de tendência na variação do preço.

Para aplicação no trading, vou alterar um pouco o cálculo desse critério:

Esse critério apenas indica a presença de uma tendência. A direção da tendência precisa ser determinada por outros meios.

Esse critério pode ajudar a identificar os momentos de reversão da tendência.

Critério dos sinais das primeiras diferenças. Esse critério é muito simples e intuitivo. Pegamos N preços. Dividimos em pares consecutivos, o que dará N-1 pares. Aplicamos a cada par a função de sinais:

Depois disso, obtemos o valor do critério:

O indicador RSI utiliza esse mesmo princípio, apenas calculando separadamente os movimentos de preço para cima e para baixo, sem considerar os sinais.

Essa estatística tem uma desvantagem — ela não leva em conta a ordem de surgimento dos sinais. Ou seja, podemos trocar os preços de lugar e obter o mesmo resultado. Para eliminar essa limitação, podemos atribuir pesos a cada sinal, de acordo com o momento em que ele aparece. Então, o cálculo do critério será assim:

Nesse caso, a sequência de sinais se torna única, e um mesmo resultado só será possível quando duas séries temporais forem semelhantes.

Vamos ver como esse critério pode ser usado na análise técnica. Os valores que podem ser obtidos com esse critério estão dentro de limites bem definidos. A intuição sugere que valores próximos de zero devem ocorrer com mais frequência. Mas é melhor testar isso.

A suposição se confirmou. Em linguagem estritamente técnica: obtivemos uma função empírica de probabilidade. O que podemos tirar dessa função? Podemos extrair os níveis de sobrecompra/sobrevenda. Defini esse nível em 33% — ou seja, o indicador filtra o terço inferior e superior dos valores. O terço que permanece no meio representa a zona de consolidação (flet). E o próprio indicador tem essa aparência:

O critério de sinais é um critério não paramétrico. A principal vantagem desses critérios é sua estabilidade e insensibilidade a mudanças bruscas no preço.

Critério de Kendall. Esse critério também se baseia na função de sinais. Mas a função é aplicada de forma um pouco diferente.

O cálculo desse critério pode ser dividido em duas etapas. Primeiro, para cada preço, encontramos a soma dos sinais em relação a todos os preços anteriores:

Depois, encontramos a soma total desses valores:

Com esse critério, comparamos a quantidade de movimentos de preço para cima e para baixo em todas as combinações de pares de preços. Isso nos permite avaliar com mais precisão a direção e a força da tendência.

Critério de postos de Wald – Wolfowitz. Para calcular esse critério, precisamos saber a classificação (ou posto) de cada preço. O posto é a quantidade de preços que estão abaixo do preço atual. Como exemplo, vou usar 5 valores de preço:

Índice 0 1 2 3 4
Preço 1.05702 1.05910 1.05783 1.05761 1.05657
Posto 1 4 3 2 0

O preço com índice 0 está acima de apenas um preço, o de índice 4. Portanto, o posto desse preço é 1. O preço com índice 1 é maior que todos os demais, e seu posto é 4. Da mesma forma, são calculados os postos de todos os outros preços.

A lógica desse critério é bem simples — se os preços formam uma tendência, então seus postos também estarão ordenados. Mas se os postos estiverem embaralhados sem padrão algum, é sinal de que os preços também estão em desordem. Neste exemplo, os preços estão parcialmente ordenados, o que pode indicar a presença de uma tendência.

O valor desse critério é calculado pela fórmula:

Na essência, esse critério é uma versão robusta da função de autocorrelação. E o indicador baseado nele tem a seguinte aparência:

Critério de Foster – Stewart. Esse critério permite avaliar simultaneamente a presença de tendência tanto nas médias quanto nas variâncias. Ele se baseia na contagem dos recordes superiores e inferiores. Para cada registro de preço, definimos os valores de duas variáveis: H e L.

A variável H é igual a 1 se o preço atual for maior que todos os anteriores. A variável L é igual a 1 se o preço for menor que todos os anteriores. Em todos os outros casos, essas variáveis valem zero. Os parâmetros do critério são calculados assim:

O parâmetro T indica a força e a direção da tendência. O parâmetro D é semelhante ao critério de Abbe e indica apenas a presença da tendência.  Esses parâmetros podem ser usados separadamente ou em conjunto.

Esse critério pode ser modernizado para considerar ambos os parâmetros simultaneamente. Na versão clássica, a tendência é considerada estabelecida quando o valor de T ou D for suficientemente grande (no caso de T, claro, é necessário considerar o valor absoluto). Disso, conclui-se que, na presença de uma tendência, o produto desses parâmetros se afasta ao máximo de zero. Essa abordagem permite detectar as tendências mais fortes.

Agora vamos ver como esses critérios podem ser usados no trading.


Estratégias de negociação

Infelizmente, os critérios de tendência não indicam o início de uma tendência. Eles apenas apontam que a tendência ocorreu. É justamente essa característica que pode ser usada no trading — após uma tendência forte, é possível que haja uma reversão do movimento do preço.

Com base nessa suposição, é possível criar uma estratégia simples. Se o critério de tendência atingir um valor mínimo, então deve-se abrir uma posição de compra (buy). Para abrir posições de venda (sell), o critério deve atingir o valor máximo. Ou seja, os critérios de tendência são utilizados para identificar sobrecompra/sobrevenda. Essa abordagem parece promissora.


A aplicação de filtros adicionais pode melhorar a efetividade da estratégia. Como filtro, pode-se usar o critério de Abbe. Lembrando que esse critério apenas determina a existência de uma tendência. Já a direção da tendência precisa ser determinada por outros meios. Por exemplo, vou determinar a tendência com a ajuda da velocidade média do movimento do preço:

Se o valor obtido estiver acima ou abaixo de um determinado nível, considero que a tendência está confirmada. Para validar essa suposição, utilizo o critério de Abbe. Se o valor dele estiver acima de um certo limite, então a suposição de tendência é verdadeira. A abertura e o fechamento das posições permanecem como no exemplo anterior. O resultado dessa estratégia é o seguinte:


O critério de Foster – Stewart permite avaliar simultaneamente tanto a presença quanto a direção da tendência. Ou seja, esse critério pode servir ao mesmo tempo como sinal e como filtro. O uso desse critério pode gerar os seguintes resultados:


A versão modernizada desse critério permite alcançar outros resultados.


O uso dos critérios de tendência é plenamente justificável, mas envolve algumas dificuldades:

  • Em primeiro lugar, é necessário utilizar filtros adicionais para reduzir o número de sinais falsos.
  • Em segundo, são necessárias regras específicas para o fechamento de posições, a fim de reduzir riscos e proteger o capital.
  • Em terceiro, os critérios de tendência podem ser sensíveis à quantidade de preços analisados. Portanto, pode ser necessário aplicar suavização prévia à série temporal. E, para períodos curtos, a suavização é obrigatória.


Conclusão

Hoje em dia, existem dezenas de critérios de tendência. O uso desses critérios pode ser útil tanto na análise de cenários de mercado quanto na prática de trading.

Durante a elaboração do artigo, foram utilizados os seguintes programas.

Nome Tipo Descrição
tSMA indicador

Versão com tendência da SMA

  • iPeriod - período do indicador, valor mínimo 3
tEMA indicador Versão com tendência da EMA com período 3
Abbe criterion indicador
Critério de Abbe
Criterion Signs indicador Critério dos sinais das primeiras diferenças
scr Criterion Signs script

Script para avaliar a distribuição dos valores do critério de sinais

  • iPeriod - período do critério
  • ScreenShot - permite salvar imagem na pasta Files
Kendall's criterion indicador Critério de Kendall
Foster-Stewart criterion indicador

Critério de Foster – Stewart

  • Type - escolha do parâmetro
  • iPeriod - período do critério
Foster-Stewart criterion I indicador Versão modernizada do critério de Foster – Stewart
Wald-Wolfowitz criterion indicador Critério de Wald – Wolfowitz
EA 3 criterions Expert Advisor

EA que opera com base em 3 critérios

  • Type - escolha do critério
  • Period Criterion - período
  • Criterion level - nível de ativação, valores permitidos de 1 a 49
EA Abbe criterion Expert Advisor
  • Average speed - velocidade média
  • Abbe level - nível do critério, valores permitidos de 1 a 99
EA Foster-Stewart criterion Expert Advisor
  • T level - nível do parâmetro de tendência, valores permitidos de 1 a 49
  • D level - nível do parâmetro de dispersão, valores permitidos de 1 a 99
EA Foster-Stewart criterion I Expert Advisor
  • Level - nível do critério, valores permitidos de 1 a 49

Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/16678

Últimos Comentários | Ir para discussão (7)
Aleksandr Grigorev
Aleksandr Grigorev | 28 dez. 2024 em 16:39
Aleksej Poljakov #:

Vou tentar... Há outros critérios interessantes, inclusive a definição de um ponto de pivô. Preciso descobrir como explicá-los de uma maneira mais simples.

Não sei qual é o problema com o testador, mas estou recebendo isso.

Obrigado, vou tentar. E onde você procura explicações sobre os critérios e mecanismos matemáticos para detectá-los? Parece que são fontes científicas...

Aleksej Poljakov
Aleksej Poljakov | 28 dez. 2024 em 17:35
Aleksandr Grigorev #:

Obrigado, vou tentar. E onde você procura explicações sobre os critérios e mecanismos matemáticos para sua detecção? Parece que são fontes científicas ...

há muita literatura, mas todos os critérios estão, em sua maioria, espalhados aqui e ali. Aqui está uma boa seleção de diferentes critérios

Maksim Galichev
Maksim Galichev | 29 mar. 2025 em 15:52

Estou trabalhando na aplicação prática do critério de tendência de Wald-Wolfowitz descrito em seu artigo. Pelo que entendi, o critério de Wald-Wolfowitz testa a hipótese de aleatoriedade/estacionariedade dos dados. No código de negociação dos Expert Advisors, é importante entender o que exatamente o indicador retorna?

Entendi corretamente que o indicador calcula a probabilidade (em porcentagem) de que a sequência de preços (nesse caso, valores abertos) seja aleatória com base no critério de Wald-Wolfowitz.

O resultado é armazenado no buffer buffer[0] e representa a probabilidade percentual (de 0 a 100).

Quanto mais próximo o valor estiver de 100%, maior será a probabilidade de aleatoriedade (sem tendência).

Quanto mais próximo de 0%, maior a probabilidade de não aleatoriedade (presença de tendência ou agrupamento)?

Lógica de cálculo:

O indicador classifica os valores abertos para um período selecionado (iPeriod) e, em seguida, calcula as estatísticas com base nas classificações e as converte em um valor percentual por meio da CDF (função de distribuição empírica):

buffer[i] = 100. * cdf / cnt; // Porcentagem de probabilidade

Níveis no gráfico:

indicator_level1 = 33 e indicator_level2 = 67 são referências para interpretação:

<33% - forte não aleatoriedade (possível tendência).

>67% - alta aleatoriedade (plana).

Entendi corretamente a interpretação do indicador apresentado em seu artigo?

Aleksej Poljakov
Aleksej Poljakov | 29 mar. 2025 em 17:24
Maksim Galichev #:

Estou trabalhando na aplicação prática do critério de tendência de Wald-Wolfowitz descrito em seu artigo. Pelo que entendi, o critério de Wald-Wolfowitz testa a hipótese de aleatoriedade/estacionariedade dos dados. No código de negociação dos Expert Advisors, é importante entender o que exatamente o indicador retorna?

Entendi corretamente que o indicador calcula a probabilidade (em porcentagem) de que a sequência de preços (nesse caso, valores abertos) seja aleatória com base no critério de Wald-Wolfowitz.

O resultado é armazenado no buffer buffer[0] e representa a probabilidade percentual (de 0 a 100).

Quanto mais próximo o valor estiver de 100%, maior será a probabilidade de aleatoriedade (sem tendência).

Quanto mais próximo o valor estiver de 0%, maior a probabilidade de não aleatoriedade (presença de uma tendência ou agrupamento)?

Lógica de cálculo:

O indicador classifica os valores abertos para um período selecionado (iPeríodo) e, em seguida, calcula as estatísticas com base nas classificações e as converte em um valor percentual por meio da CDF (função de distribuição empírica):

Níveis no gráfico:

indicator_level1 = 33 e indicator_level2 = 67 são referências para interpretação:

<33% - forte não aleatoriedade (possível tendência).

>67% - alta aleatoriedade (estável).

Entendi corretamente a interpretação do indicador apresentado em seu artigo?

Sim, você entendeu tudo corretamente. A única coisa é que eu defini os níveis 33 e 67 apenas porque precisava de alguns níveis. Você pode definir outros níveis, por exemplo, 25 e 80.

Maksim Galichev
Maksim Galichev | 29 mar. 2025 em 17:51
Aleksej Poljakov #:

Sim, você entendeu tudo corretamente. A única coisa é que eu defini os níveis 33 e 67 simplesmente porque precisava de alguns níveis. Você pode definir outros níveis, por exemplo, 25 e 80.

Obrigado por sua resposta.

Criando um Expert Advisor Integrado MQL5-Telegram (Parte 5): Enviando Comandos do Telegram para o MQL5 e Recebendo Respostas em Tempo Real Criando um Expert Advisor Integrado MQL5-Telegram (Parte 5): Enviando Comandos do Telegram para o MQL5 e Recebendo Respostas em Tempo Real
Neste artigo, criamos diversas classes para facilitar a comunicação em tempo real entre o MQL5 e o Telegram. Focamos na obtenção de comandos a partir do Telegram, sua decodificação e interpretação, e no envio de respostas adequadas de volta. Ao final, garantimos que essas interações estejam efetivamente testadas e operacionais dentro do ambiente de negociação.
Expert Advisor Autônomo com MQL5 e Python (Parte III): Decifrando o Algoritmo do Boom 1000 Expert Advisor Autônomo com MQL5 e Python (Parte III): Decifrando o Algoritmo do Boom 1000
Nesta série de artigos, discutimos como podemos construir Expert Advisors capazes de se ajustarem autonomamente às condições dinâmicas do mercado. No artigo de hoje, tentaremos ajustar uma rede neural profunda aos mercados sintéticos da Deriv.
Do básico ao intermediário: Objetos (II) Do básico ao intermediário: Objetos (II)
Neste artigo veremos como controlar de forma simples via código algumas propriedades de objetos. Vermos como podemos colocar mais de um objeto em um mesmo gráfico, usando para isto uma aplicação. E além disto, começaremos a ver a importância de definir um nome curto, para todo e qualquer indicador que venhamos a implementar.
Simulação de mercado (Parte 22): Iniciando o SQL (V) Simulação de mercado (Parte 22): Iniciando o SQL (V)
Antes que você chute o balde, e decida abandonar o estudo sobre como usar o SQL. Deixe-me lembrá-lo, meu caro leitor, que aqui estamos ainda usando apenas o básico do básico. Ainda não exploramos algumas coisas que são possíveis de serem feitas no SQL. Assim que as explorarmos você verá que o SQL é bem mais prático do que parece. Mesmo que muito provavelmente, eu venha a mudar a direção do que estamos criando. Isto por que, o processo de criação é dinâmico. Irei mostrar um pouco mais sobre como fazer as coisas no SQL. Isto por que, ele de fato é algo que você precisa entender e conhecer. Ficar simplesmente achando que é mais capaz, que toda uma comunidade de programadores e desenvolvedores, apenas lhe fará perder tempo e oportunidade. Tenha calma, pois a coisa irá se tornar ainda mais interessante.