Eu vejo o erro 'Maximum number of orders (9000) was reached.'

Esse erro significa que a estratégia colocou mais ordens ou fechou mais operações do que o número máximo permitido. Essas limitações variam conforme o plano e permitem que nossos servidores trabalhem com mais eficiência.

Para evitar esse erro, converta sua estratégia para o Pince Script v6. No v6, todas as ordens acima do limite são cortadas: cada nova ordem aparece na Lista de Trades e a ordem mais antiga acima da ordem limite é removida.

Como alternativa, você pode limitar as datas em que uma estratégia coloca ordens verificando se há um intervalo de tempo na condição da ordem. O script de exemplo a seguir estabelece um intervalo de tempo para a colocação de ordens, verificando se a hora da barra atual está entre dois timestamps.

//@version=6
strategy("My strategy", overlay = true)

enableFilter = input(true,  "Enable Backtesting Range Filtering")
fromDate     = input.time(timestamp("20 Jul 2023 00:00 +0300"), "Start Date")
toDate       = input.time(timestamp("20 Jul 2099 00:00 +0300"), "End Date")

tradeDateIsAllowed = not enableFilter or (time >= fromDate and time <= toDate)

longCondition =  ta.crossover(ta.sma(close, 14),  ta.sma(close, 28))
shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

if longCondition and tradeDateIsAllowed
    strategy.entry("Long", strategy.long)

if shortCondition and tradeDateIsAllowed
    strategy.entry("Short", strategy.short)
HTML