ゆとり世代の自由研究

勉強が一生終わりません

特定の日付以降の TradingView 戦略をバックテストする方法

//@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)