Built-in Models
TraderTape ships with five reference strategies, named V0 through V4. They exist for three reasons:
- Calibration baselines. When you build your own strategy, you compare its backtest to V1 / V3 / V4 to know whether it's actually adding edge.
- Starting templates. Fork any of them, tweak conditions, and you have a working strategy in minutes.
- Live demonstrations. Each one teaches a different style โ momentum, breakout, mean reversion, alpha extraction. Run them in paper mode to see how they behave on tomorrow's data.
All five are implemented as DSL strategies (see Strategy DSL). They go through the same DSL interpreter as user strategies, the same backtest engine, the same model scanner. There's nothing special about them in code โ they're just well-calibrated reference points.
V0 โ Dart Monkey
The null hypothesis. A strategy with no edge. Used to demonstrate what random trading looks like, so you can verify your real strategies actually beat it.
- Entry: random โ 5% probability per stock per scan day
- Exit: RSI > 70, OR close < SMA20 after 3 bars held
- Add-ons: none
- Min hold: 0 (exit can fire immediately)
- ATR stop: none
If V0 makes money in your backtest period, it's a bull market. If your "real" strategy doesn't significantly beat V0 over 5+ years of data, your "real" strategy doesn't have edge.
V0 is included as a sanity check, not as something you'd actually deploy.
V1 โ Momentum
The classic. Buy strength, sell weakness. The original TraderTape model.
- Entry:
- Close > SMA(20) (uptrend)
- RSI(14) โค 70 (not overbought)
- Exit (in priority order):
- RSI(14) > 70 (overbought)
- Close < SMA(20) AND
total_bars_held > 2(trend break with grace period)
- Add-ons: none
- Min hold: 10 days
- ATR stop: none (relies on indicator exits)
When it fires: frequently. V1 is the most active of the built-ins โ typically 5-15 signals per scan day on the NIFTY 100 universe.
When it works: trending markets. V1 catches the meat of strong moves and exits when momentum fades.
When it struggles: choppy / mean-reverting markets where SMA20 crossovers are noise. The 10-day min hold helps but doesn't eliminate the problem.
Backtest baseline (NIFTY 100, 6 years, 1 Cr capital, 10L per trade):
| Metric | Value |
|---|---|
| Total trades | ~3,400 |
| Win rate | 45.1% |
| Avg P&L per trade | +1.25% |
| CAGR | 30.0% |
| Profit factor | 1.56 |
| Max single-trade drawdown | -45.8% |
Conviction scoring weights RSI most heavily (the data showed RSI 60-65 is the sweet spot for V1, not the textbook 40-55), with vol_spike preferred over vol_calm (counter-intuitive but data-driven), and trades 2-3% above SMA20 ranked higher than trades right at SMA20.
V2 โ Bull Breakout
Long-hold trend rider. Designed for strong setups that you want to hold for a quarter or more.
- Entry:
- Close > SMA(20) AND RSI(14) โค 55 (breakout but not yet overbought)
- Perfect bull MA stack: SMA(20) > SMA(50) > SMA(200)
- Vol regime is
vol_elevatedorvol_spike(institutional interest)
- Exit: SMA(50) break (after
min_hold_days = 30) - Add-ons: none
- Min hold: 30 days
- Max hold: 120 days (forced exit)
- ATR stop: none
When it fires: rarely. V2 is the most selective โ typically 1-3 signals per scan day, sometimes zero for a week.
When it works: persistent multi-month bull moves. V2 catches stocks that are in a confirmed up-trend with institutional buying and rides them for 60-120 days.
When it struggles: range-bound markets. V2 will sit in cash for weeks if no stocks meet all the conditions.
V2 is the strategy you deploy when you want low-touch operation and don't mind being out of the market for stretches.
V3 โ Dip Buyer
Mean reversion with averaging down. Buy pullbacks in confirmed uptrends, average down on controlled dips, exit when the trend resumes.
- Entry (all required):
- RSI(14) โค 45 (oversold)
- SMA(50) > SMA(200) (larger uptrend intact)
- Close near SMA(20) (within 1% above)
- Vol regime is not
vol_spike(avoid panic / falling knives) - Close โฅ Bollinger Band Lower(20, 2) (not in extreme panic)
- Exit (in priority order):
- Recovery: close > SMA(20) AND RSI > 50 (the dip reversed, trend is back)
- SMA(50) break (the larger trend has broken)
- Max hold (45 days, forced exit)
- No RSI > 70 exit, no SMA(20) crossunder exit (V1's exits are bad for V3)
- Add-ons:
- Up to 2 add-ons (3 total entries)
- Price 3-10% below average entry
- RSI(14) โค 40 (deeper than entry)
- Not in
vol_spike - Min 3 trading days since last entry
- Min hold: 15 days from the last entry (resets after each add-on)
- Max hold: 45 days from the first entry
- ATR stop: none โ relies on SMA(50) break and recovery exits
When it fires: moderately often. V3 is more selective than V1 but less than V2 โ typically 3-8 signals per scan day on NIFTY 100.
When it works: trending markets with periodic pullbacks. V3 buys the dips, averages down on continued weakness, and rides the recovery.
When it struggles: sustained downtrends where the SMA(50) > SMA(200) check passes (because the death cross hasn't happened yet) but the actual stock is in free-fall. The vol_spike filter helps but doesn't catch grinding declines.
Known weakness: when ATR stop is disabled (the default), the only loss-taking exits are SMA(50) break and the 45-day max hold. During the 15-day min hold, positions have zero downside protection. The backtest shows this is profitable on aggregate (patience pays) but the worst single-trade drawdown is ~46%.
V3 is the most calibrated of the built-ins. The thresholds (RSI 45, 1% SMA20 zone, 3-10% addon band, 15-day min hold) all came from research on real trading history, not textbook rules.
V4 โ Alpha Dip
V3 with looser entry, tighter validation. Tries to capture more alpha by being slightly more aggressive on entry while keeping V3's exit discipline.
- Entry (all required):
- RSI(14) โค 55 (vs V3's 45 โ looser)
- SMA(50) > SMA(200)
- Close near SMA(20) (within 1% above)
- Vol regime is not
vol_spike - Close โฅ Bollinger Band Lower(20, 2)
- Exit: same as V3 (recovery, SMA50 break, max hold)
- Add-ons: none
- Min hold: 15 days
- Max hold: 45 days
- ATR stop: none
When it fires: more often than V3 (because RSI โค 55 vs 45 lets in more candidates).
When it works: identical conditions to V3 but in markets where V3 is too restrictive.
Backtest result vs V3: ~9.1% additional alpha vs an equal-weight NIFTY 100 baseline over 6 years. V4 is V3's slightly-more-aggressive sibling and was the result of the 2026 V3 calibration research.
V4 doesn't use add-ons because the looser entry already produces enough exposure โ adding averaging down on top would over-concentrate.
Choosing a model
| If you want | Use |
|---|---|
| To learn what the system does | V1 (most active, easy to reason about) |
| To test that your strategy beats noise | V0 (the baseline) |
| Long-hold, low-touch trading | V2 (selective, few decisions) |
| Mean reversion with averaging down | V3 (the most refined dip buyer) |
| V3-style with more frequent fills | V4 (aggressive entry, same discipline) |
For a first paper portfolio, V3 Dip Buyer is the recommended starting point. It's selective enough to be interesting, refined enough to teach you something, and matches how a human trader would actually think about dip buying.
For a comparison test, run V1 + V3 + V4 in paper mode at the same starting capital and watch them diverge for a few weeks. You'll learn more about market regimes from this than from any backtest.
Forking and customizing
All five built-ins are stored as DSL strategies. To make your own variant:
- Go to Strategies
- Click any built-in template
- Click Fork
- Edit conditions in the visual editor
- Run a backtest to verify your changes are an improvement
- Deploy to a paper portfolio
Common forks:
- V1 + sector filter โ V1 but only for IT and Banks
- V3 with ATR stop โ V3 but with
atr_stop_mult = 2.0for tighter risk control (kills some alpha but caps drawdown) - V2 + max hold cap โ V2 but force exit after 90 days instead of 120
- V1 with custom RSI period โ V1 but using RSI(7) instead of RSI(14) for faster signals
The DSL is flexible enough to express most reasonable variants. Things that need code changes (custom indicators, regime detection) are on the roadmap.
Inspecting the exact rule trees
Each built-in model is a regular DSL strategy under the hood. To see the precise rule tree for any of them, fork the model on the Strategies page โ the visual editor will show every condition, exit rule, addon spec, and conviction dimension that defines it.
Next
- Strategy DSL โ the rule language all five models speak
- Conviction Scoring โ how V1's "RSI dominant" scoring works
- Strategies Guide โ building your own
- Backtesting Guide โ comparing models on history