Range breakoutlong
Backtest Results @ SPY β€’ Daily

This strategy enters once price action beraks through the range of the last 20 candles, while accompanied with elevated trading volume. It exits once price closes below an SMA(20). The idea is to follow trends, riding momentum confirmed by volume.

Equity Curve

Backtest covers 32.5 years of SPY β€’ Daily (SPDR S&P 500) data, from January 29, 1993 to July 25, 2025.

Equity curve is the strategy's performance over time. You should compare it to the asset's Buy & Hold performance. In general, you want the blue area to be well above the gray area.

Drawdown is how much losses (realized or unrealized) the strategy has had if compared to the highest equity peak. Compare this to the asset's drawdown to see whether your strategy does a decent job of isolating you from downside volatility. In general, the red area must be well within the gray area.

Equity Curve
Strategy
Asset
Strategy Drawdown
Asset Drawdown

So, we have backtested Range breakout on 32.5 years of SPY β€’ Daily candles.Β This backtest resulted in 86 positions, with the average win rate of 49% and reward-risk ratio of 2.25.Β If you assume that 2.25 reward-to-risk ratio holds, you need a minimum win rate of 30.8 to be profitable. So you're looking good so far.Β However, 86 positions is a small sample size, so take the results with a huge grain of salt.Β The key metrics are as follows:

  1. Total Return: Total Return: 90.10% vs 1344.40% for the asset
  2. Max Drawdown: Max Drawdown: -15.90% vs -56.70% for the asset
  3. Exposure: Exposure: 22.30% time in the market
  4. Win Rate: Win Rate: 49.0%, vs 30.8% minimum
  5. Reward/Risk Ratio: Reward/Risk Ratio: 2.25

With that exposure in mind, you can tell that for 22% time-in-market, you get 6.70% of the asset upside potential, and 28.04% of the asset downside potential.

Range breakout: enter a position when

All of the following: # Papa
  D Chart(high) > D Range (20, 0), High (1 candles ago)
  All of the following: (within 5 candles)
      D Relative Volume (20, SMA, 1) > 1.5

Range breakout: exit a position when

All of the following: # Delta
  D Chart(close) < D Range (20, 0), Middle

Range breakout @ SPY β€’ Daily (90.1%) backtest results explained by Alex C

Alex C

Author

The strategy looks quite underwhelming when compared to buy and hold. With only 90.1% profit over 32.5 years versus 1344.4% for buy and hold, I would not consider this strategy viable in its current form.

However, there are some interessting aspects in the metrics. The risk/reward ratio of 2.25 is actually quite good, and the win rate of 49% is sufficient given this ratio - as evidenced by the healthy win rate leeway of 48.69%. The low market exposure of 22.3% could be seen as positive from risk management perspective, but it also explains the significant underperformance versus buy and hold. What worries me most is the very low trading frequency - only 0.4 trades per month is statisticly not significant enough over such long timeframe.

I would suggest to optimize the entry conditions to generate more trading signals while maintaining the good risk/reward characteristics. Maybe reducing the relative volume threshold from 1.5 could help. Also the negative Sharpe and Sortino ratios are concerning and should be addressed. The strategy seems to have a solid foundation with its breakout logic, but needs refinement to be viable.

Tabular metrics of Range breakout backtested on SPY β€’ Daily

Total Trades86Net Profit90.1%Buy & Hold Profit1344.4%
Win Rate49%Reward/Risk Ratio2.25Max Drawdown-15.9%
Asset Max Drawdown-56.7%Exposure22.3%Avg Candles in Position20.2
Sharpe Ratio-0.37Sortino Ratio-0.19Realized Volatility4.15%
Max Winning Streak11Avg Winning Streak2.5Max Losing Streak9
Avg Losing Streak2.6Avg Trades per Month0.4Avg Trades per Day0.0
Return Std Dev3.0Loss Std Dev1.0Win Std Dev2.7
Expectancy0.6Beta0.09

All backtests for Range breakout

backtestexposurepeformance vs assetdrawdown vs assetwin%reward/risk
BTCUSDT β€’ 1 Minute
26%(0.4%/-0.5%) -0.80x(-2.3%/-4.5%) 0.51x461.3
EURUSD β€’ 1 Minute
22%(-0.5%/0.9%) -0.56x(-0.6%/-0.7%) 0.86x222.8
GLD β€’ 1 Minute
32%(0.6%/-1.4%) -0.43x(-1.9%/-4.1%) 0.46x381.8
NVDA β€’ 1 Minute
25%(7.8%/20.4%) 0.38x(-3.7%/-5.3%) 0.70x343.0
PLTR β€’ 1 Minute
28%(1.3%/15.0%) 0.09x(-5.4%/-12.9%) 0.42x361.9
SPY β€’ 1 Minute
32%(1.6%/6.6%) 0.24x(-1.1%/-1.5%) 0.73x352.4
TSLA β€’ 1 Minute
26%(0.7%/-0.2%) -3.50x(-12.8%/-19.2%) 0.67x351.9
WMT β€’ 1 Minute
31%(-0.5%/3.3%) -0.15x(-3.2%/-5.1%) 0.63x322.0
BTCUSDT β€’ 10 Minutes
33%(10.5%/14.3%) 0.73x(-4.9%/-12.1%) 0.40x362.4
EURUSD β€’ 10 Minutes
23%(1.1%/1.8%) 0.61x(-1.2%/-4.3%) 0.28x391.8
GLD β€’ 10 Minutes
38%(9.4%/35.8%) 0.26x(-5.4%/-8.3%) 0.65x372.2
NVDA β€’ 10 Minutes
30%(19.8%/37.4%) 0.53x(-28.5%/-42.8%) 0.67x461.4
PLTR β€’ 10 Minutes
31%(43.5%/467.7%) 0.09x(-32.3%/-46.5%) 0.69x401.9
SPY β€’ 10 Minutes
33%(5.1%/13.1%) 0.39x(-9.7%/-20.7%) 0.47x391.8
TSLA β€’ 10 Minutes
28%(30.7%/25.4%) 1.21x(-21.4%/-55.3%) 0.39x401.9
WMT β€’ 10 Minutes
32%(23.2%/39.5%) 0.59x(-5.3%/-23.8%) 0.22x412.1
BTCUSDT β€’ 1 Hour
34%(0.5%/70.3%) 0.01x(-18.7%/-30.6%) 0.61x342.0
EURUSD β€’ 1 Hour
30%(1.6%/7.1%) 0.23x(-6.8%/-9.0%) 0.76x342.1
GLD β€’ 1 Hour
38%(39.3%/122.5%) 0.32x(-19.5%/-22.2%) 0.88x392.2
NVDA β€’ 1 Hour
44%(555.6%/3243.4%) 0.17x(-52.5%/-68.0%) 0.77x462.1
PLTR β€’ 1 Hour
38%(449.7%/1466.7%) 0.31x(-56.3%/-86.6%) 0.65x432.4
SPY β€’ 1 Hour
36%(28.0%/107.0%) 0.26x(-17.4%/-35.1%) 0.50x402.0
TSLA β€’ 1 Hour
39%(1353.0%/1305.7%) 1.04x(-40.8%/-75.1%) 0.54x393.1
WMT β€’ 1 Hour
33%(60.9%/145.2%) 0.42x(-15.7%/-26.9%) 0.58x392.4
BTCUSDT β€’ Daily
35%(549.0%/1346.8%) 0.41x(-54.7%/-76.6%) 0.71x473.3
GLD β€’ Daily
32%(83.3%/592.8%) 0.14x(-21.7%/-45.3%) 0.48x481.8
NVDA β€’ Daily
32%(6469.1%/396269.9%) 0.02x(-55.8%/-90.0%) 0.62x502.7
SPY β€’ Daily
22%(90.1%/1344.4%) 0.07x(-15.9%/-56.7%) 0.28x492.3
TSLA β€’ Daily
30%(2791.1%/24273.6%) 0.11x(-42.7%/-75.0%) 0.57x424.8
WMT β€’ Daily
30%(30.4%/10116.3%) 0.00x(-67.6%/-50.6%) 1.34x391.8