Entendendo o movimento linear na prática
O movimento linear é basicamente quando um preço ou variável se desloca de forma quase retilínea ao longo do tempo, seguindo uma direção consistente sem muita noise. Na análise técnica, isso se manifesta como uma tendência limpa, onde os pontos de preço se alinham próximos a uma linha reta. A maioria dos traders reconhece rapidamente, mas poucos sabem medir isso de verdade antes de entrar numa operação. Na minha experiência operando mercados, a dificuldade nunca foi identificar visualmente um movimento linear. O problema aparece quando você tenta quantificá-lo e descobrir se ele ainda está válido ou se já perdeu força. Já tive um caso recente com o mini índice onde o gráfico parecia perfeitamente linear em D1, mas ao aplicar regressão linear nos candles de 15 minutos, o coeficiente R² caía para 0,62. Ou seja, na timeframe menor a linearidade nem existia. Achei que estava pegando uma tendência sólida e acabei entrando em um range disfarçado. Desde aí, só opero movimento linear confirmado em pelo menos duas timeframes consecutivas.
O que é um movimento linear e como calcular
Para transformar essa intuição visual em algo utilizável, você precisa de uma métrica objetiva. O método mais direto é a regressão linear ordinária (OLS). Você pega os preços de fechamento de N períodos, ajusta uma linha e olha o R². Se o R² estiver acima de 0,85, o movimento pode ser considerado forte e linear. Entre 0,70 e 0,85 é moderado. Abaixo de 0,70, basicamente ignore — não há linearidade suficiente para confiar na direção. A fórmula do coeficiente de determinação é simples na teoria mas pesada na execução manual: R² = 1 - (SSres / SStot). O SSres é a soma dos quadrados dos resíduos, ou seja, a distância de cada preço até a linha de regressão. O SStot é a variância total dos preços em relação à média. Quanto menor o erro relativo, maior o R².
👉 Clique no botão abaixo para saber mais sobre o assunto!
No Python, isso leva três linhas. Usando pandas e statsmodels, você monta uma série de preços e roda sm.OLS(y, sm.add_constant(x)).fit(). O resultado te dá o R² ajustado, o coefAngular, o intercepto e os intervalos de confiança. Para alguém que opera no dia a dia, eu recomendo deixar isso num script rodando em background e alertar só quando o R² ultrapassar 0,85 em pelo menos 50 períodos consecutivos. Isso evita falsos sinais de linearidade que aparecem todo dia.
Pegadinhas que ninguém conta
O primeiro erro comum é usar preços de fechamento sem verificar se há outliers. Um único candle com GAP ou evento macro pode destruir completamente o R² sem que você perceba a olho nu. Minha solução foi criar um filtro que substitui valores que desviam mais de 2 desvios-padrão da média móvel dos resíduos por interpolação linear. Isso elimina o ruído pontual sem suavizar demais a série. O segundo erro é acreditar que linearidade implica persistência. Um movimento linear não te diz nada sobre quanto tempo vai durar. Já vi Bitcoin fazer uma regressão com R² de 0,93 durante 14 dias e depois cair 18% em duas sessões. A linearidade descreve o passado, não o futuro. O que ela realmente te diz é que a volatilidade dentro daquele período foi baixa e consistente, o que significa menor risco de stopatingido por noise aleatório.
Quando o movimento linear falha completamente
Em mercados de alta volatilidade como criptomoedas em dias de fed news ou eventos de macro, a regressão linear se torna praticamente inútil. Os resíduos ficam enormes, o R² oscila violentamente e qualquer sinal gerado é ruído disfarçado. Nesses casos, a alternativa funcional é trocar a abordagem: em vez de buscar linearidade, busque regime. Use testes como Chow para detectar mudanças estruturais nos coeficientes da regressão, ou simplesmente opere com bandas de volatilidade (Bollinger, Keltner) que se adaptam ao comportamento do preço sem assumir forma alguna prévia. Também vale mencionar que a regressão linear assume relações contemporâneas, o que significa que movimentos com defasagem — como aqueles em que o preço reage dias depois de um evento — não são capturados. Nesse cenário, o modelo de médias móveis ponderadas exponencialmente (EMA) com otimização de janela costuma performar melhor do que insistir em linearidade pura.