Video: Why You Should NEVER Sell at this Resistance (TESTED 200 TIMES)
Creator: TRADING RUSH
Original Video: Watch the original video
Difficulty: Intermediate
The Big Idea
A historical high can matter without being a sensible place to automatically short or close every long position. TRADING RUSH asks whether resistance formed before a large decline deserves that authority in a rising stock-market index. The presenter reports a resistance test, compares it with a random reference, and argues for more ambitious profit targets in higher-timeframe uptrends.
The valuable research principle is to compare an idea with a relevant baseline. A 50% success rate means little until “success,” the comparison sample and the trade mechanics are defined. A directional market can make a 50% null assumption inappropriate, but it does not automatically supply a different universal probability.
The practical conclusion needs a separate test. Observing whether resistance causes a pause or reversal is different from measuring whether a long trade earns more when its target sits below or above that level. This guide separates those questions and supplies an original Pine experiment for the target comparison.
If You Remember Only One Thing
Do not turn a level’s reaction frequency into a profit-target rule without testing the trades. Compare net payoffs, risk, holding time and missed opportunities under the same entry assumptions.
60-Second Summary
- The presenter reports 50% success for 200 resistance areas and about 44% for 200 random reference observations.
- The source counts sideways reactions as resistance success; that is not necessarily a profitable short.
- The six-percentage-point difference is an estimate with uncertainty, not proof of an edge.
- Random outcomes depend on entry timing, trend definition, barriers, holding period and costs.
- Index history does not establish a permanent uptrend for every stock.
- A daily level can appear on an intraday chart without transferring its measured probabilities.
- Targets above resistance can offer larger gains with fewer hits or longer exposure.
- The included strategy tests an explicit target-policy proxy; it does not reproduce the source’s undisclosed test.
First Define What “Resistance Worked” Means
The source’s indicator marks a reversal area after a decline greater than 10%. When price returns, the presenter manually classifies the resistance. A straight move through is failure; a renewed decline or repeated sideways reactions counts as success.
That tests a level’s observed response under a discretionary classification. It does not specify an entry price, stop, profit target, maximum holding period or cost model. A resistance area can cause a pause while a short trade loses money. It can also fail its visual test while a short briefly earns a profit.
| Question | Outcome needed | What it establishes |
|---|---|---|
| Does price react at a level? | Defined decline or pause within a fixed horizon | Reaction frequency |
| Is shorting the level profitable? | Net P&L from explicit entry and exit rules | A particular short strategy’s estimated expectancy |
| Should a long exit before the level? | Comparable long trades under alternative exit policies | The consequences of those policies |
Our example: price revisits $100, moves sideways for six days, then rises to $106. Under the source’s description, the sideways reaction might count as resistance success. A short entered at $100 with a $102 stop and $96 target would still lose. The terminology must not merge those outcomes.
Read the Reported 50% and 44% Carefully
TRADING RUSH reports testing 200 daily resistance areas across the S&P 500 and other stock indices, with 50% classified as working. A separate 200-observation random test reportedly produces about 44%. The transcript does not provide the event ledger, index list, dates, randomization procedure or exact indicator code.
The absolute difference is six percentage points. Relative to 44%, it is approximately a 13.6% higher success frequency. Neither calculation is a return on capital, and neither resolves whether the comparison groups were matched.
How much uncertainty could 200 observations leave?
For illustration only, suppose each sample contains 200 independent binary observations and the reported proportions are exactly 0.50 and 0.44. The approximate standard error of the difference is √[0.50 × 0.50 / 200 + 0.44 × 0.56 / 200], or about 4.98 percentage points. A rough 95% normal range for the difference is 6 ± 9.8 points: approximately −3.8 to +15.8 percentage points.
This simplified calculation is not a verified confidence interval for the actual test. It shows that the counts alone do not make a six-point advantage decisive. Related indices, overlapping historical events and repeated level visits can make observations dependent. If both methods were tested on matched events, paired analysis would require the counts of disagreements, which are absent.
A stronger evaluation would disclose all observations, fix the classification before testing and report uncertain or unresolved cases. It would also explain whether the sample includes levels that never received a revisit.
A Random Baseline Needs Its Own Rule Sheet
The video’s useful objection is that “random” does not always mean a 50% win rate. Its examples associate short trades in an uptrend with a lower rate and long trades with a higher one. Those are plausible hypotheses under some models, not market laws.
A fair baseline must preserve the relevant context. Match the instrument, period, trend regime, entry eligibility, barrier distances, observation horizon and costs. Random resistance prices and randomly timed short trades are different experiments; the transcript moves between those descriptions without enough mechanics to show equivalence.
A sideways label alone does not guarantee symmetric outcomes. Drift, volatility, jumps, unequal barriers and transaction costs can all matter. Likewise, flipping a short test’s 44% rate into a 56% long rate only works under a carefully symmetric, complementary outcome definition. Sideways cases, unequal exits, costs or different entry samples break that shortcut.
The presenter’s suggested higher win rate for a proper uptrend strategy and a separate reported 60% support/resistance method are not established by this supplied test. They refer to additional rules or material unavailable here.
Separate Broad Index Drift From a Guaranteed Uptrend
The source chooses popular indices because they usually rise over long histories and describes that tendency as a permanent uptrend. Historical upward drift is not a promise that the next trade, year or individual stock will rise. Major drawdowns and prolonged adverse periods still affect the risk and time required to reach a target.
Testing indices also does not directly test every constituent company. An index’s changing composition and methodology differ from a fixed individual-stock history. Index levels may not be directly tradable; an ETF or derivative introduces its own costs, tracking, dividends or contract behavior.
A daily resistance line remains visible when you zoom into five-minute bars, but the event probabilities do not automatically transfer. An intraday trader might target a small reaction that the daily classification ignores, or stop out during noise before a longer-term breakout occurs. A new timeframe requires a new execution question.
The Exit Question: Bigger Targets Need Better Payoff Evidence
The presenter explains that he previously booked long profits below swing-high resistance and now prefers targets above it in higher-timeframe stock-market uptrends, except when price is ranging heavily. This is a change in his approach, not a demonstrated controlled exit comparison in the supplied transcript.
Suppose two hypothetical policies have the same −1R loss. A below-resistance target wins 60% at +1R: expectancy is 0.60 × 1 − 0.40 × 1 = +0.20R. An above-resistance target wins 40% at +2R: expectancy is 0.40 × 2 − 0.60 × 1 = +0.20R. Their identical gross expectancy hides different streaks, holding times and capital usage.
If the larger target’s hit rate instead falls to 30%, expectancy becomes −0.10R. A larger target is beneficial only when its realized payoff compensates for its reduced hit rate and other consequences. With average costs of 0.05R, the two first policies each fall to +0.15R before any additional differences.
Also distinguish closing an existing long from opening a short. Selling shares can realize profit or reduce exposure; it is not inherently a bearish wager. The video’s title is broader than the practical evidence supports.
Research Strategy: Compare Targets Below and Above a Known Level
View Pine Script Backtest Code
//@version=6
strategy("CandleChasers: Resistance Target Comparison", overlay=true, initial_capital=100000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=10, pyramiding=0, commission_type=strategy.commission.percent, commission_value=0.05, slippage=2, margin_long=100, margin_short=100, calc_on_order_fills=false, calc_on_every_tick=false, process_orders_on_close=false)
// Independent daily-stock/ETF proxy, not the source's undisclosed indicator.
mode = input.string("Below resistance", "Target policy", options=["Below resistance", "Above resistance"])
peakBars = input.int(100, "Prior-bar peak lookback", minval=5)
dropPct = input.float(10.0, "Decline needed to confirm a level (%)", minval=1, maxval=80)
zoneAge = input.int(500, "Maximum level age after confirmation (bars)", minval=1)
trendBars = input.int(200, "Trend EMA", minval=5)
reboundBars = input.int(20, "Rebound EMA", minval=2)
bufferATR = input.float(0.25, "Target offset from level / ATR", minval=0.01, step=0.05)
stopATR = input.float(2.0, "Stop distance from fill / ATR", minval=0.1, step=0.1)
entryLife = input.int(5, "Limit entry lifetime (bars)", minval=1)
if not timeframe.isdaily or timeframe.multiplier != 1
runtime.error("Use standard one-day candles for this experiment.")
if syminfo.type != "stock" or syminfo.currency != "USD" or syminfo.pointvalue != 1
runtime.error("Use a USD-quoted stock or stock-type ETF with point value 1.")
peak = ta.highest(high, peakBars)[1]
bigDrop = not na(peak) and close <= peak * (1.0 - dropPct / 100.0)
newLevel = bigDrop and not bigDrop[1]
trendEMA = ta.ema(close, trendBars)
reboundEMA = ta.ema(close, reboundBars)
rebound = ta.crossover(close, reboundEMA)
uptrend = close > trendEMA and trendEMA > trendEMA[20]
atr = ta.atr(14)
var float resistance = na
var int levelBar = na
var bool consumed = true
var bool pending = false
var int orderBar = na
var int stopTicks = na
var float frozenTarget = na
if barstate.isconfirmed and newLevel
resistance := peak
levelBar := bar_index
consumed := false
closedThisBar = strategy.closedtrades > nz(strategy.closedtrades[1], 0)
if strategy.position_size > 0 or closedThisBar
pending := false
// At the close, an unfilled entry has already had this bar's opportunity.
if pending and strategy.position_size == 0 and bar_index - orderBar >= entryLife
strategy.cancel("Long")
strategy.cancel("Bracket")
pending := false
belowTarget = resistance - bufferATR * atr
aboveTarget = resistance + bufferATR * atr
validLevel = not na(resistance) and bar_index - levelBar <= zoneAge
eligible = barstate.isconfirmed and validLevel and not consumed and not pending and strategy.position_size == 0 and not closedThisBar and uptrend and rebound and not na(atr) and atr > 0 and close < belowTarget and strategy.equity > 0
if eligible
stopTicks := math.max(1, int(math.ceil(stopATR * atr / syminfo.mintick)))
selected = mode == "Below resistance" ? belowTarget : aboveTarget
frozenTarget := math.round_to_mintick(selected)
// Buy limit bounds fill price at the signal close or better; no earlier fills.
// Require the rounded lower target above the limit in BOTH policy runs.
if math.round_to_mintick(belowTarget) > close
strategy.entry("Long", strategy.long, limit=close)
// Absolute chart target; relative stop anchored to eventual entry fill.
strategy.exit("Bracket", "Long", loss=stopTicks, limit=frozenTarget)
pending := true
orderBar := bar_index
consumed := true
if pending or strategy.position_size > 0
strategy.exit("Bracket", "Long", loss=stopTicks, limit=frozenTarget)
plot(resistance, "Latest level (known after decline)", color=color.orange, style=plot.style_stepline)
plot(trendEMA, "Trend EMA", color=color.gray)
plot(pending or strategy.position_size > 0 ? frozenTarget : na, "Frozen chart target", color=color.green, style=plot.style_linebr)
plot(strategy.position_size > 0 ? strategy.position_avg_price - stopTicks * syminfo.mintick : na, "Stop from actual fill", color=color.red, style=plot.style_linebr)
Research question: On a fixed daily uptrend-rebound baseline, how do net results change when the target sits just below versus just above a prior high confirmed after a large decline?
Source Rules vs Experimental Definitions vs Implementation Shortcuts
| Level | Included here |
|---|---|
| Source ideas | A resistance candidate follows a decline greater than about 10%; evaluate stock-market daily context; compare targets below and above resistance |
| Our definitions | Prior 100-bar high; a newly observed closing decline of at least 10%; rising EMA(200) with price above it; rebound across EMA(20); targets offset by 0.25 ATR |
| Shortcuts | One latest level, one long position, an explicit limit-entry rule and ATR stop; no discretionary red-box boundaries or random-resistance generator |
Our level becomes known only when the decline threshold is first satisfied after previously being unsatisfied. It is not drawn as tradable resistance at the earlier peak. A newer confirmation replaces the older research level for future setups. Levels expire after the specified number of bars, and each can generate at most one submitted entry.
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.
Execution Assumptions and Validation status
Use standard one-day candles on a USD-quoted stock or a stock-type ETF with point value 1. The script rejects other timeframes and instrument types. A tradable ETF is a proxy for an index, not the same dataset as the source’s index chart. No higher-timeframe request is used.
At a confirmed rebound signal, both policy runs require the lower target to sit above the signal close. The buy limit is submitted at that close and can fill only afterward, at that price or better under the emulator’s assumptions. This avoids assigning an earlier intrabar fill or entering above either target. A gap upward may leave the entry unfilled; a gap downward may fill at a better price.
The pending limit lasts through the next five bars by default. It is canceled at the fifth bar’s close if still unfilled, after that bar has already had a chance to fill. Its associated exit is canceled too. A submitted level remains consumed even if the order expires. The strategy does not use a completed bar’s information to retroactively cancel an earlier fill.
The chart target is frozen at submission, with tick rounding. The stop is a frozen two-ATR distance expressed in ticks relative to the actual fill. Both are submitted with the entry. The target deliberately remains at an absolute chart price; a better entry changes its reward-to-risk ratio. The stop distance remains fixed, but gaps or adverse stop fills can increase actual losses.
New levels cannot move an open or pending trade’s target or stop. There is no pyramiding, reversal or re-entry on a trade-closing bar. A later EMA trend change does not cancel a pending order or force an open exit; this intentionally freezes the entry decision. There is no time exit, so positions can remain open at the end of a sample.
Allocation is 10% of equity as exposure, not 10% equity at risk. With $10,000 of shares and an initial stop distance near 2% of fill price, planned gross loss is about $200. Quantity increments and equity changes affect sizing. Commission is an illustrative 0.05% per executed order; two-tick slippage principally affects eligible market/stop fills, rather than permitting a buy limit to fill above its price. Set justified costs and limit-fill verification in Properties.
When entry, stop and target are reachable in one bar, inspect lower-timeframe information and compare Bar Magnifier settings where available. Limit fills also depend on the emulator’s verification assumptions. See TradingView’s official strategy documentation (paid link). The strategy omits financing, dividend cash flows and a portfolio model; document your data adjustments.
Validation status: This Pine v6 strategy has been reviewed as text but has not been compiled in TradingView or run against historical data here. No performance results are claimed. Compile it, then audit a newly confirmed level, a filled limit, an expired order and each exit type before interpreting statistics.
What This Code Actually Tests
It compares two long-trade target policies on a defined rebound model. Entries use the same rule; targets differ by their side of the frozen level. Initial stops use the same fill-relative ATR distance. The output concerns simulated net trading outcomes under these assumptions, not a visual “resistance worked” percentage.
Different exit times make the variants available for later signals at different times. Their eventual trade lists can diverge, and equity-based quantities can diverge too. Report the practical strategy comparison, but also match common entries for a cleaner trade-by-trade exit comparison. Do not claim every portfolio difference came from the target on identical trades.
What This Code Does Not Test
It does not reproduce the creator’s indicator, manually classify sideways reactions, verify the reported 50% or 44%, or generate a matched random baseline. It does not test short entries, all resistance zones simultaneously, every stock or intraday timeframes. A favorable result would support this defined policy on the tested sample, not a universal instruction to ignore resistance.
Backtest Lab
These are our proposed comparisons. Choose development and later untouched evaluation periods before testing. Keep instrument, dates, entry rules, stop assumptions, allocation and costs fixed unless they are the variable under study.
| Experiment | Change only | Measure and interpret |
|---|---|---|
| Does crossing resistance justify waiting? | Below versus above target policy | Net expectancy, realized R, drawdown, holding time and matched-entry outcomes. A lower win rate can still earn more. |
| Does target distance drive the result? | Offset at 0.1, 0.25 and 0.5 ATR | Target hits, net payoff and sensitivity. Both policy targets must remain feasible at submission. |
| Does a larger prior decline matter? | Confirmation threshold at 8%, 10% and 12% | Level count, filled orders and net results. This changes the level population, not just entry precision. |
| Are limit fills too optimistic? | Limit verification assumption alone | Submitted, filled and expired orders plus net results. Report missed trades rather than removing them. |
Use average net trade, average net R, conditional average winners and losers, profit factor, maximum drawdown, exposure time and open positions alongside win rate. Test later periods and preselected instruments, including adverse regimes. Do not select a single historical peak and call it robustness.
A Separate Plan for Testing the Baseline Claim
To investigate the video’s resistance-frequency claim, first define a revisit, reaction distance, allowed time and sideways category. Compare qualifying levels with randomly generated levels matched by instrument, date, distance from current price and trend regime. Repeat the randomization and preserve unvisited and unresolved cases. A price-reaction study should remain separate from a trade-P&L study; neither baseline can substitute for the other.
Try It Yourself
A prior high is $120. The decline threshold is 10%, so the closing confirmation level is $108. At a later rebound, a proposed limit is $110, ATR is $3 and the target offset is 0.25 ATR. The below target is $119.25; the above target $120.75. A two-ATR stop distance is $6.
If the fill is $110, planned gross reward ratios are $9.25 / $6 ≈ 1.54R and $10.75 / $6 ≈ 1.79R. If a downward gap improves the limit fill to $109, the stop is $103 and reward ratios become about 1.71R and 1.96R. The absolute targets stayed fixed; the fill changed the payoff geometry. Costs are additional.
Write the expected advantage of the above target before viewing outcomes. Then list what would weaken it: lower net expectancy, much longer holding, greater drawdown, or an improvement confined to one period. This makes the exercise falsifiable.
Check Your Understanding
1. Does 50% resistance success mean a 50% profitable short-trade rate?
No. The source’s visual reaction definition lacks full trade rules.
2. Is a six-point difference between two 200-observation samples decisive?
Not by counts alone. Sampling uncertainty, matching and dependence matter.
3. Does seeing a daily level on a minute chart transfer the tested result?
No. Execution horizon, barriers and market noise differ.
4. Why can the above-resistance policy win less often yet earn more?
Larger realized winners may compensate for additional losses, but the net distribution must be measured.
5. Why confirm the resistance only after the decline?
The earlier peak’s qualifying future drop was not known at the peak.
6. Does a historical index uptrend guarantee an individual stock’s recovery?
No. They are different assets and neither history guarantees future outcomes.
Final Takeaway
The source usefully challenges automatic deference to resistance and encourages comparison with a contextual baseline. Its reported reaction rates do not establish a universal sell rule or validate larger targets. The useful next step is a controlled exit-policy comparison that measures net payoffs and time in the market, followed by fresh evaluation.
Risk Disclosure
This material is for educational and research purposes only, not financial or investment advice. Trading can cause substantial losses. Historical and simulated outcomes do not guarantee future results. Costs, gaps, liquidity, order behavior, data choices and changing market conditions can materially affect results and cause losses beyond planned risk.
This article is an independent educational companion to the video and is not affiliated with, sponsored by, endorsed by, or authorized by TRADING RUSH.