Idea in brief
The most obvious levels on a chart are the prior day high and low. Below yesterday's low sit buyers' stops, above the high sit sellers' stops. Price raids the level, the stops are filled, and if there are no new participants beyond the level, the market comes back. The setup buys this reclaim: the prior day low is broken, a candle closes back above it, and the stop goes below the new low. Short mirrored.
The card brings together three sources with one mechanism and different execution.
- Main version. Jadecap (Kyle), an intraday trader of NQ and ES futures, calls the setup a swing failure pattern (SFP) and gives it to students as homework. The levels are daily, execution is on the hourly or 15-minute chart.
- Variant B. Victor Sperandeo's (Trader Vic) 2B rule as presented by Jack Corsellis. The level can be any: a short-term, intermediate-term or long-term low. Jack applies the idea to daily charts of strong stocks and executes it in a personal way.
- Variant C. Toby Crabel, the author of the opening range breakout, says markets increasingly stall at one- and two-day extremes and reverse. Crabel gives no rules, and the formalization is ours.
Why it might work
All three authors explain the setup through stops. Jadecap describes buying a position from weak hands that close at a loss on the raid. Trader Vic (quoted on a slide in Jack's video) writes about pit traders: they knew where the stops were and pushed price below support to trigger them, after which the market came back.
Crabel's explanation is different. There are now so many daily options that large participants stand in the way of moves above and below one- and two-day extremes. There is more mean reversion at these levels. By Crabel's estimate, the share of continuations after a breakout of yesterday's high has dropped from 56% to 52 or 51%, or even lower. For a breakout strategy that is the difference between profit and zero, for a fade it is an argument in favor.
A caveat: none of the authors shows a test of this exact setup. Jadecap's statistics refer to all of Jadecap's trading. Jadecap also notes that in a trending market yesterday's low is usually not raided, so the setup is rare and leans toward range conditions.
Rules
Main version: SFP at the prior day extreme (Jadecap)
// NQ or ES, levels of the prior trading day
PDH = High of the prior day
PDL = Low of the prior day
// Finetiq: day = futures session 18:00-17:00 ET. Variant: cash session 09:30-16:00 ET
// long
Raid = DayLow < PDL // author: raid of the prior day low
Reclaim = Raid AND Close15 > PDL // author: close back above the level
// Finetiq: the first 15-minute candle close above PDL after the raid.
// The author executes on 1h and 15m and does not specify the timeframe for SFP
IF Reclaim AND TradesToday < 2 // author: one or two attempts per day
StopLoss = DayLow - 2 * Tick // author: below the new low; Finetiq: 2-tick buffer
Target = PDH // author: target at the prior day high
IF (Target - Close15) >= 1.5 * (Close15 - StopLoss) // author: does not take less than 1 to 1.5
BUY AT NEXT BAR OPEN
IF Time >= 12:00 ET AND position is open
EXIT AT MARKET // author: often exits on time at 11:00-12:00,
// the decision is discretionary; Finetiq: we fix 12:00 ET
// short mirrored: DayHigh > PDH, 15m close below PDH, stop above the day's high, target PDL
Jadecap prefers wide stops: a tight stop gets hit before the reversal. In an SFP the stop below the new low is already below PDL, so there is no need to widen it further.
Variant B. 2B: a pierce of the level and a reclaim (Trader Vic, Jack Corsellis)
Trader Vic's rule is broader: the level can be any notable low. According to the slide from the book, the return after a false break of a minor extreme usually happens within the day, of an intermediate-term one within 3-5 days, and of a long-term one within 7-10 days. Trader Vic enters intraday right at the level. Jack Corsellis waits for the daily reversal bar to close and buys above its high.
// daily bars, stocks
Level = swing low
// Finetiq: the Low of a bar with 5 bars on each side that have higher lows.
// The author does not fix the level's horizon
// B1. Trader Vic's execution
IF DayLow < Level // author: price pierced the low
BUY STOP at Level // author: buy on the return above the level, intraday
StopLoss = DayLow at the moment of entry - Tick // author: below the low of the entry day
// B2. Jack Corsellis's execution
Shakeout = Low < Level AND Close > Level // author: the bar pierced the level and closed above it
IF Shakeout
BUY STOP LIMIT at High + Tick // author: through the high of the reversal bar
// Finetiq: limit 0.5% above the stop price, not filled within the day: CANCEL
StopLoss = Low of the reversal bar - Tick // author
// risk filter (Jack)
ADRpct = SMA(High / Low - 1, 20) * 100 // author: 20-day ADR%; Finetiq: formula
StopPct = (EntryPrice - StopLoss) / EntryPrice * 100
IF StopPct >= ADRpct THEN CANCEL // author: stop smaller than ADR%, ideally 1/2-2/3 of ADR%
// author: a 2-3% stop is comfortable, 6-8% is already too wide
Target = EntryPrice + 3 * (EntryPrice - StopLoss) // author (Trader Vic quote): at least 3 to 1
IF BarsSinceEntry >= 10
EXIT AT NEXT BAR OPEN // Finetiq: the authors have no time exit
// context that Jack treats as a strengthening factor, not a required condition
Level near EMA(21); for the fastest stocks near the 10-day, for slow ones near the 50-day average
Volume of the reversal bar < SMA(Volume, 30)
// short mirrored: a pierce of the high, a return below it, SELL SHORT STOP, stop above the bar high
Variant C. Fade of a one- and two-day extreme (Toby Crabel, formalization by Finetiq)
// Finetiq: the whole block is ours, Crabel only gives an observation
H2 = Highest(High, 2)[1] // author: one- and two-day highs
L2 = Lowest(Low, 2)[1]
IF DayHigh > H2 AND Close60 < H2 // Finetiq: raid and reclaim on an hourly close
SELL SHORT AT NEXT BAR OPEN
StopLoss = DayHigh + 2 * Tick // Finetiq
EXIT AT close of the next session // Finetiq: holding up to two days
// long mirrored from L2
// measurement from the interview: calculate before trading
ContRate = share of days where High > PDH and Close > PDH
// Finetiq: our reading of the word "continuation", calculate by year
Parameters
| Parameter | Value | Source |
|---|---|---|
| Levels | prior day high and low | author (Jadecap) |
| Session for the levels | futures, 18:00-17:00 ET | Finetiq |
| Reclaim timeframe | 15 minutes, 1 hour as a variant | author (Jadecap), choice by Finetiq |
| Stop | beyond the new extreme + 2 ticks | author (Jadecap), buffer by Finetiq |
| Target | opposite extreme of the prior day | author (Jadecap) |
| Minimum ratio | 1 to 1.5 | author (Jadecap) |
| Attempts per day | no more than 2 | author (Jadecap) |
| Time exit | 12:00 ET | author (Jadecap: 11:00-12:00), time by Finetiq |
| B: level | swing low, 5 bars on each side | Finetiq |
| B1: entry | buy stop at the level after a pierce | author (Trader Vic) |
| B2: entry | buy stop limit above the reversal bar high | author (Jack Corsellis) |
| B2: limit | 0.5% | Finetiq |
| B: stop | below the low of the day or of the reversal bar | author |
| B: risk filter | stop smaller than the 20-day ADR% | author (Jack Corsellis) |
| B: target | 3R | author (Trader Vic) |
| B: time exit | 10 days | Finetiq |
| B: context | EMA 21, volume below the 30-day average | author (Jack Corsellis) |
| C: level | extreme of the two prior days | author (Crabel) |
| C: entry, stop, exit | hourly close, beyond the extreme, up to two days | Finetiq |
What to test
- Execution at the same level. An entry on the first 15-minute close back inside, a buy stop at the level (B1) and a buy above the daily reversal bar (B2). B2 has a higher entry and a wider stop, B1 has more false triggers. Compare the average trade in R and the share of cancelled signals.
- Crabel's measurement on your market. The share of continuations after a raid of yesterday's high and low, by year. If it is not falling and stays well above 50%, the case for a fade is weaker than in the interview.
- Target and exit. PDH versus 1.5R, 3R and an exit at 12:00 ET. Jadecap says the time exit has helped more than it has hurt, but the decision is discretionary.
- One- and two-day level. The same trigger from PDH/PDL and from the two-day extreme. The two-day level is rarer but closer to Crabel's description.
- Trend. Split trades by where price is relative to the daily SMA 20. Jadecap notes that in a trend yesterday's low is usually not raided. Check in which regime the setup makes money.
- Risk filter and context in variant B. Trades with a stop smaller than ADR% versus the rest. Shakeouts at the 21 EMA and on low volume versus trades without these conditions.
- Costs. The intraday stop is short, and the target is 1.5R. One tick of slippage on the entry and on the stop changes the result noticeably. Run the test with a realistic commission and slippage on stops.
Platform notes
TradingView (Pine Script)
- Prior day levels without lookahead:
request.security(syminfo.tickerid, "D", high[1], lookahead = barmerge.lookahead_on). For ES the daily bar starts at 18:00 ET. For cash session levels, accumulate the high and low yourself within the windowtime(timeframe.period, "0930-1600", "America/New_York"). - In B1 the pierce and the reclaim often happen inside one bar. A stop order placed after such a bar will miss the entry. You need a lower timeframe or
use_bar_magnifier = true(paid plans). - If the stop and the target are both hit within one bar, the order is unknown. Use the same
use_bar_magnifieror test on 1-minute data. - The buy stop limit from B2:
strategy.entry(..., stop = x, limit = y). The order stays until cancelled, so cancel it explicitly after a day viastrategy.cancel.
MultiCharts and TradeStation (EasyLanguage)
Timeis the bar's close time. The 09:45-10:00 candle hasTime = 1000. Exit at 12:00:If Time >= 1200 then Sell next bar at market.Buy next bar at X stoplives for one bar. For B1 the order must be sent on every bar while the pierce is in place and there is no position.- Fix the stop as a number at the moment of entry and send
Sell next bar at StopPx stopon every bar.SetStopLossis set in money and is not tied to the day's low. - The prior day high and low depend on the symbol's session template: 24-hour or day session. Check it before testing.
- B1 on a daily chart requires Intrabar Order Generation, and then the backtest and live trading behave differently. It is more reliable to run B1 on intraday data.
MetaTrader 5 (MQL5)
iHigh(_Symbol, PERIOD_D1, 1)gives the day's high on the broker's server time, not on the futures session. Prior day levels of a Nasdaq-100 CFD and of the CME contract may not match. Calculate them yourself from hourly bars within the 18:00-17:00 ET window.- Convert 12:00 ET to server time, accounting for daylight saving time.
TimeGMT()in the tester equals server time. - A pending
BuyStopviaCTradewith expiration at the end of the day. For the buy stop limit from B2, check whether the broker supports this order type on your symbol. - The stop and target are set as prices, not in
_Point. A CFD price differs from the futures by the basis, so take the levels from the same symbol you trade. - Variant B on stocks requires a CFD for each stock. The broker's daily stock bars must match the exchange session, otherwise the pierce of the low will be different.
Where the idea can break
- None of the authors has a test of this setup. Jadecap's statistics describe all of Jadecap's trading: several entry models, adding to positions, exits by feel. A mechanical version does not reproduce this.
- Jadecap enters only in the direction of the daily bias, which is derived from liquidity and inefficiencies on higher timeframes. Without this filter it is a different setup.
- Jack's variant B lives inside a selection process: strong stocks by relative strength in a continuation base. On a random stock a 2B may work worse. Jack also says the idea is executed differently from the book.
- Crabel's figures are an estimate given in an interview, not a published test.
- Marketing context: Jadecap is known for prop firm payouts, and the episode includes an ad for a trading journal. Jack's video is sponsored and ends with an ad for Jack's screener.
- The intraday stop is short. Slippage on stops and the CFD spread can easily eat a 1.5R target.