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.
Backtest covers 19.4 months of EURUSD β’ 1 Hour (Euro vs USD spot (Interactive Brokers)) data, from December 20, 2023 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.
So, we have backtested Range breakout on 19.4 months of EURUSD β’ 1 Hour candles.Β This backtest resulted in 196 positions, with the average win rate of 34% and reward-risk ratio of 2.12.Β If you assume that 2.12 reward-to-risk ratio holds, you need a minimum win rate of 32.0 to be profitable. So you're looking good so far.Β The key metrics are as follows:
With that exposure in mind, you can tell that for 30% time-in-market, you get 22.54% of the asset upside potential, and 75.56% of the asset downside potential.
All of the following: # Papa 60min Chart(high) > 60min Range (20, 0), High (1 candles ago) All of the following: (within 5 candles) 60min Relative Volume (20, SMA, 1) > 1.5
All of the following: # Delta 60min Chart(close) < 60min Range (20, 0), Middle
The metrics show some concerning patterns. The strategy has a good Risk/Reward ratio of 2.12 and the win rate of 34% is above the minimal required 32.1% - but only barely so. This small margin leaves little room for error in real trading conditions, where slippage and other factors could easily errode this advantage.
The negative Sharpe (-1.23) and Sortino (-2.11) ratios are particularly problematic and suggest the strategy is not generating good risk-adjusted returns. With a maximum drawdown of -6.8% against only 1.6% total profit over 19.4 months, the risk/return profile is suboptimal. The strategy significantly underperforms buy & hold (7.1%) while still exposing to notable drawdown risk.
I would not recommend trading this strategy in its current form. The high number of trades (196 over the period) combined with the low win rate means you will experience many consecutive losses - the maximum losing streak of 9 trades could be psychologically challenging. The strategy needs optimization to either improve the win rate while maintaining the R/R ratio, or to significantly increase the R/R ratio to better compensate for the low win rate. Maybe consider adding additional filters to reduce false signals.
Total Trades | 196 | Net Profit | 1.6% | Buy & Hold Profit | 7.1% |
Win Rate | 34% | Reward/Risk Ratio | 2.12 | Max Drawdown | -6.8% |
Asset Max Drawdown | -9.0% | Exposure | 30.2% | Avg Candles in Position | 13.7 |
Sharpe Ratio | -1.23 | Sortino Ratio | -2.11 | Realized Volatility | 3.61% |
Max Winning Streak | 3 | Avg Winning Streak | 1.4 | Max Losing Streak | 9 |
Avg Losing Streak | 2.8 | Avg Trades per Month | 20.2 | Avg Trades per Day | 0.7 |
Return Std Dev | 0.4 | Loss Std Dev | 0.1 | Win Std Dev | 0.5 |
Expectancy | 0.1 | Beta | 0.33 |
backtest | exposure | peformance vs asset | drawdown vs asset | win% | reward/risk |
---|---|---|---|---|---|
BTCUSDT β’ 1 Minute | 26% | (0.4%/-0.5%) -0.80x | (-2.3%/-4.5%) 0.51x | 46 | 1.3 |
EURUSD β’ 1 Minute | 22% | (-0.5%/0.9%) -0.56x | (-0.6%/-0.7%) 0.86x | 22 | 2.8 |
GLD β’ 1 Minute | 32% | (0.6%/-1.4%) -0.43x | (-1.9%/-4.1%) 0.46x | 38 | 1.8 |
NVDA β’ 1 Minute | 25% | (7.8%/20.4%) 0.38x | (-3.7%/-5.3%) 0.70x | 34 | 3.0 |
PLTR β’ 1 Minute | 28% | (1.3%/15.0%) 0.09x | (-5.4%/-12.9%) 0.42x | 36 | 1.9 |
SPY β’ 1 Minute | 32% | (1.6%/6.6%) 0.24x | (-1.1%/-1.5%) 0.73x | 35 | 2.4 |
TSLA β’ 1 Minute | 26% | (0.7%/-0.2%) -3.50x | (-12.8%/-19.2%) 0.67x | 35 | 1.9 |
WMT β’ 1 Minute | 31% | (-0.5%/3.3%) -0.15x | (-3.2%/-5.1%) 0.63x | 32 | 2.0 |
BTCUSDT β’ 10 Minutes | 33% | (10.5%/14.3%) 0.73x | (-4.9%/-12.1%) 0.40x | 36 | 2.4 |
EURUSD β’ 10 Minutes | 23% | (1.1%/1.8%) 0.61x | (-1.2%/-4.3%) 0.28x | 39 | 1.8 |
GLD β’ 10 Minutes | 38% | (9.4%/35.8%) 0.26x | (-5.4%/-8.3%) 0.65x | 37 | 2.2 |
NVDA β’ 10 Minutes | 30% | (19.8%/37.4%) 0.53x | (-28.5%/-42.8%) 0.67x | 46 | 1.4 |
PLTR β’ 10 Minutes | 31% | (43.5%/467.7%) 0.09x | (-32.3%/-46.5%) 0.69x | 40 | 1.9 |
SPY β’ 10 Minutes | 33% | (5.1%/13.1%) 0.39x | (-9.7%/-20.7%) 0.47x | 39 | 1.8 |
TSLA β’ 10 Minutes | 28% | (30.7%/25.4%) 1.21x | (-21.4%/-55.3%) 0.39x | 40 | 1.9 |
WMT β’ 10 Minutes | 32% | (23.2%/39.5%) 0.59x | (-5.3%/-23.8%) 0.22x | 41 | 2.1 |
BTCUSDT β’ 1 Hour | 34% | (0.5%/70.3%) 0.01x | (-18.7%/-30.6%) 0.61x | 34 | 2.0 |
EURUSD β’ 1 Hour | 30% | (1.6%/7.1%) 0.23x | (-6.8%/-9.0%) 0.76x | 34 | 2.1 |
GLD β’ 1 Hour | 38% | (39.3%/122.5%) 0.32x | (-19.5%/-22.2%) 0.88x | 39 | 2.2 |
NVDA β’ 1 Hour | 44% | (555.6%/3243.4%) 0.17x | (-52.5%/-68.0%) 0.77x | 46 | 2.1 |
PLTR β’ 1 Hour | 38% | (449.7%/1466.7%) 0.31x | (-56.3%/-86.6%) 0.65x | 43 | 2.4 |
SPY β’ 1 Hour | 36% | (28.0%/107.0%) 0.26x | (-17.4%/-35.1%) 0.50x | 40 | 2.0 |
TSLA β’ 1 Hour | 39% | (1353.0%/1305.7%) 1.04x | (-40.8%/-75.1%) 0.54x | 39 | 3.1 |
WMT β’ 1 Hour | 33% | (60.9%/145.2%) 0.42x | (-15.7%/-26.9%) 0.58x | 39 | 2.4 |
BTCUSDT β’ Daily | 35% | (549.0%/1346.8%) 0.41x | (-54.7%/-76.6%) 0.71x | 47 | 3.3 |
GLD β’ Daily | 32% | (83.3%/592.8%) 0.14x | (-21.7%/-45.3%) 0.48x | 48 | 1.8 |
NVDA β’ Daily | 32% | (6469.1%/396269.9%) 0.02x | (-55.8%/-90.0%) 0.62x | 50 | 2.7 |
SPY β’ Daily | 22% | (90.1%/1344.4%) 0.07x | (-15.9%/-56.7%) 0.28x | 49 | 2.3 |
TSLA β’ Daily | 30% | (2791.1%/24273.6%) 0.11x | (-42.7%/-75.0%) 0.57x | 42 | 4.8 |
WMT β’ Daily | 30% | (30.4%/10116.3%) 0.00x | (-67.6%/-50.6%) 1.34x | 39 | 1.8 |