Quase todo trader de TradingView, mais cedo ou mais tarde, quer puxar dados de um tempo gráfico maior para o gráfico atual — por exemplo, ver a tendência do diário enquanto opera no de 15 minutos. No Pine Script v6 a função que faz isso é request.security(). Ela é poderosa, mas é também a maior fonte de repaint (sinais que mudam depois que o candle fecha). Este guia mostra a sintaxe correta, um exemplo pronto e o padrão que evita o repaint de forma confiável.
Pronto para sair do gráfico e executar de forma automatizada?
Ver automação com API em Python →O que faz request.security
A função busca o valor de uma expressão em outro símbolo ou em outro tempo gráfico (timeframe) e o traz para o gráfico onde seu script está rodando. Com ela você cria indicadores multi-timeframe (MTF): por exemplo, exibir a EMA do gráfico de 1 hora enquanto você analisa o de 5 minutos.
Regra de ouro: pedir um timeframe maior que o do gráfico é seguro e comum. Pedir um timeframe menor traz dados intrabar e abre a porta para vieses difíceis de controlar — evite, a menos que saiba exatamente o que está fazendo.
Sintaxe
O problema do repaint
O repaint acontece quando o valor do timeframe superior ainda não fechou. Enquanto o candle de 1 hora está em formação, seu valor muda a cada tick; o gráfico histórico, porém, é desenhado já com o candle fechado. Resultado: o backtest mostra um sinal que, ao vivo, só apareceu no fim da hora — uma vantagem que não existe na prática.
O padrão correto (sem repaint)
A solução consagrada é pedir o valor da barra já fechada usando o índice [1] em conjunto com lookahead_on. Combinados, eles entregam sempre o último valor confirmado do timeframe superior:
Por que lookahead_on aqui é seguro? Porque combinado com [1] você está olhando para uma barra que com certeza já fechou — nunca para o futuro. Usar lookahead_on sem o [1] é exatamente o que causa o pior tipo de repaint. Os dois andam juntos.
Exemplo prático: filtro de tendência
Um uso clássico é só comprar quando o preço está acima da EMA do timeframe maior — filtrando operações contra a tendência dominante:
Assim você mantém a execução no tempo gráfico curto, mas usa o contexto do tempo gráfico longo para evitar entradas ruins.
Perguntas frequentes (FAQ)
Posso usar request.security para outro ativo?
Sim. Troque syminfo.tickerid por um símbolo completo, como "BINANCE:BTCUSDT", para comparar ativos diferentes no mesmo gráfico.
Qual a diferença entre lookahead_on e lookahead_off?
lookahead_off (padrão) evita olhar o futuro, mas no histórico pode atrasar o valor do TF superior. lookahead_on alinha o valor, e por isso só deve ser usado com [1], garantindo que a barra referenciada já fechou.
Como sei se meu indicador faz repaint?
Compare o comportamento no histórico com o tempo real ao longo de alguns dias, ou recarregue o gráfico e veja se sinais antigos mudaram de lugar. Se mudarem, há repaint.
Dá para usar request.security em uma strategy?
Dá, e o cuidado com repaint é ainda mais importante: um backtest com dados futuros vazados produz resultados irreais que jamais se repetem ao vivo.
Aviso: opções binárias e trading alavancado são produtos de altíssimo risco e a maioria dos investidores de varejo perde dinheiro. Este conteúdo é educacional, não constitui recomendação de investimento e não garante qualquer resultado. Indicadores e backtests são ferramentas de estudo, não previsões. Teste sempre em conta demo antes de arriscar capital real.
