Video: This is the ONLY Opening BREAKOUT Setup I’ll Ever Trade.
Creator: Momentum.
Original Video: Watch the original video
Difficulty: Advanced
The Big Idea
Momentum. describes an opening trade that waits for a visible high to break, then buys a pullback that holds near that old high. The aim is to participate after price demonstrates a potential resistance-to-support transition, rather than chase the first move through the level.
The review also shows how a favorable morning can lead to an oversized later trade and profit giveback. Those lessons belong together: a repeatable entry needs a repeatable sizing decision, especially when a stock has already accelerated or halted.
The source reports selected trades and a profitable session. Those examples are not an independently verified performance record or evidence that every similar breakout will continue.
Choose the Pivot Before the Breakout
In the premarket example, the presenter identifies recent highs in a tightening pattern. In the opening example, price first makes a high, falls sharply, then recovers above that high. The earlier rejection becomes the reference for a later pullback.
These are observable price events. A line marking prior selling does not disclose all remaining sell orders. The source’s language about “being liquidity” is a way to discuss entry vulnerability, rather than a measurement of the identity or position of other traders.
Write down which high is being used and when it became known. A visually convenient pivot chosen after the rally is a different research process from one selected before price crossed it.
The Entry Has Three Separate Events
| Event | What to observe | What it does not establish |
|---|---|---|
| Break | Price moves through the premarked high | That the breakout will hold |
| Pullback | Price returns toward the old high | That buyers will defend it |
| Confirmation | A defined upward response occurs on the return | That the next leg will reach a new high |
The source describes a clean close above resistance, a return toward it, and renewed buying with moving-average context. That response can provide a more specific risk reference than chasing price far above the level.
Waiting carries a cost: a strong breakout may never return. The absence of a retest means no trade under this model, rather than permission to rewrite the entry rule because the rally looks attractive.
Likewise, a pullback that closes back beneath the level can challenge the role-flip thesis. Decide how much penetration is allowed and whether a wick or a close invalidates the setup.
Moving Averages and VWAP Add Context
The presenter discusses the nine moving average, the 20, and VWAP near the pullback. Their proximity can make the area worth watching, but they are related descriptions of recent trading rather than three independent guarantees.
For a test, specify whether price must touch those references or merely finish above them. Specify the moving-average type and VWAP session too. Including premarket bars changes the inputs and can change the apparent alignment.
Some later moving-average numbers and ticker spellings in the transcript are inconsistent. This guide does not treat every fragment as an exact indicator setting or execution record.
The Opening Example Is a Role-Flip Hypothesis
The source describes an initial move toward 2.65, a decline toward 2.30, and a subsequent push through the earlier high. Rather than buying the extended move, the presenter waits for a return and reports an entry near 2.70 followed by a move toward 3.43.
That narrative explains the selected location. It does not provide enough complete stop and execution data to verify an exact R return. A large favorable excursion is not automatically the realized result of the full position.
The same stock later offers additional pullbacks around other reference levels. Those are new trades with different stops, available reward, and maturity. The quality of the first entry does not automatically carry forward.
Set the Structural Stop Before Choosing Quantity
The most useful error in the review is the presenter’s admission that a later position was too large, prompting a stop that was too tight. That reverses the proper planning order.
In an original example, a bullish retest entered at 2.70 with a logical stop at 2.50 carries 0.20 per share of price risk. A hypothetical $200 budget permits 1,000 shares before costs.
| Decision | Quantity | Stop distance | Planned price loss |
|---|---|---|---|
| Size fitted to the structure | 1,000 shares | 0.20 | $200 |
| Larger size, unchanged structure | 3,000 shares | 0.20 | $600 |
| Larger size forced into the old budget | 3,000 shares | About 0.067 | About $200 |
The third choice restores the displayed cash limit by moving the stop closer. It may put protection inside normal fluctuation rather than beyond the setup’s failure point. If the correct stop creates too much exposure, reduce size or skip the trade.
Execution adds another layer. A hypothetical extra 0.10 of adverse movement on 3,000 shares costs $300, already larger than the nominal $200 budget. Tight chart risk can hide substantial practical risk in a fast-moving stock.
A Halt Creates a Different Execution Problem
The later losing trade occurs around a halt and reopening. The presenter expects a dip-and-rip continuation but encounters a sharper decline.
A halted market does not provide continuous opportunities to execute. Reopening prices can differ from the last displayed price, and a stop is not a guarantee of an exit at its trigger. FINRA’s halt explanation describes why trading can pause, while its order-type guidance explains market-order risk after a stop triggers.
Treat post-halt trades as a separately evaluated category. A pattern that performs well in continuous trading does not automatically retain the same fill assumptions at a reopening.
Exit Rules Need Their Own Definition
The source takes profit around an upper-tail rejection in some trades and discusses other scalps and pullbacks. A final topping wick is only fully visible after the candle ends. An intrabar sale cannot claim certainty from the candle’s eventual shape.
Choose an objective exit policy for each experiment: a fixed reward/risk target, a premarked level, a completed rejection candle, or a defined trailing stop. Do not retrospectively select whichever would have captured the best move.
The presenter also describes wanting to stop earlier but continuing because the stock was still moving. A session rule can make that decision clearer: define the allowed time, maximum attempts, or profit-giveback threshold before trading. None guarantees that subsequent trades would lose; each changes exposure and opportunities.
Pine Script: Opening Pivot Break and Retest
Expand the complete Pine Script research strategy
//@version=6
strategy("Opening pivot break and retest - research proxy", overlay=true,
initial_capital=25000, pyramiding=0, margin_long=100,
commission_type=strategy.commission.percent, commission_value=0.01,
slippage=2, calc_on_order_fills=true, calc_on_every_tick=false,
process_orders_on_close=false)
openingMinutes = input.int(1, "Opening reference window, minutes", minval=1, maxval=15)
toleranceATR = input.float(0.10, "Retest tolerance / ATR at breakout", minval=0)
expiryBars = input.int(10, "Maximum bars to retest", minval=1)
useConfluence = input.bool(true, "Require close above 9 EMA, 20 EMA and VWAP")
reward = input.float(2, "Target R from actual fill", minval=0.1)
cashRisk = input.float(100, "Estimated cash risk before costs", minval=1)
maxShares = input.int(1000, "Maximum shares", minval=1)
entryEnd = input.int(600, "Entry end: NY minutes (600 = 10:00)", minval=571, maxval=959)
flattenMinute = input.int(960, "Flatten: NY minutes (780 = 13:00)", minval=571, maxval=1440)
if barstate.isfirst and (not chart.is_standard or not timeframe.isminutes or timeframe.multiplier != 1)
runtime.error("Use standard one-minute US stock candles.")
if session.ispremarket or session.ispostmarket
runtime.error("Disable extended hours for this opening-session experiment.")
ema9 = ta.ema(close, 9)
ema20 = ta.ema(close, 20)
vwap = ta.vwap(hlc3)
atr = ta.atr(14)
minutesOpen = hour(time, "America/New_York") * 60 + minute(time, "America/New_York")
minutesClose = hour(time_close, "America/New_York") * 60 + minute(time_close, "America/New_York")
firstBar = minutesOpen == 570
varip float openingHigh = na
varip int referenceCount = 0
varip bool referenceReady = false
varip bool armed = false
varip int breakoutBar = na
varip float tolerance = na
varip bool used = false
varip float tradeStop = na
varip float tradeTarget = na
varip float seenPosition = 0.0
fillPass = strategy.position_size != seenPosition
seenPosition := strategy.position_size
if fillPass and strategy.position_size > 0
distance = strategy.position_avg_price - tradeStop
if distance > 0
tradeTarget := strategy.position_avg_price + reward * distance
else
tradeTarget := na
strategy.close("L", comment="Fill beyond stop", immediately=true)
if not fillPass and barstate.isconfirmed
if firstBar
openingHigh := high
referenceCount := 0
referenceReady := false
armed := false
used := false
if minutesOpen >= 570 and minutesOpen < 570 + openingMinutes
openingHigh := na(openingHigh) ? high : math.max(openingHigh, high)
referenceCount += 1
if minutesClose == 570 + openingMinutes
referenceReady := referenceCount == openingMinutes
inWindow = minutesOpen >= 570 + openingMinutes and minutesClose < math.min(entryEnd, flattenMinute)
if not inWindow
armed := false
else if referenceReady and not used and strategy.position_size == 0
if armed and (bar_index - breakoutBar > expiryBars or close < openingHigh - tolerance)
armed := false
if not armed and close > openingHigh and close[1] <= openingHigh and not na(atr)
armed := true
breakoutBar := bar_index
tolerance := atr * toleranceATR
touched = low <= openingHigh + tolerance and high >= openingHigh - tolerance
confirmed = close > openingHigh and close > open
confluenceOK = not useConfluence or (close > ema9 and close > ema20 and close > vwap)
if armed and bar_index > breakoutBar and touched and confirmed and confluenceOK
candidateStop = low - syminfo.mintick
unitRisk = (close - candidateStop) * syminfo.pointvalue
shares = unitRisk > 0 ? math.floor(math.min(maxShares, cashRisk / unitRisk)) : 0
if shares >= 1
tradeStop := candidateStop
tradeTarget := na
used := true
armed := false
strategy.entry("L", strategy.long, qty=shares)
strategy.exit("L-bracket", "L", stop=tradeStop)
if minutesClose == flattenMinute
strategy.cancel_all()
strategy.close_all(comment="Session flatten", immediately=true)
if strategy.position_size > 0 and not na(tradeTarget)
strategy.exit("L-bracket", "L", stop=tradeStop, limit=tradeTarget)
plot(referenceReady ? openingHigh : na, "Frozen opening pivot", color=color.orange, style=plot.style_linebr)
plot(ema9, "9 EMA", color=color.blue)
plot(ema20, "20 EMA", color=color.purple)
plot(vwap, "VWAP", color=color.gray)
plot(strategy.position_size > 0 ? tradeStop : na, "Stop", color=color.red, style=plot.style_linebr)
plot(strategy.position_size > 0 ? tradeTarget : na, "Target", color=color.green, style=plot.style_linebr)
The following original long-only strategy freezes the high of an opening reference window, waits for a completed break above it, then waits for a later bullish retest. The default window is the first minute; it can be extended to study a broader opening range.
Our definitions: the return must overlap a zone of ±0.10 ATR, frozen at the breakout, and close above the pivot and its own open. Optional confluence requires a close above the nine EMA, 20 EMA, and session VWAP. These EMA choices and close-based conditions are ours.
The retest expires after ten chart bars or a close beneath the zone’s lower edge. The stop is one tick beneath the rejection candle’s low. Defaults allow one entry before 10:00 New York time, estimated $100 cash risk capped at 1,000 shares, and a 2R target from the actual fill.
This tests the entry sequence on one symbol. It does not find tightening wedges, rank leading gappers, reproduce the source’s exact opening candle, or trade the premarket examples.
Execution QA
Use standard one-minute US stock candles with extended hours disabled and an opening aligned to 9:30 New York time. The reference requires every expected opening-window bar. Its high becomes available only after the window completes and remains fixed for that session.
The breakout and retest must occur on different candles. An active valid setup retains its breakout timestamp and tolerance instead of being overwritten by another breakout. The strategy cancels it when the entry window ends.
Signals use completed closes. Market entries normally fill at the next bar’s open, and initial protection is submitted alongside entry. A fill-only recalculation sets the target using actual entry and the frozen stop without selecting a new setup from the fill bar’s completed high or low. A fill beyond the stop prompts an immediate simulated exit.
Quantity is estimated from the signal close, so gap and slippage risk can exceed the intended amount. The emulator’s full fills cannot reproduce the source’s quick discretionary execution or actual available depth. Its 100% margin setting can reject otherwise qualifying orders.
Commission defaults to 0.01% per fill and slippage to two ticks, adjustable in Strategy Properties. Spreads, partial fills, halted periods, and reopening auctions are not modeled as distinct execution processes. The session flatten uses an immediate simulated close, an optimistic assumption requiring stress. Set 780 minutes after midnight for a 13:00 early close; holidays are not detected automatically.
The code has been reviewed for its stated logic but has not been compiled or backtested in TradingView. Inspect ambiguous same-bar bracket outcomes with Bar Magnifier where available. It omits discretionary tail exits, later adds, premarket selection, and a portfolio-wide profit lock. No performance result is claimed.
Backtest Lab
| Comparison | Change one condition | Evaluate |
|---|---|---|
| Reference window | One versus several opening minutes | Signal timing and level sensitivity |
| Confluence | Toggle the EMA/VWAP requirement | Net expectancy and excluded opportunities |
| Retest tolerance | Change frozen ATR width | Adverse excursion and invalidation frequency |
| Execution stress | Increase slippage and commissions | Whether narrow-stop results survive friction |
Use identical symbols and dates and include losing candidates. Validate unchanged rules on an unseen period. Separately annotate gap size, activity, spreads, and halt exposure before judging the small-cap context; one favorable session does not establish that market “flow” has permanently improved.
Final Takeaway
The pattern separates breaking a level from defending it on a return. The risk decision should follow the same discipline: identify where the retest fails, then fit quantity to that distance and realistic execution. A successful morning does not justify reversing that order on a later, more volatile opportunity.
Risk Disclosure: This material is for educational and research purposes only and is not financial or investment advice. Trading can result in substantial losses. Backtests are hypothetical, depend heavily on their assumptions, and cannot reproduce every aspect of live execution. Commissions, spreads, slippage, liquidity, partial fills, gaps, trading halts, order behavior, market regime changes, and discretionary decision-making can materially affect results. Small-cap and low-priced stocks can be especially volatile. Stops do not guarantee an execution price. Historical results do not guarantee future performance.
This article is an independent educational companion to the video and is not affiliated with, sponsored by, endorsed by, or authorized by Momentum.