This intraday breakout strategy seeks to enter once price breads above the opening candle High, at any stage of a day. It takes profit on Opening Range High+Opening Range Size, and it has a stop loss at Opening Range Low. It never carries a position overnight; it always exits at the last candle of a day in case if no other exit conditions were met.
Backtest covers 3.1 years of WMT β’ 30 Minutes (Walmart Inc.) data, from July 5, 2022 to August 1, 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 Buy at opening candle range breakout on 3.1 years of WMT β’ 30 Minutes candles.Β This backtest resulted in 344 positions, with the average win rate of 58% and reward-risk ratio of 1.05.Β If you assume that 1.05 reward-to-risk ratio holds, you need a minimum win rate of 48.8 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 32% time-in-market, you get 23.09% of the asset upside potential, and 27.31% of the asset downside potential.
All of the following: # Papa 30min Opening range JS, Entry Signal emerged
All of the following: # X-ray 30min Opening range JS, Exit Signal emerged
The backtest shows some interesting metrics, but I am not fully convinced about the strategy's robustness. The win rate of 58% combined with a risk/reward ratio of 1.05 gives us positive expectancy, which is good. However, the net profit of 32% over 3.1 years significantly underperforms the buy & hold return of 138.6%.
What concerns me most is the market exposure of only 32.2%. This means the strategy sits in cash most of the time, which explains the underperformance. The relatively low Sharpe ratio of 1.21 also indicates the risk-adjusted returns are not exceptional. One positive aspect is the max drawdown of -6.5% compared to asset's -23.8%, so the strategy does provide some downside protection.
Looking at the performance periods, there is quite some inconsistency. While the 6-month to 2-year returns look decent, the recent 1-3 month performance has been negative. This could indicate the strategy is losing its edge. I would recommend doing more robustness tests with different parameter settings before risking real money. Perhaps consider optimizing the entry/exit rules to increase market exposure while maintaining the solid win rate.
Total Trades | 344 | Net Profit | 32.0% | Buy & Hold Profit | 138.6% |
Win Rate | 58% | Reward/Risk Ratio | 1.05 | Max Drawdown | -6.5% |
Asset Max Drawdown | -23.8% | Exposure | 32.2% | Avg Candles in Position | 8.4 |
Sharpe Ratio | 1.21 | Sortino Ratio | 1.16 | Realized Volatility | 6.30% |
Max Winning Streak | 11 | Avg Winning Streak | 2.7 | Max Losing Streak | 6 |
Avg Losing Streak | 1.9 | Avg Trades per Month | 18.4 | Avg Trades per Day | 0.6 |
Return Std Dev | 0.6 | Loss Std Dev | 0.4 | Win Std Dev | 0.5 |
Expectancy | 0.2 | Beta | 0.12 |
backtest | exposure | peformance vs asset | drawdown vs asset | win% | reward/risk |
---|---|---|---|---|---|
BTCUSDT β’ 10 Minutes | 15% | (1.0%/4.2%) 0.24x | (-4.6%/-11.1%) 0.41x | 56 | 0.9 |
EURUSD β’ 10 Minutes | 22% | (0.8%/2.1%) 0.38x | (-1.7%/-3.6%) 0.47x | 87 | 0.2 |
GLD β’ 10 Minutes | 24% | (0.8%/39.2%) 0.02x | (-2.6%/-8.3%) 0.31x | 60 | 0.7 |
NVDA β’ 10 Minutes | 32% | (25.9%/41.7%) 0.62x | (-15.6%/-42.8%) 0.36x | 54 | 1.1 |
PLTR β’ 10 Minutes | 33% | (38.1%/439.0%) 0.09x | (-25.4%/-46.5%) 0.55x | 58 | 1.0 |
SPY β’ 10 Minutes | 22% | (16.4%/12.3%) 1.33x | (-5.5%/-20.7%) 0.27x | 68 | 0.8 |
TSLA β’ 10 Minutes | 29% | (-7.9%/23.0%) -0.34x | (-34.7%/-55.3%) 0.63x | 60 | 0.7 |
WMT β’ 10 Minutes | 32% | (13.3%/40.0%) 0.33x | (-9.1%/-23.8%) 0.38x | 63 | 0.8 |
BTCUSDT β’ 15 Minutes | 20% | (2.3%/33.4%) 0.07x | (-7.2%/-12.0%) 0.60x | 52 | 1.1 |
EURUSD β’ 15 Minutes | 27% | (3.9%/8.2%) 0.48x | (-1.4%/-4.3%) 0.33x | 83 | 0.3 |
GLD β’ 15 Minutes | 31% | (4.0%/66.4%) 0.06x | (-4.4%/-8.3%) 0.53x | 59 | 0.8 |
NVDA β’ 15 Minutes | 34% | (69.7%/211.7%) 0.33x | (-10.1%/-42.8%) 0.24x | 57 | 1.2 |
PLTR β’ 15 Minutes | 33% | (124.3%/846.9%) 0.15x | (-14.3%/-46.5%) 0.31x | 56 | 1.4 |
SPY β’ 15 Minutes | 24% | (13.3%/31.8%) 0.42x | (-4.4%/-21.1%) 0.21x | 62 | 0.8 |
TSLA β’ 15 Minutes | 27% | (16.3%/41.6%) 0.39x | (-20.0%/-55.6%) 0.36x | 56 | 0.9 |
WMT β’ 15 Minutes | 33% | (27.2%/83.0%) 0.33x | (-4.9%/-23.8%) 0.21x | 64 | 0.9 |
BTCUSDT β’ 30 Minutes | 21% | (-3.7%/14.3%) -0.26x | (-20.8%/-31.2%) 0.67x | 57 | 0.7 |
EURUSD β’ 30 Minutes | 35% | (-1.1%/5.7%) -0.19x | (-5.2%/-7.4%) 0.70x | 75 | 0.3 |
GLD β’ 30 Minutes | 34% | (11.1%/87.3%) 0.13x | (-6.9%/-11.8%) 0.58x | 55 | 1.0 |
NVDA β’ 30 Minutes | 34% | (58.6%/1089.5%) 0.05x | (-29.2%/-42.9%) 0.68x | 54 | 1.1 |
PLTR β’ 30 Minutes | 30% | (19.4%/1516.1%) 0.01x | (-41.6%/-48.4%) 0.86x | 54 | 0.9 |
SPY β’ 30 Minutes | 35% | (18.1%/65.6%) 0.28x | (-6.8%/-20.2%) 0.34x | 63 | 0.7 |
TSLA β’ 30 Minutes | 29% | (62.0%/33.8%) 1.83x | (-20.9%/-67.1%) 0.31x | 56 | 1.0 |
WMT β’ 30 Minutes | 32% | (32.0%/138.6%) 0.23x | (-6.5%/-23.8%) 0.27x | 58 | 1.1 |
BTCUSDT β’ 5 Minutes | 18% | (2.2%/5.7%) 0.39x | (-2.1%/-8.9%) 0.24x | 64 | 1.0 |
EURUSD β’ 5 Minutes | 23% | (0.7%/0.8%) 0.87x | (-0.7%/-3.7%) 0.19x | 88 | 0.2 |
GLD β’ 5 Minutes | 23% | (-3.0%/21.5%) -0.14x | (-7.3%/-8.0%) 0.91x | 61 | 0.5 |
NVDA β’ 5 Minutes | 29% | (14.6%/42.5%) 0.34x | (-9.3%/-38.8%) 0.24x | 61 | 0.9 |
PLTR β’ 5 Minutes | 26% | (18.3%/95.6%) 0.19x | (-14.7%/-46.6%) 0.32x | 55 | 1.1 |
SPY β’ 5 Minutes | 14% | (5.4%/3.4%) 1.59x | (-4.0%/-21.1%) 0.19x | 61 | 0.9 |
TSLA β’ 5 Minutes | 21% | (47.4%/-22.2%) -2.14x | (-7.1%/-48.5%) 0.15x | 68 | 0.9 |
WMT β’ 5 Minutes | 27% | (12.5%/1.2%) 10.42x | (-4.8%/-23.8%) 0.20x | 63 | 0.9 |