Idea in brief
Vincent Desano (Desi Trades) trades an intraday break and retest. The best level for this is the prior day high (PDH), and for shorts the prior day low (PDL) or the premarket low. The author does not enter on the breakout itself. The author waits for price to return to the level and watches how 2-minute candles behave in this zone, called the battle zone.
Entry comes after a bull flag above the level, when a candle engulfs the pullback and breaks the flag. The stop goes beyond the level. The first target is the high of the breakout wave, where part of the position is closed. The author manages the rest depending on the situation.
The author trades mainly QQQ and SPY options and believes the setup works just as well on NQ and ES futures. The card describes a trade in the underlying asset.
Why it might work
According to the author, those who bought the breakout itself get a pullback against them and exit on their stops right at the level. If buyers show up at the level and hold price above it for several candles, the former high becomes support, and the trade gets a nearby stop. The 2-minute chart matters because while a 5- or 10-minute candle is closing, price has time to move away from the level, and the risk grows.
Reading the battle zone and managing the remainder are discretionary for the author. There are no statistics for a mechanical version, and we have not tested the explanation.
Rules
Levels and tolerance
// main session 09:30-16:00 ET (NQ, ES, QQQ, SPY)
PDH, PDL = high and low of the prior main session // author; Finetiq: main session, not the futures day
PMH, PML = premarket high and low // author: levels of the same rank
// Finetiq: premarket for futures is 18:00-09:30 ET, for ETFs 04:00-09:30 ET
Tol = 0.5 * ATR(20) on 2-minute bars // Finetiq: the author's "margin of error", no number given
Breakout and battle zone (long, short mirrored)
// 2-minute bars, decisions at the bar close
Break = Close > PDH // Finetiq: breakout on a close
// no entry on the breakout (author)
BreakHigh = highest High from Break to the start of the pullback // author: this is the first target
Retest = a bar after Break with Low <= PDH + Tol // author: pullback to the level
Invalid = Close < PDH - Tol // Finetiq: a "clear rejection" of the level
// author: a close slightly below the level followed by a move back above does not cancel the trade
ZoneLow = lowest Low since the start of Retest
BarsInZone = number of bars since the start of Retest
IF BarsInZone > 10 AND no entry yet THEN CANCEL // Finetiq: the author waits 3-5 candles,
// but does not count time strictly
Entry: flag and engulfing
FlagHigh = Highest(High, 3)[1] // Finetiq: top of the pullback over three bars
Engulf = Close > Open
AND Close > FlagHigh // author: the candle engulfed the pullback and broke the flag
AND Low <= PDH + Tol // author: the candle was red at the level and reversed
AND BarsInZone >= 3 // author: 3-5 candles in the zone
IF Retest AND NOT Invalid AND Engulf
AND Time between 09:32 and 13:00 ET // Finetiq, based on the author's filter "by 12-13 o'clock it's over"
AND BreakHigh - Close >= Close - ZoneLow // Finetiq: at least 1R to the first target
BUY AT NEXT BAR OPEN // the author enters at market right away
Stop and exit
StopLoss = ZoneLow - 1 tick // author: the "below the retest wick" variant
// the author's second variant: exit if a candle closes back below the level
// IF Close < PDH - Tol THEN EXIT AT NEXT BAR OPEN // Finetiq: same tolerance
PT1 = BreakHigh // author: the prior breakout high
AT PT1: EXIT 50% LIMIT // author: a quarter or a half
remainder: stop stays in place while price is above the level // author
EXIT remainder at 15:55 ET // Finetiq
// the author takes off the remainder in parts and exits before the next opposing level
Short from PDL
// author: the best case is when the session opened below PDL
IF Open(09:30) < PDL
// spike up to the level, long upper wick, close below, bear flag, bearish engulfing
rules above mirrored: Retest = High >= PDL - Tol, SELL SHORT AT NEXT BAR OPEN
StopLoss = high of the retest zone + 1 tick // author: holding above PDL cancels the idea
IF Open(09:30) > PDL
short only after a breakout on a close and a retest // author: morning traps happen here
Author's filters
// no-trade zone (NTZ): between the premarket low and PDH
NTZ = [PML; PDH], if PML < PDH // author: the NTZ boundaries are the trading levels
IF Close inside NTZ THEN no new entries // author
IF Time >= 12:30 ET AND not a single close outside NTZ since the open
stop trading for the day // author: 12:00-13:00; Finetiq: 12:30
// "Big Four": NQ, ES, QQQ, SPY
// author: do not open a long on NQ without the same breakout and retest on ES
LongAllowed = on the same bar Close(ES) > PDH(ES) // Finetiq: formal condition
Parameters
| Parameter | Value | Source |
|---|---|---|
| Entry timeframe | 2 minutes | author |
| Levels | PDH, PDL, premarket high and low | author |
| Session for PDH and PDL | main, 09:30-16:00 ET | Finetiq |
| Time in the retest zone | 3-5 candles, 6-10 minutes | author |
| Cancel without entry | after 10 bars | Finetiq |
| Tolerance Tol | 0.5 × ATR(20) of 2-minute bars | Finetiq |
| Retest cancel | close below PDH − Tol | Finetiq (author: "clear rejection") |
| Flag | high of the three bars before the signal | Finetiq |
| Signal | engulfing candle breaking the flag | author |
| Stop | below the retest zone low or a close below the level | author |
| First target | breakout high | author |
| Scale-out at the first target | 50% | author (a quarter or a half) |
| Minimum to the first target | 1R | Finetiq |
| Entry window | 09:32-13:00 ET | Finetiq |
| No-trade zone | between the premarket low and PDH | author |
| Day stop in a range | 12:30 ET | author (12:00-13:00), number by Finetiq |
| ES confirmation | ES beyond its own level | author, condition by Finetiq |
| Exit of the remainder | 15:55 ET | Finetiq |
What to test
- Retest versus breakout. On the same days compare a stop order on the PDH breakout itself, a limit order on a touch of the level after a pullback, and an entry on the engulfing candle. The author considers the breakout entry the worst. Look at the average trade in R and the number of trades: the card skips strong breakouts without a pullback.
- Tolerance and zone window. Tol of 0.25, 0.5 and 1 ATR(20), window of 5, 10 and 20 bars. If the result holds only for one combination, it is overfitting.
- The author's two stops. Price below the zone low versus an exit on a close below the level. The second is stopped out by wicks less often but loses more when the level is broken by one strong candle.
- Scale-out at the first target. 25%, 50% and 100% at the breakout high. Check whether the partial exit raises expectancy or only smooths the equity curve.
- Filters. Without NTZ, with NTZ, with NTZ and ES confirmation. The author explains the April 25 loss by a divergence between NQ and ES.
- Shorts by opening location. The author considers PDL shorts best when the session opens below the level. Split shorts by where the session opened.
- Costs. Add a tick of slippage on the market entry and on the stop. Check whether the result stays positive at the win rate just above 51% that the author cites.
Platform notes
TradingView (Pine Script)
- For NQ1! and ES1! the symbol session starts at 18:00 ET. A daily high via
request.security(syminfo.tickerid, "D", high[1], lookahead = barmerge.lookahead_on)gives the high of the full futures day, not of the main session. Calculate PDH, PDL and the premarket yourself using windows liketime(timeframe.period, "0930-1600", "America/New_York"). - The tester does not know the order inside a 2-minute candle, and the stop and the first target can fall into the same candle.
use_bar_magnifier = trueon paid plans or a test on 1-minute data helps. - Take the ES confirmation on the same timeframe via
request.securityfrom the closed bar. - Partial exit:
strategy.exit("PT1", qty_percent = 50, limit = pt1, stop = zoneLow).
MultiCharts and TradeStation (EasyLanguage)
Timeis the bar's close time. The first 2-minute candle of the main session hasTime = 932.- With a 24-hour futures session template,
HighD(1)returns the high of the entire trading session. For the main session PDH you need a 09:30-16:00 template or a manual calculation. - ES is added as a second data stream:
Close of Data2. Orders are sent only on Data1. - The stop as a price,
Sell next bar at ZoneLow - MinMove / PriceScale stop, and the limit at the first target live for one bar, so they must be sent on every bar.
MetaTrader 5 (MQL5)
- A CFD daily bar is built on the broker's server time and includes the night. Calculate the main session PDH over the 09:30-16:00 ET window converted to server time, accounting for daylight saving time.
- Index CFDs are quoted almost around the clock, so the premarket boundaries are set by time. CFDs on stocks and ETFs often have no premarket, and the NTZ filter cannot be built.
- The M2 period is standard in MT5. Take the signal from the closed bar (index 1) and detect the appearance of a new bar.
- Confirmation by the S&P 500 is possible if the broker offers both indices. The basis between the CFD and the futures does not interfere with a comparison against the CFD's own PDH.
Where the idea can break
- The author reads the battle zone situationally: how many wicks below the level to forgive, which candle counts as engulfing. The card fixes this with numbers, and a mechanical version can differ noticeably from the author's trading.
- The author's figures (win rate above 51%, first scale-out around 1:1) refer to manual trading, mostly with ATM options, which rise faster than the underlying on a strong move. There is no backtest in the video.
- A win rate just above half with a first target around 1R leaves little room for costs.
- According to the author, continuation after the first target happens only on a trend day. On range days the result will be a series of small losses and breakeven trades.
- The video is sponsored by prop firms and a trading journal. The author calls the largest example (Netflix) an exception.