Support and Resistance That Matter: Five Context Checks Before a Breakout

Video: Why Your Support & Resistance Lines Don’t Work ($100M Trader Explains)
Creator: TheOneLanceB
Original Video: Watch the original video
Difficulty: Intermediate

The Big Idea

A horizontal line identifies a price. It does not explain why that price should matter today, which participants might act there, or whether the surrounding market offers enough movement to justify a trade.

TheOneLanceB presents support and resistance as conditional tools. His five considerations are whether the instrument is in play, whether the level is clean, whether consolidation is constructive, whether the reaction shows meaningful participation, and whether multiple timeframes agree. He explicitly allows imperfect combinations and acknowledges that attractive setups can fail.

The useful learning sequence is attention → location → preparation → response → broader context. It turns “price crossed my line” into a set of questions. The next step is to distinguish plausible explanations from evidence that a particular filter improves results.

If You Remember Only One Thing

Draw fewer lines, specify what would make each one relevant, and record the failures as carefully as the successful breaks.

60-Second Summary

  • A stock attracting unusual activity may offer a different opportunity set from an inactive stock.
  • A clean level should be identifiable without moving the line to fit the outcome.
  • Consolidation describes the behavior before a break, not just the presence of a small candle.
  • Volume and fast movement can indicate participation; they do not identify participants’ emotions directly.
  • Higher-timeframe agreement should use information already available when the trade is considered.
  • More filters can improve selectivity while reducing the sample. Neither effect proves higher expectancy.

Start with the Instrument, Not the Line

The presenter’s first criterion is an in-play instrument: unusual volume, volatility, a catalyst, or a striking setup that attracts attention. His proposed mechanism is that unusually active markets undergo more price discovery and repositioning. A level may then organize a trade more usefully than it would in a quiet instrument.

“In play” is not a single statistic. An earnings surprise, an abnormal trading range and elevated volume are different conditions. Two reviewers might disagree unless they specify which qualifies. Our experimental volume proxy below is deliberately narrower than the source: breakout-bar volume divided by the mean volume of the preceding 20 chart bars.

That proxy has limitations. Intraday volume has a time-of-day pattern; comparing the opening bar with quieter midday bars can exaggerate apparent abnormal activity. A stronger follow-up would compare each bar with the same time interval on previous sessions. A current-bar volume rule also waits until that bar closes, so it cannot justify an earlier fill within it.

The transcript names historical examples and reports substantial career profits, but provides no audited record, specified academic paper, or reproducible dataset. Its opening claim about academic findings is too broad to evaluate without the studies and their rules. We can investigate the proposed conditions without treating either that claim or the presenter’s reported profits as proof of this strategy.

A Clean Level Needs a Rule Before the Outcome

The presenter wants a level another competent trader can recognize independently. That is a useful test of clarity: hide what happened afterward, ask two reviewers to mark the level, and compare their choices. If the line becomes obvious only after a large move, the exercise has used hindsight.

Our hypothetical resistance zone spans $49.90 to $50.10. Three separated approaches reject that area before a breakout. That is different from a chart repeatedly trading through $50 in both directions. The first may offer a more interpretable boundary; the second may show ordinary acceptance rather than a meaningful barrier.

Do not force a price zone into an exact line. Record a tolerance, touch definition and separation requirement. For example, our possible research definition could require two approaches within 0.15 ATR of a frozen level, at least three bars apart, with intervening closes below the zone. Those numbers are ours, not supplied source rules. They require a separate implementation and should be compared with alternatives.

A line is also not evidence of an executable order. A close above resistance differs from an intrabar touch, and both differ from the next available fill. Decide which event creates the signal before measuring outcomes.

Consolidation Is the Preparation, Not the Break

The source treats consolidation as relative equilibrium after movement, and asks how far and how loosely price retraces. The intuitive idea is that a shallow, contained pause may reveal different pressure from a violent pullback. The transcript refers to charts and course material without supplying full measurement rules here.

Our hypothetical examples make the distinction concrete. After rising from $47 to $50, one stock holds between $49.60 and $50 for five bars. Another swings between $48 and $50. Both remain below resistance, but their ranges and retracements are different. Whether the tighter pause predicts better trades is a hypothesis, not a conclusion established by these examples.

For the baseline experiment, we measure the total high-to-low range of the five completed bars before the signal and compare it with the prior bar’s ATR(14). A range no greater than 1.5 ATR qualifies when the filter is enabled. This measures compactness only. It does not require a preceding impulse, shallow retracement, rising lows, or a specific number of touches, so it is not a complete definition of the presenter’s “proper consolidation.”

Read the Reaction Without Pretending to Read Minds

The presenter describes urgency, covering shorts and buyers joining a breakout. Price accelerating away from a level and volume expanding are observable; panic and participant identity usually are not visible in ordinary OHLCV data.

Separate a reaction used as a trigger from a reaction used as evidence after entry. If you buy only after a large confirmation candle closes, you obtain more information but often a different entry and stop distance. You cannot assign that confirmation information to an order that supposedly filled before the candle developed.

Our volume filter is one measurable participation proxy. It does not prove that shorts covered, distinguish institutional orders from retail orders, or measure the speed of the move within the bar. A later displacement test could require the completed breakout close to exceed the level by 0.25 ATR, then compare the changed entry prices and skipped opportunities.

Timeframe Agreement Adds Context, Not Independent Votes

The source favors levels that matter on several chart horizons. A prior daily high near an intraday ceiling may attract a broader set of participants than an intraday ceiling alone. But two charts are views of overlapping price data; agreement is not equivalent to two independent experiments supporting the same conclusion.

Our hypothetical intraday resistance is $50.00 and the previous completed daily high is $50.05. With prior intraday ATR of $0.40, the difference is 0.125 ATR. It passes an experimental 0.25 ATR tolerance. The calculation is objective; the choice of tolerance and its economic usefulness still need testing.

Use a completed higher-timeframe value. Today’s eventual daily high is not available in the morning. The code requests yesterday’s high using an offset expression, which is the confirmed-data technique described in TradingView’s official higher-timeframe documentation (paid link).

Build a Setup Record Before Building a Filter Stack

QuestionRecord before the breakRecord after it
Was the instrument in play?Dated catalyst, known activity and available measurementsConfirmed volume and volatility
Was the level clean?Frozen price or zone, tolerance, prior approachesBreak or rejection under the chosen rule
Was there constructive preparation?Base range, retracement and elapsed barsWhether the base held or failed
Was the reaction meaningful?Predefined confirmation thresholdObserved volume and displacement
Did timeframes agree?Completed higher-timeframe level and its distanceOutcome without redrawing the original levels

This is our worksheet. Include every eligible break, including unattractive outcomes. A database built only from spectacular examples cannot tell you how often apparently good conditions fail. Store screenshots with the right side hidden during classification, then reveal outcomes after recording the inputs.

From a Level to a Risk Plan

In our hypothetical long trade, a confirmed entry at $50.20 and structural stop at $49.80 create $0.40 of planned risk per share. A $51.00 target offers $0.80, or 2R. With a $100 planned risk budget, 250 shares would mean $12,550 of exposure. That sizing calculation assumes the stated fill and stop execution; it is not a guarantee that a gap cannot produce a larger loss.

If entry instead fills at $50.40 while the stop and target remain unchanged, planned risk becomes $0.60 and reward $0.60: 1R. This is why the research must identify actual fills and bracket assumptions rather than calculate reward/risk from an attractive signal price.

Use expectancy to evaluate the complete distribution. At hypothetical 40% wins averaging 2R and 60% losses averaging 1R, gross expectancy is 0.20R. Costs of 0.15R per trade would leave 0.05R under those assumptions. These are teaching calculations, not results for the source’s approach.

Executable Research: Does Context Improve a Simple Breakout?

View Pine Script Backtest Code
//@version=6
strategy("Context filters for resistance breakouts", overlay=true,
     initial_capital=10000, default_qty_type=strategy.percent_of_equity,
     default_qty_value=10, pyramiding=0, margin_long=100,
     commission_type=strategy.commission.percent, commission_value=0.05,
     slippage=2, process_orders_on_close=false,
     calc_on_order_fills=false, calc_on_every_tick=false, use_bar_magnifier=true)

// Our operational definitions, not the creator's exact trading rules.
int levelBars = input.int(20, "Resistance lookback", minval=5)
int volBars = input.int(20, "Volume baseline bars", minval=5)
bool useVolume = input.bool(false, "Require breakout volume proxy")
float minRVOL = input.float(1.5, "Minimum relative volume", minval=0.1, step=0.1)
bool useConsolidation = input.bool(false, "Require compact pre-breakout range")
int baseBars = input.int(5, "Consolidation bars", minval=2)
float maxBaseATR = input.float(1.5, "Maximum base range / ATR", minval=0.1, step=0.1)
bool useAlignment = input.bool(false, "Require proximity to prior daily high")
float toleranceATR = input.float(0.25, "Alignment tolerance / ATR", minval=0, step=0.05)
int atrBars = input.int(14, "ATR length", minval=2)
float stopATR = input.float(1, "Stop distance / signal ATR", minval=0.1, step=0.1)
float rewardR = input.float(2, "Gross reward / risk", minval=0.5, step=0.5)
int startDate = input.time(timestamp("01 Jan 2020 00:00 +0000"), "First signal date")
int endDate = input.time(timestamp("31 Dec 2030 23:59 +0000"), "Last signal date")

if not timeframe.isintraday
    runtime.error("Use a standard intraday candlestick chart.")

float resistance = ta.highest(high[1], levelBars)
float priorATR = ta.atr(atrBars)[1]
float signalATR = ta.atr(atrBars)
float baselineVolume = ta.sma(volume, volBars)[1]
float rvol = baselineVolume > 0 ? volume / baselineVolume : na
float baseRange = ta.highest(high[1], baseBars) - ta.lowest(low[1], baseBars)
// Offset means yesterday's completed high, available from today's first bar.
float priorDayHigh = request.security(syminfo.tickerid, "D", high[1], lookahead=barmerge.lookahead_on)
bool crossed = close > resistance and close[1] <= resistance
bool volumeOK = not useVolume or (not na(rvol) and rvol >= minRVOL)
bool baseOK = not useConsolidation or (priorATR > 0 and baseRange <= maxBaseATR * priorATR)
bool alignmentOK = not useAlignment or (priorATR > 0 and math.abs(resistance - priorDayHigh) <= toleranceATR * priorATR)
bool dateOK = time_close >= startDate and time_close <= endDate

if barstate.isconfirmed and dateOK and crossed and volumeOK and baseOK and alignmentOK and strategy.position_size == 0 and signalATR > 0
    int riskTicks = math.max(1, int(math.round(signalATR * stopATR / syminfo.mintick)))
    int targetTicks = math.max(1, int(math.round(riskTicks * rewardR)))
    strategy.entry("Long", strategy.long)
    // Fixed relative tick distances are anchored to the actual simulated fill.
    strategy.exit("Bracket", from_entry="Long", loss=riskTicks, profit=targetTicks)

plot(resistance, "Rolling resistance", color=color.orange)
plot(useAlignment ? priorDayHigh : na, "Prior daily high", color=color.blue)
plot(rvol, "Relative volume", display=display.data_window)

Our research question is whether adding one measurable context condition changes the net expectancy and drawdown of a rolling-resistance breakout. Start with all three filters disabled; then change only one. The video says all five conditions are not mandatory on every trade, so an all-or-nothing five-filter stack would obscure which component mattered.

Source rule or ideaOur experimental definitionImplementation shortcut
Break a meaningful resistance levelCompleted close above the highest high of the preceding 20 chart barsRolling ceiling, not a manually frozen clean zone
Instrument participation mattersOptional breakout volume at least 1.5 times the preceding 20-bar averageNo catalyst or same-time-of-day activity model
Preparation and timeframe context matterOptional compact five-bar range and proximity to yesterday’s highNo full retracement, emotion or multi-timeframe consensus model

This code tests one objective interpretation of the source’s concept. Any mechanical definitions introduced here are ours and are not necessarily the creator’s exact rules.

What This Code Actually Tests

On standard intraday candlestick charts, the baseline submits a long market entry after a completed close exceeds the preceding lookback’s highest high while flat. The resistance excludes the signal bar. A rolling ceiling updates as bars pass; an old clean level is not kept indefinitely. Signals while holding a position are skipped rather than queued.

The volume, compactness and daily-alignment toggles start disabled. Compactness and alignment use prior ATR, keeping their scale independent of the completed breakout candle. The stop distance uses the signal bar’s ATR, which is available at the decision close. This includes breakout volatility and is a separate choice from the pre-breakout filter scale.

Market orders normally become eligible for execution on the next simulated tick, often the next bar’s open. The bracket is submitted alongside the entry using relative ticks anchored to the actual fill. Its fixed stop distance is one signal ATR, and its gross target is twice that distance by default, rounded to ticks. A pre-entry gap changes the trade’s location relative to the old level but does not silently turn the target into a different nominal R multiple. No post-fill recalculation uses the entry bar’s eventual high or low.

Later signals cannot overwrite an existing bracket. Position allocation is 10% of equity by default, not a fixed account-risk percentage. Commissions of 0.05% per fill and two ticks of slippage are assumptions adjustable in Strategy Properties. The experiment is long-only, has no session entry restriction or end-of-day flattening, and can hold overnight. Select and record the chart session; regular and extended sessions change the lookbacks, volume baseline and potentially daily context.

Bar Magnifier is enabled where data are available. It can improve historical intrabar modeling but does not guarantee live fills or resolve every ambiguous bar. Inspect bars that touch both exit levels and sensitivity to magnified data. Gaps through stops, spread and liquidity can change realized outcomes. The date inputs restrict new signals; they do not force existing positions to close at the final date or dataset end.

Validation status: This script has not been compiled in TradingView or run against historical data here. No performance results are claimed. Its order timing, fixed bracket and data availability received static review. See TradingView’s strategy documentation (paid link) for broker-emulator behavior and cost settings.

What This Code Does Not Test

It does not reproduce the presenter’s complete discretionary method, independently validate his reported career profits, identify catalysts, infer participant emotions, implement a clean-touch zone rule, or test short breakdowns. Its volume proxy is neither a full in-play classifier nor direct evidence of short covering. A profitable result would concern the specific implemented rule, data and execution assumptions.

Backtest Lab

Preselect symbols, chart interval, session and date windows. Keep the level lookback, stop, target, exposure and costs unchanged during each filter comparison. Use a development period and a separate evaluation period; do not repeatedly retune to the latter. Record trade count, gross qualifying breaks, triggered trades, net expectancy, profit factor, maximum drawdown, average winner and loser, and results across market periods.

ComparisonChange onlyInterpretation to investigate
Participation proxyVolume filter off, then on at 1.5 and 2.0Does improvement persist after costs and outside the development sample, or mainly remove trades?
Compact preparationConsolidation off, then on at 1.0, 1.5 and 2.0 ATRDoes tighter preparation change expectancy and drawdown consistently across neighboring thresholds?
Daily agreementAlignment off, then on with 0.10, 0.25 and 0.50 ATR toleranceDoes proximity add information beyond the baseline, and how much does it shrink the sample?

Compare both per-trade results and total outcomes per baseline opportunity. Filters change holding periods and may allow or prevent later entries, so paired results will not necessarily involve identical trades. Separately count qualifying breaks and skipped signals to expose that sampling effect. Only after the individual comparisons should you test combinations.

Try It Yourself: Classify Before You Reveal

Choose 30 consecutive eligible breaks from a predefined instrument and period. Hide everything after each signal. Record the five criteria using written definitions, and ask a second reviewer to classify ten of the same examples. Disagreement reveals which definitions remain subjective. Reveal the outcomes only afterward and include failed breaks.

Do not use this small exercise to declare profitability. Its first purpose is to improve consistency. Expand the sample and execution rules before evaluating an edge.

Check Your Understanding

  1. Why can a visible level still be unhelpful? The instrument may lack unusual participation or a favorable executable trade.
  2. What makes a level definition vulnerable to hindsight? Redrawing it after observing the subsequent move or selecting only successful reactions.
  3. Does high volume prove participants are panicking? No. It measures trading activity, not motives or position identity.
  4. Why use yesterday’s completed daily high? It was available during the current intraday session; today’s final high was not.
  5. Does enabling more filters prove better selection? No. Smaller samples and changed opportunity sets can create misleading comparisons.
  6. Why is 10% equity allocation not 10% account risk? Allocation is position exposure; planned loss depends on quantity and entry-to-stop distance, with actual loss affected by execution.

Final Takeaway

The source teaches that support and resistance need participation, interpretable structure and context. The deeper principle is to specify the circumstances in which a level should matter before judging its outcome. Do not conclude that five attractive criteria establish an edge. Start with a transparent breakout baseline, add one context proxy at a time, and investigate what survives honest costs and evaluation.


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, gaps, order behavior, market regime changes, and discretionary decision-making can materially affect real-world results.

This article is an independent educational companion to the video and is not affiliated with, sponsored by, endorsed by, or authorized by TheOneLanceB.

As an Amazon Associate I earn from qualifying purchases.