//@version=4
strategy("teste")
if bar_index < 100
strategy.entry("compra", strategy.long, 10, when=strategy.position_size <= 0)
strategy.entry("venda", strategy.short, 10 when=strategy.position_size > 0)
plot(strategy.equity)
TradingView emula o comportamento de uma corretora quando executa estratégias. Ao contrário do mercado real, o emulador apenas preenche ordens nos preços do gráfico e por isso uma ordem pode apenas ser preenchida no tick seguinte no forwardtesting e na próxima barra no backtesting - após o cálculo da estratégia.
Se a máxima da barra está mais perto da abertura da barra do que a mínima desta barra:
Se a mínima da barra está mais perto da abertura da barra do que a máxima desta barra:
O emulador interpreta que não existem gaps dentro de barras - ou seja - a amplitude total da barra é considerada como preço disponível de execução.
Mesmo que “Recalcular em Cada Tick” Recalculate On Every Tick esteja habilitado nas propriedades da estratégia ou através da anotação strategy - o emulado ainda assim seguirá a lógica acima.
//@version=4
strategy("SAW", overlay=true, pyramiding=100, calc_on_order_fills=true)
strategy.entry("LE", strategy.long)
Este código é calculado uma vez barra no seu fechamento, mas um cálculo adicional é executado toda vez que uma ordem é preenchida. Por isso é possível notar 4 ordens sendo preenchidas em cada barra: 2 ordens na abertura, 1 ordem na máxima e 1 ordem na mínima. Isto ocorre em backtesting. Em barras de tempo real ordens serão executadas a cada novo tick.