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 9 days of EURUSD β’ 1 Minute (Euro vs USD spot (Interactive Brokers)) data, from July 16, 2025 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 9 days of EURUSD β’ 1 Minute candles.Β This backtest resulted in 153 positions, with the average win rate of 22% and reward-risk ratio of 2.76.Β If you assume that 2.76 reward-to-risk ratio holds, you need a minimum win rate of 26.6 to be profitable. So you're screwed!Β The key metrics are as follows:
With that exposure in mind, you can tell that for 22% time-in-market, you get -55.56% of the asset upside potential, and 85.71% of the asset downside potential.
All of the following: # Papa 1min Chart(high) > 1min Range (20, 0), High (1 candles ago) All of the following: (within 5 candles) 1min Relative Volume (20, SMA, 1) > 1.5
All of the following: # Delta 1min Chart(close) < 1min Range (20, 0), Middle
The backtest results show quite problematic behavior. The win rate of 22% is far too low for sustainable trading, even with a risk/reward ratio of 2.76. This means the strategy is losing more often than mathematics would allow for profitable operation.
The high frequency of trades - 38.3 per day - combined with such poor win rate suggests the strategy is too sensitive and probably catches a lot of false signals. I notice the volume trigger of 1.5x relative volume might be too low for EURUSD on 1-minute timeframe. From my experience with forex markets, we should look at 2x or even 3x volume spikes for more reliable breakout signals.
The most concerning metric is the 22 trades losing streak. This is completely unacceptable from risk management perspective. No trader can psychologically handle such long drawdown periods, even if individual losses are small. The strategy needs fundamental rework - either stricter entry filters or complete redesign of the core logic. The current version is mathematically invalid for real trading.
Total Trades | 153 | Net Profit | -0.5% | Buy & Hold Profit | 0.9% |
Win Rate | 22% | Reward/Risk Ratio | 2.76 | Max Drawdown | -0.6% |
Asset Max Drawdown | -0.7% | Exposure | 22.3% | Avg Candles in Position | 13.2 |
Sharpe Ratio | Sortino Ratio | Realized Volatility | β | ||
Max Winning Streak | 3 | Avg Winning Streak | 1.4 | Max Losing Streak | 22 |
Avg Losing Streak | 4.3 | Avg Trades per Month | 1147.5 | Avg Trades per Day | 38.3 |
Return Std Dev | 0.0 | Loss Std Dev | 0.0 | Win Std Dev | 0.0 |
Expectancy | -0.2 | Beta | 0.24 |
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 |