Ferramentas do usuário

Ferramentas do site


tradingview:logica_programacao:modelo_de_execucao

Modelo de Execução

Introdução

  • Quando Pine Script é carregado no gráfico - o código é executado a cada barra histórica usando o modelo OHLCV disponível.
O Open Abertura
H High Máxima
L Low Mínima
C Close Fechamento
V Volume Volume
  • Uma vez que o script alcança a barra mais recente (da direita) - Se o mercado estiver aberto:
    • studies serão executados uma vez a cada atualização de preço ou volume (tick).
    • strategies serão por padrão executadas apenas quando a última barra fechar.
      • Porém, podem ser configurados para executar a cada variação.
  • Todos os ativos/resoluções tem uma série de dados com número de barras limitadas.
  • Quando você navega para a esquerda do gráfico - essas barras serão carregadas.
    • O processo de carregamento para, quando não há mais barras no ativo ou quando atinge aproximadamente 10,000 barras.
      • Para usuários gratuitos esse limite é de 5,000 barras.
    • Você pode navegar para a esquerda até atingir a primeira barra da série
      • bar_index = 0
  • Todas as barras do gráfico são consideradas históricas - exceto a barra mais atual (quando com mercado aberto) nesse caso esta barra especificamente será chamada de barra em tempo real.
  • A barra de tempo real é atualizada a cada variação de preço ou volume, e quando esta fecha passa a ser uma barra histórica e uma nova barra em tempo real é aberta.

Cálculo baseado em barras históricas

  • Em barras históricas - o script executa ao equivalente do fechamento da barra.
  • Antes da execução do script as variáveis nativas:
    • open, high, low, close, volume e time.
    • Terão seus valores atribuídos aos valores dessa barra
  • O script é executado uma vez por barra histórica.

Cálculo baseado em barras de tempo real

  • Em barras de tempo real - Depende se o código é um study ou strategy
  • Em strategies:
    • O script executa ao equivalente do fechamento da barra.
    • Ou a cada variação de tick - calc_on_every_tick=true
  • close = em barra de tempo real, a variável armazena o preço atual.
  • Variáveis são resetadas a cada atualização de tick em mercado aberto.
    • Exceção : inicializar com var
  • Variáveis tem seu valor confirmado no fechamento da barra.

Eventos que acionam a execução de um script

  • Um script é executado na série completa de barras do gráfico quando um desses eventos ocorrem:
    • Um novo ativo ou resolução é carregado em um gráfico.
    • Um script é salvo ou adicionado ao gráfico a partir do Editor Pine.
    • Um valor é modificado na caixa de diálogo Configurações / Parâmetros do script.
    • Um valor é modificado na caixa de diálogo Configurações / Propriedades de uma estratégia.
    • Um evento de atualização do navegador foi detectado.
  • Um script é executado na barra em tempo real quando o mercado está aberto:
    • Uma das condições acima ocorre, fazendo com que o script seja executado ao abrir a barra de tempo real, ou
    • A barra em tempo real é atualizada porque uma alteração de preço ou volume foi detectada.

Outros eventos

  • Quando um gráfico é deixado intocado quando o mercado está aberto,
    • Uma sucessão de barras em tempo real que foram abertas e fechadas seguirá a barra de tempo real atual.
    • Embora essas barras tenham sido confirmadas porque todas as suas variáveis ​​foram confirmadas, o script ainda não terá sido executado nelas em seu estado histórico , uma vez que elas não existiam quando o script foi executado pela última vez no conjunto de dados do gráfico.
  • Quando um evento dispara a execução do script no gráfico e faz com que ele seja executado nas barras que agora se tornaram barras históricas,
  • O cálculo do script pode, às vezes, variar do que era quando calculado na última atualização de fechamento das mesmas barras quando eram barras em tempo real.
  • Isso se deve a pequenas variações entre os valores OHLCV salvos no fechamento das barras em tempo real e aqueles obtidos a partir de feeds de dados quando as mesmas barras se tornaram barras históricas.
  • Esse comportamento também é conhecido como repintura.

Fluxo

  • Não é possível usar barssince() dentro de um teste condicional - pois é uma função que depende da execução a cada barra - e o teste condicional poderá prevenir isto de acontecer causando erros.
  • Funções que não precisam necessariamente ser executadas a cada candle
abs, acos, asin, atan, ceil, cos, dayofmonth, dayofweek, 
exp, floor, heikinashi, hour, kagi, linebreak, log, log10, 
max, min, minute, month, na, nz, pow, renko, round, second, 
sign, sin, sqrt, tan, tickerid, time, timestamp, tostring, 
weekofyear, year


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