//@version=4
strategy(title="Backtest since certain date", overlay=true)
// STEP 1:
// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
defval=2019, minval=1800, maxval=2100)
// STEP 2:
// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
startYear, startMonth, startDate, 0, 0))
// Calculate strategy values
emaValue = ema(close, 20)
plot(series=emaValue, color=color.teal, linewidth=2)
// Set trade entry conditions
enterLong = (close > close[1]) and crossover(close, emaValue)
enterShort = (close < close[1]) and crossunder(close, emaValue)
// STEP 3:
// Submit entry orders, but only on/after start date
if (afterStartDate and enterLong)
strategy.entry(id="EL", long=true)
if (afterStartDate and enterShort)
strategy.entry(id="ES", long=false)