GDXU strategy validation
Validated on 1-minute candles
Validated Oct 29, 2026 — may not reflect a later revision
- Max drawdown
- −12.5%
- largest fall from a peak, net of costs
- Average per trade
- +50.9 bp
- net of costs
- Profit factor
- 1.82 → 1.17
- in-sample → out-of-sample
- Win rate
- 62% → 42%
- in-sample → out-of-sample
- Trades
- 118
- 78 in-sample · 40 out-of-sample
15m opening range breakout (longs, GDXU 1m) This strategy trades long on GDXU during the regular session, looking for bullish breakouts of the opening range with momentum and technical indicator confirmation. In the training period it showed solid performance with a high hit rate and consistent gains. However, in the out-of-sample period its behavior deteriorated significantly: the hit rate fell, gains shrank markedly and profitability per trade decreased considerably. The out-of-sample profit factor retains less than 70% of the training-period value, which indicates overfitting. The result is inconclusive: the parameters were over-optimized for the historical data and do not generalize reliably to new data. It is recommended to review the entry conditions and validate with a broader independent dataset. Verdict: inconclusive. Exits: take profit at a price level, stop-loss at a price level; automatic close at the end of the session if still open; at most one trade per day. Results are net of a cost of 0.10% per trade. Past results do not guarantee future results.
Results by period
| Metric | In-sampleJan 2025 – Sep 2025 | Out-of-sampleSep 2025 – Dec 2025 |
|---|---|---|
| Trades | 78 | 40 |
| Win rate | 62% | 42% |
| Profit factor | 1.82 | 1.17 |
| Avg. win | 2.35% | 3.72% |
| Avg. loss | -2.06% | -2.35% |
| Best trade | 7.58% | 9.68% |
| Worst trade | -6.00% | -5.02% |
| Longs | 78 (62%) | 40 (42%) |
| Shorts | 0 | 0 |
| Total return | 50.99% | 9.13% |
Requires signing in; the account is free.
Strategy tested
Intraday strategy, long only, at most one trade per day, Monday to Friday. Times in ET, regular session only. Opening range: the high and low of the candles from 09:30 to 09:44 (first 15 minutes). Width = high - low. Day conditions: • today's open is at least 0.3% above the previous session's close; • the opening range has a minimum width of approximately 0.1% (high x 0.9995 >= low x 1.0005). Entry: from 09:45 until the end of the day, buy at the close of the first candle that simultaneously meets: • it closes above the opening range high; • it closes above the session VWAP; • RSI(14) greater than 55, calculated using only today's candles; • its volume is greater than 1.3 times the average volume per candle of the opening range (candles from 09:30 to 09:44). Stop: entry price minus 1 times the opening range width. Target: entry price plus 3 times the width. If neither is hit, it closes at the end of the day. For validation use the symbol GDXU, 1-minute timeframe and time window 2025-01-01/2025-12-31
What we assumed
- OMITTED: the condition 'today's open is at least 0.3% above the previous session's close'. It is removed from the entry filter because it requires the previous session's close (the prior session), which is not available on 1m (it requires 2m or more), and the requested 1-minute timeframe was kept. The strategy therefore trades every day, with or without a gap.
- Opening range: time window 09:30-09:45 (half-open interval, equivalent to the candles from 09:30 to 09:44, 15 1m candles); high = max of the highs, low = min of the lows. Width = high - low.
- Minimum range width: the condition high x 0.9995 >= low x 1.0005 was copied literally.
- Entry window: from 09:45 to 16:00 ET, Monday to Friday (until the end of the regular session), because the idea states 'until the end of the day'; the engine closes the position at the end of the session if neither stop nor target is hit.
- Volume: the volume of the current 1m candle is compared with 1.3 x the average volume per candle in the opening range (09:30-09:45).
- APPROXIMATE: the validator's RSI(14) is calculated over the continuous series of candles, not reset each day, so it cannot be forced to use only today's candles; from 09:45 there are already 15 candles from the day, but it includes some prior history.
- VWAP: the validator's vwap indicator is used, which is assumed to be calculated over the session.
- Stop = entry close - range width (level stop); target = take profit at a risk multiple of 3, equivalent to entry + 3 x width, because the risk is exactly 1 width.
- One trade per day and long only: the engine automatically takes the first signal of the day.
- Tested over the requested range: 2025-01-01 to 2025-09-13 (training) and 2025-09-14 to 2025-12-31 (out-of-sample).
More analyzed strategies
See allPast performance is not indicative of future results. Any past result shown here reflects historical data and does not guarantee similar outcomes going forward.
This content is provided for informational and educational purposes only and does not constitute investment advice, a recommendation, or an offer to buy or sell any security. Consult a qualified financial advisor before making investment decisions.
Backtested and simulated results are hypothetical and do not represent actual trading. Simulated performance has inherent limitations and may differ significantly from live results due to market conditions, slippage, and other factors.