Veo el error «Se ha alcanzado el número máximo de órdenes (9000)».

Este error significa que la estrategia colocó más órdenes, o cerró más operaciones, que el número máximo permitido. Estas limitaciones varían según el plan y permiten a nuestros servidores trabajar de forma más eficiente.

Para evitar este error, convierta su estrategia a Pine Script v6. En v6, todas las órdenes por encima del límite son recortadas: cada nueva orden aparece en la Lista de operaciones, y la orden más antigua por encima del límite de la orden es eliminada.

Alternativamente, puede limitar las fechas en las que una estrategia coloca órdenes comprobando un rango de tiempo en la condición de la orden. El siguiente script de ejemplo establece un intervalo de tiempo para colocar órdenes comprobando si el tiempo de la barra actual se encuentra entre dos marcas de tiempo.

//@version=5
strategy("My strategy", overlay = true, margin_long = 100, margin_short = 100)

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)