Video: MOST TRADERS NEVER LEARN THIS
Creator: Oliver Velez Trading
Original Video: Watch the original video
Difficulty: Advanced
The Big Idea
A shallow pause after a strong move presents a different continuation hypothesis from a retracement that gives almost everything back. The source organizes that observation using thirds, halves, and the move’s origin. The useful research task is to define the impulse, measure the retracement consistently, and distinguish a level reaction from a profitable trade.
Two Different Questions Hide Inside the Percentages
The source discusses both how often a strong move retraces to a particular depth and what happens if price later attempts to break the prior extreme. These are not the same conditional probability.
One question is whether a move reaches a halfway retracement. Another is whether a later breakout fails, given that the preceding retracement was halfway. Combining them into a single confidence score hides the sequence and the population being measured.
The lesson defines a prior high through a move followed by a pullback, rather than treating every uptick as a breakout event. Preserve that context when collecting data. A one-tick higher high and a return to a meaningful prior peak may have very different implications.
Use a Consistent Depth Formula
For an upward impulse from L to H, the retracement at price P is (H − P) ÷ (H − L). For a downward impulse from H to L, an upward retracement is (P − L) ÷ (H − L). Use a fixed origin and extreme until a predeclared replacement rule applies.
| Depth | Descriptive interpretation | Research question |
|---|---|---|
| Up to one-third | Relatively little of the impulse has been given back | Does continuation differ from deeper-pullback cases? |
| One-third to one-half | A moderate retracement | How much entry room remains at the next breakout? |
| One-half to two-thirds | A larger recovery against the original direction | Does a subsequent test stall or begin a new structure? |
| Near the origin | Most or all of the original impulse has been retraced | Is the old continuation thesis still the right one? |
The source uses 33% and 66% as rounded thirds. The indicator uses exactly one-third and two-thirds. These are convenient proportional references; they are not all Fibonacci ratios and do not become probabilities merely because they divide a chart neatly.
Worked Example: Same Peak, Different Preparation
Fictional upward impulse
Assume a move from 100.00 to 110.00. The following depths use the same frozen ten-point span.
| Step | Calculation or observation | Meaning |
|---|---|---|
| Shallow pullback | Low 107.00: (110 − 107) ÷ 10 = 30% | Little of the initial advance was retraced. |
| Halfway pullback | Low 105.00: 50% | A different candidate category, not an automatic buy. |
| Deep pullback | Low 102.00: 80% | A return toward the former peak begins much farther away. |
| Later break | Price moves above 110.00 | Record whether it holds or fails using a predefined distance and time rule. |
The source describes deeper returns to the old peak as potentially vulnerable. A possible explanation is that the approach and prior retracement reveal different market conditions. A claim that a stock is tired is a metaphor, not an observable inventory of buying capacity.
The Headline Failure Rate Is Not a Trade Win Rate
Define failure before testing it. Does a breakout fail if price returns one tick inside the old range, closes inside it, or travels a full risk unit in the opposite direction? Does that need to happen within five bars or fifty? The answer materially changes the measured frequency.
Even a genuine high hit rate would not by itself prove positive expectancy. For a fictional process with 72% wins averaging +0.25R and 28% losses averaging −1R, gross expectancy is 0.72 × 0.25 − 0.28 × 1 = −0.10R per trade before costs.
A claim that fading every new extreme guarantees profit is therefore unsupported. You would need a complete entry, loss-control, exit, and execution process, as well as evidence that its payoff distribution survives costs.
What Counts as the Original Move?
The source prefers a sharp, substantial impulse and allows either one powerful bar or several directional bars. This flexibility is useful for interpretation but makes sample collection subjective. Set the impulse rule before looking at the later pullback.
The included map deliberately isolates the one-bar case. It does not pretend that a rolling arbitrary high and low perfectly identify a multi-bar impulse. A separate multi-bar study should define start, completion, overlap, and replacement rather than selecting whichever span makes the level fit.
When the Reference Should Change
The lesson later emphasizes that a sufficiently deep recovery can become the new dominant leg. That changes which move is being divided. It is a structural reassessment, not merely moving the same grid until every reaction touches a line.
Record both the old map and the point when the new interpretation became available. Do not combine depth categories from different anchors in the same trade record. An 80% retracement of one leg may be a shallow pullback of a larger leg, so identify the scale.
Time of Day Is a Separate Variable
The source mentions more failures during a midday period. Treat that as another hypothesis, not a verified rule that rescues the headline percentage. Label session and time of day when gathering candidates, then compare them without changing the impulse definition.
Useful data include the impulse range, duration, depth reached before the next extreme test, breakout distance, first adverse response, and time to each event. Keep candidates that never retest the old extreme; excluding them changes the question from continuation opportunity to conditional breakout behavior.
Pine Script Indicator
View Pine Script Indicator Code
//@version=6
// Guide: https://candlechasers.com/pullback-depth-breakout-expectations/
// Independent educational approximation. Confirmed observations, no simulated orders.
indicator("CC Power Move Retracement Map", overlay=true)
powerATR = input.float(0.8, "Minimum power body / prior ATR", minval=0.1)
bodyPart = input.float(0.7, "Minimum body / full range", minval=0.1, maxval=1)
life = input.int(20, "Reference lifetime in chart bars", minval=1)
atr = ta.atr(14)
spanNow = high - low
power = spanNow > 0 and not na(atr[1]) and math.abs(close - open) >= atr[1] * powerATR and math.abs(close - open) / spanNow >= bodyPart
var float origin = na
var float extreme = na
var int side = 0
var int born = na
var float deepest = 0.0
bool newMap = false
if barstate.isconfirmed
if side != 0
if bar_index - born > life
side := 0
else if bar_index > born
float depth = side == 1 ? (extreme - low) / (extreme - origin) : (high - extreme) / (origin - extreme)
deepest := math.max(deepest, depth)
if deepest > 1
side := 0
// Ignore new power candles while an existing map is active.
if side == 0 and power
side := close > open ? 1 : -1
origin := side == 1 ? low : high
extreme := side == 1 ? high : low
born := bar_index
deepest := 0
newMap := true
level(float fraction) => side != 0 ? extreme + (origin - extreme) * fraction : na
plot(side != 0 ? extreme : na, "Power extreme / 0% given back", color=color.blue, style=plot.style_linebr)
plot(level(1.0/3.0), "One-third retracement", color=color.green, style=plot.style_linebr)
plot(level(0.5), "Half retracement", color=color.orange, style=plot.style_linebr)
plot(level(2.0/3.0), "Two-thirds retracement", color=color.red, style=plot.style_linebr)
plot(side != 0 ? origin : na, "Origin / 100% retracement", color=color.gray, style=plot.style_linebr)
plotshape(newMap, title="New confirmed power reference", style=shape.circle, location=location.belowbar, color=color.blue, size=size.tiny)
alertcondition(newMap, "New power reference", "CC: a new power-move retracement map is available on {{ticker}} {{interval}}. Context only.")
var table status = table.new(position.top_right, 1, 2, bgcolor=color.new(color.black, 15))
if barstate.islast
table.cell(status, 0, 0, side == 0 ? "Waiting for a new power reference" : side == 1 ? "Upward reference" : "Downward reference", text_color=color.white)
table.cell(status, 0, 1, side == 0 ? "No active depth classification" : "Maximum later retracement: " + str.tostring(deepest * 100, "#.##") + "%", text_color=color.white)
What This Indicator Shows
The original indicator freezes the range of one completed power candle and displays its extreme, thirds, half, and origin. Power defaults to a body of at least 0.8 prior ATR and 70% of full candle range. Those are our definitions. It tracks the greatest subsequent retracement, not just the latest close.
The map lasts twenty chart bars or until a later wick exceeds a full retracement. New power candles are ignored while a map remains active. A qualifying candle can start a replacement after expiry or invalidation. A blue dot marks when each reference became available.
What This Indicator Does Not Show
The map does not estimate any probability, identify every multi-bar impulse, or create breakout and fade orders. It does not re-anchor to a later high during an active map. A new extreme therefore does not silently change the original denominator. Displayed levels are context, not a guaranteed support or resistance ladder.
Setup, Alerts, and Validation
- Add: paste the complete script into Pine Editor, save, and add it to a standard-candlestick chart.
- Configure: follow this guide’s timeframe, direction, and session requirements. Load enough history for the longest lookback and pivot delay.
- Inspect: check the reference plots and status table. A strict rule can correctly produce no signals; a visible line or status helps distinguish that from missing data.
- Alert: select the relevant named condition and Once Per Bar Close. Recreate alerts after changing inputs.
Validation status: formulas, historical references, state rules, and HTML/code preservation were reviewed statically. The indicator has not been compiled or chart-tested in TradingView here. Live alerts, browser copying, and responsive rendering have not been tested. No simulated orders, fills, or measured performance results are claimed.
Practice and Research
- Define failure: compare a return inside the prior extreme with a full 1R adverse move as separate outcomes, using the same fixed observation period.
- Depth categories: collect consecutive power references and label the deepest pullback before the first later breakout attempt. Keep cases with no attempt in their own category.
- Robustness: review the frozen definitions on later dates and different sessions. Report sample counts, payoff sizes, costs, and overlap rather than only a success percentage.
Check Your Understanding
Is the frequency of reaching halfway the same as failure after a halfway pullback? No. They condition on different events.
Does a 72% reaction rate establish a profitable fade? No. Event definitions and payoffs matter.
Why freeze the anchors? Changing the span after the outcome changes the classification you were supposed to test.
Final Takeaway
Use depth to organize hypotheses about continuation and structural change. Establish the event definitions and payoff consequences before treating a claimed percentage as a trading edge.
Risk Disclosure
This guide is for education and research, not personalized financial advice or a recommendation to trade any security or contract. Trading can cause substantial losses, and leveraged products may produce losses beyond the amount initially committed. Short selling can involve unlimited loss. Stops and displayed prices do not guarantee execution; gaps, spread, slippage, fees, liquidity, halts, and platform interruptions can materially affect outcomes. Historical charts, indicators, hypothetical calculations, and creator-reported results do not establish future performance. Understand the instrument, execution assumptions, and total exposure, practice before risking capital, and use only risk capital you can afford to lose.
CandleChasers provides independent educational analysis and is not affiliated with, endorsed by, or sponsored by the source creator or any platform mentioned.