Ferramentas do usuário

Ferramentas do site


tradingview:desenho:repintura_de_indicador

Repintura de Indicador

  • Dados históricos de uma barra não incluem informações sobre os movimentos do preço (intrabarra) - apenas os valores OHLC.
  • Isso pode causar com que o script se comporte de forma diferente em dados históricos e em tempo real.
  • Se adicionarmos o script no gráfico, esperarmos o cálculo em um número de barras do tempo real e atualizarmos a página, notaremos algumas vezes que a plotagem sofre uma leve alteração e isso acontece quando certas funções são usadas - funções essas que irão calcular de formas diferentes em gráficos históricos e em tempo real.
  • Este comportamento é um dos exemplos de repintura de indicador, e será o comportamento que iremos nos referir neste estudo.
  • Outros exemplos de comportamentos também chamados de repintura, incluem
  • Plotagem com offset negativo em barras passadas e por tanto usando informação não disponível recebidas através de chamadas incorretas da função security - que pode causar a introdução de dados não disponíveis quando o script é executado em gráfico de tempo real.
  • Nem todos os indicadores estão sujeitos a repintura que estamos discutindo aqui. Na maioria dos casos isso depende de quais funções estão sendo utilizadas ou até mesmo na lógica do algoritmo.
  • Observação importante : Isto não é um bug. Mas sim resultado natural da diferença entre dados gerados num gráfico histórico e em um gráfico em tempo real.
  • Nós poderemos ver repintura nos seguintes casos:
  • strategies que usam calc_on_every_tick=true.
  • strategies que usam calc_on_every_tick=false - podem também estar sujeitos a repintura, porém em menor quantidade.
  • Usar a função security para requisitar dados de uma resolução maior que a resolução do gráfico.
// Add this study on 1 minute chart
//@version=4
study("My Script")
c = security(syminfo.tickerid, "5", close)
plot(close)
plot(c, color=color.red)
  • Este study irá ser calculado de formas diferentes entre o gráfico histórico e o tempo real, independente do argumento lookahead.
  • Usar a função security para requisitar dados de uma resolução menor que a resolução do gráfico.
    • Se lookahead=false - repintura irá ocorrer.
    • Se lookahead=true - repintura é menos provável.
  • Todos os scripts que calculos dependem de um ponto de partida. Dados Intraday são alinhados com o início da semana, mês ou ano, dependendo da resolução. Por causa disso, os resultados desses scripts podem diferir de tempos em tempos. Casos onde scripts dependem de um ponto de partida.
    • Quando usando as funções
      • valuewhen, barssince, ema (devido a peculiaridades em seus algorítmos)
      • Qualquer backtest - independente de como o argumento calc_on_every_tick estiver configurado.
    • Existe uma dependência entre resolução e alinhamento do ponto de partida
      • 1-14 minutos - alinham-se com o início da semana.
      • 15-29 minutos - alinham-se com o início do mês.
      • 30 minutos ou mais - alinham-se como o início do ano.
    • As seguintes limitações do comprimento do histórico são levadas em consideração:
      • 10000 barras históricas para todos os planos Pro.
      • 5000 barras históricas para outros planos.
  • Mudanças em dados históricos, por exemplo, devido a split.
  • Uso das seguintes variáveis normalmente causam repintura.
    • barstate.isconfirmed, barstate.isfirst, barstate.ishistory, barstate.islast, barstate.isnew, barstate.isrealtime;
    • timenow;
    • bar_index;


tradingview/desenho/repintura_de_indicador.txt · Última modificação: 05/04/2023 08:25 por 127.0.0.1