Motivos comuns para incompatibilidades entre os acionadores de alerta da estratégia e as ordens da estratégia no gráfico
O uso dos recursos de estratégia listados abaixo pode resultar na execução de ordens de forma diferente em tempo real e em dados históricos (ou seja, reprecificação).
Como resultado, os acionadores de alerta de estratégia podem não coincidir com as ordens de estratégia no gráfico.
1) Ativar a opção calc_on_every_tick
Se esta opção estiver desativada, a estratégia é recalculada uma vez, tanto na negociação histórica quanto em tempo real, no fechamento de cada barra.
Se esta opção estiver ativa, a estratégia é recalculada em tempo real a cada tick durante a construção da barra.
Tais recálculos intradiários podem resultar no envio e execução de ordens adicionais (que não estariam presentes durante os recálculos históricos), levando, assim, a diferentes resultados de cálculo da estratégia no alerta e no gráfico.
2) Ativar a opção calc_on_order_fills
Neste caso, se uma ordem for executada enquanto uma barra está sendo construída, a estratégia é recalculada, levando em conta o OHLC conhecido no momento da execução.
Se você esperar até que a barra feche e atualizar a página, a estratégia também será recalculada quando a ordem for executada nessa barra. No entanto, desta vez levando em conta o OHLC conhecido no momento do fechamento da barra, já que, em geral, ao recalcular uma estratégia em uma barra histórica, não há informações sobre o movimento de preço intradiário.
Isso significa que as ordens podem ser enviadas de forma diferente nos cálculos em tempo real do que nos cálculos históricos. Portanto, os resultados do cálculo da estratégia no alerta e no gráfico também podem não coincidir.
3) Uso de ordens trailing
O nível de execução de uma ordem trailing depende das flutuações de preço intradiárias e do parâmetro trail_offset.
Em tempo real, essas flutuações podem ser arbitrárias: o preço pode subir e descer repetidamente. Ao calcular dados históricos, não há informações disponíveis sobre o movimento de preço intradiário. Portanto, o servidor faz suposições sobre esse movimento, conforme descrito no artigo (https://br.tradingview.com/pine-script-docs/v5/concepts/strategies/#broker-emulator).
A diferença entre os movimentos intradiários reais e estimados significa que as ordens trailing podem ser executadas a preços diferentes em tempo real e em dados históricos.
Isso, por sua vez, leva a diferentes resultados de cálculo da estratégia no alerta e no gráfico.