CCL strategy validation
Validated on 1-minute candles
Validated Oct 29, 2026 — may not reflect a later revision
- Max drawdown
- −5.6%
- largest fall from a peak, net of costs
- Average per trade
- +69.0 bp
- net of costs
- Profit factor
- 5.99 → 0.39
- in-sample → out-of-sample
- Win rate
- 70% → 50%
- in-sample → out-of-sample
- Trades
- 42
- 30 in-sample · 12 out-of-sample
CCL opening range breakout with bullish gap The strategy goes long on CCL during the regular session, looking for upside breakouts after morning gaps. The RSI(14) is continuous across sessions, so it retains some smoothing from previous days. In the training period, the strategy showed solid performance with consistent gains. However, in the out-of-sample period its performance deteriorated significantly: trades produced net losses and the profit factor dropped sharply. This pronounced degradation between the two periods suggests overfitting: the parameters and conditions were over-optimized for the training history and do not generalize well to new data. The result is not reliable for future trading. 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 | 30 | 12 |
| Win rate | 70% | 50% |
| Profit factor | 5.99 | 0.39 |
| Avg. win | 1.87% | 0.39% |
| Avg. loss | -0.73% | -1.00% |
| Best trade | 11.20% | 1.32% |
| Worst trade | -1.35% | -1.64% |
| Longs | 30 (70%) | 12 (50%) |
| Shorts | 0 | 0 |
| Total return | 32.66% | -3.67% |
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. Daily 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. Uses the symbol CCL with a 1-minute timeframe in the time window from 2025-01-01 to 2025-12-31
What we assumed
- Opening range = time window from 09:30 to 09:45 (half-open interval, equivalent to the 09:30-09:44 candles); entry can only occur from 09:45.
- Today's open = open of the 09:30 candle (time window 09:30-09:31, fn first). Previous session close = close of the bar before the 09:30 candle (offset 1 of the close evaluated at that candle with a time window), which is the last close of the previous session; this method was used because the previous session exceeds the 499-bar limit on 1m candles. Condition: open >= previous close x 1.003.
- Minimum range width implemented literally as high x 0.9995 >= low x 1.0005.
- Entry window from 09:45 to 16:00 ET, Monday to Friday, because the idea says 'until the end of the day'.
- APPROXIMATE: the RSI(14) cannot be calculated by restarting each session; the continuous RSI(14) is used, which from 09:45 onward already includes 15 candles from today but retains some smoothing from previous sessions.
- Volume > 1.3 x average volume per candle from 09:30-09:44, calculated with a time window mean over volume.
- Stop = level (entry close - range width); target = risk multiple of 3, i.e. entry + 3 x width, since the risk is 1 width.
- The catalog's VWAP is used as the session VWAP.
- One trade per day is guaranteed by the engine; if neither stop nor target is hit, the engine closes at the end of the session.
- Only the long side is modeled, as the idea indicates.
- It was 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.