Imagine dois traders com a mesma estratégia de cruzamento de médias. Um opera olhando só o M5 e leva trade pra todo lado. O outro só aceita os sinais de M5 que estão a favor da tendência do H1. O segundo vai operar menos — e melhor. Essa é a essência do multi-timeframe: usar o gráfico maior como bússola e o menor como gatilho. É uma das formas mais eficazes de filtrar trades ruins.
01O erro do timeframe único
Quem opera olhando um só gráfico cai numa armadilha: um sinal de compra no M5 pode estar perfeitamente alinhado no curto prazo, mas ser um simples repique dentro de uma tendência de baixa no H1. Você compra, o repique acaba, e a tendência maior te engole. O timeframe único te deixa cego pro contexto.
A metáfora da maré: pense no timeframe maior como a maré e no menor como as ondas. Você pode ver uma onda subindo (sinal de compra no M5), mas se a maré está descendo (tendência de baixa no H1), apostar na onda é arriscado. O multi-timeframe te faz nadar a favor da maré.
02O conceito: tendência maior, entrada menor
A estrutura é sempre a mesma — dois (às vezes três) timeframes com papéis distintos:
Timeframe maior → DIREÇÃO
Define se você só procura compras ou só vendas. Ex: H1.
"O preço está acima da média de 200 no H1? Então só busco compras."
Timeframe menor → GATILHO
Dá o momento exato de entrar, na direção já definida. Ex: M15.
"Houve um pullback e um cruzamento de alta no M15? Entro comprado."
03Quais timeframes combinar
A regra prática é uma proporção de cerca de 4 a 6 vezes entre eles — grande o suficiente pra dar contexto diferente, próximo o suficiente pra fazer sentido. Combinações comuns:
- Day trade: M15 (tendência) + M3 ou M5 (entrada)
- Intraday mais largo: H1 (tendência) + M15 (entrada)
- Swing: Diário (tendência) + H4 (entrada)
Alguns traders usam três: um topo (direção macro), um médio (tendência operacional) e um baixo (gatilho). Mais que três vira paralisia — informação demais, decisão de menos.
04Programando a confluência
O robô precisa puxar dois timeframes e cruzar a informação. Veja nas duas plataformas:
//@version=5 strategy("Multi-Timeframe", overlay=true) // tendência no timeframe MAIOR (ex: 60 min) tf_maior = input.timeframe("60", "Timeframe da tendência") ma200_maior = request.security(syminfo.tickerid, tf_maior, ta.sma(close, 200)) fechamento_maior = request.security(syminfo.tickerid, tf_maior, close) tendencia_alta = fechamento_maior > ma200_maior // gatilho no timeframe ATUAL (o do gráfico, menor) ma_rapida = ta.ema(close, 9) ma_lenta = ta.ema(close, 21) gatilho_compra = ta.crossover(ma_rapida, ma_lenta) // CONFLUÊNCIA: só compra se gatilho E tendência maior concordam if gatilho_compra and tendencia_alta strategy.entry("Compra", strategy.long)
# multi_timeframe.py def direcao_tendencia(df_maior): # tendência no gráfico maior: preço vs média de 200 ma200 = df_maior["close"].rolling(200).mean().iloc[-1] return "ALTA" if df_maior["close"].iloc[-1] > ma200 else "BAIXA" def gatilho_entrada(df_menor): # gatilho no gráfico menor: cruzamento de EMAs r = df_menor["close"].ewm(span=9).mean() l = df_menor["close"].ewm(span=21).mean() cruzou_cima = r.iloc[-2] < l.iloc[-2] and r.iloc[-1] > l.iloc[-1] return "COMPRA" if cruzou_cima else "AGUARDA" # confluência df_h1 = puxar_candles("WIN$N", timeframe_H1) df_m15 = puxar_candles("WIN$N", timeframe_M15) if direcao_tendencia(df_h1) == "ALTA" and gatilho_entrada(df_m15) == "COMPRA": print("Confluência confirmada — comprar")
No Pine, a função-chave é request.security — ela busca dados de outro timeframe dentro do mesmo script. No Python, você simplesmente puxa dois DataFrames de períodos diferentes (via API do MT5 ou Binance) e cruza a informação.
Combine com os indicadores certos
A média de 200 define a tendência maior; o cruzamento de EMAs dá o gatilho. Veja o guia de médias.
05Cuidados na automação
- Repaint: no Pine, cuidado com o
request.securityusando o candle ainda em formação do timeframe maior — pode "repintar" e enganar no backtest. Use o valor do candle já fechado ([1]) pra dados confiáveis. - Menos trades é o objetivo: o multi-timeframe vai reduzir bastante o número de operações. Isso é uma feature, não bug — você está filtrando os ruins. Não "afrouxe" o filtro só pra operar mais.
- Sincronização: garanta que os dois timeframes são do mesmo ativo e estão atualizados no mesmo momento. Dados defasados entre eles geram sinais falsos.
06Por que funciona
O multi-timeframe funciona porque ataca o maior inimigo da maioria das estratégias: operar contra a tendência dominante. Estatisticamente, trades a favor da tendência maior têm melhor expectativa. Ao filtrar tudo que vai contra a "maré", você corta uma fatia grande dos trades perdedores — mesmo mantendo a mesma estratégia de entrada. É um dos poucos ajustes que melhora resultado sem adicionar complexidade frágil.
O princípio maior: isso se conecta com tudo que pregamos — gestão e contexto valem mais que a estratégia em si. O multi-timeframe é, no fundo, um filtro de contexto. E filtro de contexto é o que separa robô que sobrevive de robô que sangra.
07Perguntas frequentes
O que é análise multi-timeframe?
É analisar o mesmo ativo em vários períodos: um maior pra definir a direção da tendência e um menor pro timing da entrada. Operar a favor da tendência maior filtra muitos trades ruins.
Quais timeframes combinar?
Regra comum: proporção de 4 a 6 vezes. Ex: H1 (tendência) + M15 (entrada), ou Diário + H4 pra swing. O maior dá contexto, o menor dá o gatilho. Até três timeframes funciona; mais que isso vira paralisia.
Como automatizar multi-timeframe?
O robô puxa dois períodos: calcula a tendência no maior (ex: preço acima da média de 200) e só busca entradas no menor a favor dessa direção. No Pine, use request.security; no Python, puxe dois DataFrames e cruze.
O multi-timeframe reduz meus trades, isso é ruim?
Não, é o objetivo. Você está filtrando os trades contra a tendência (geralmente os piores). Menos operações, melhor qualidade. Não afrouxe o filtro só pra operar mais — isso anula o benefício.
O que é repaint e como evitar?
Repaint é quando um valor de timeframe maior muda enquanto o candle ainda está se formando, enganando o backtest. Evite usando o valor do candle já fechado (índice [1] no Pine) ao puxar dados do timeframe maior.