Video: Learn Price Action Trading LIVE – High Probability Setups
Creator: Thomas Wade
Original Video: Watch the original video
Difficulty: Advanced
The Big Idea
A recognizable short setup can appear after the most useful part of a downtrend has already happened. The difficult decision is whether the market is still offering continuation or asking you to stop pressing the old idea. This lesson develops that distinction: a channel break followed by a fresh extreme can complete the structure you were trading, leaving a period of uncertainty rather than an immediate reversal signal.
If you remember one thing: an exhausted trading idea is a reason to reassess; it is not permission to trade the opposite direction without a new setup.
The Setup Is a Sequence, Not a Signal Bar
The session repeatedly moves between a bearish working hypothesis and an area where the next direction is unclear. Below an EMA, the trader considers pullbacks, lower highs, and second-entry shorts. Once a downtrend breaks and reaches a new low, however, the same visual short trigger receives less weight. The old channel has already delivered its expected sequence. A tiny new extreme still counts; its small size does not justify pretending it never occurred.
That is a framework for organizing observations, not a demonstrated law that every channel must reverse. A market can develop a wider channel, consolidate, or resume falling. The important distinction is between a structure that is currently supported by several swings and a larger channel drawn merely because another short would look attractive inside it.
Three Decisions That Must Stay Separate
| Decision | Evidence to record | Common shortcut |
|---|---|---|
| Is the bearish thesis still usable? | Channel behavior, EMA relationship, break and subsequent extreme | Price is red, so keep selling |
| Is there an entry? | A specific pullback and qualifying signal bar | A bearish opinion becomes an order |
| Is execution acceptable? | Entry price, stop, target room, and fill conditions | A chart pattern guarantees an economical fill |
Separating these questions prevents an attractive candle from rescuing an invalid thesis. It also explains why an otherwise sensible bearish view can produce no trade. Inside bars, weak signal bars, movement back through the EMA, or insufficient confirmation can veto an entry. A skipped trade that later works is not automatically a mistake; it may simply be an outcome your rules deliberately leave behind.
Why a Wider Channel Must Earn Its Place
A broader interpretation becomes useful when additional swings support it. Before then, it is a hypothesis. Record where you would need to see another reaction, and keep that requirement unchanged while the next bars develop. Otherwise the drawing expands whenever a losing thesis needs more room.
This is especially important when the market sits between competing structures. A mild bullish lean after a completed decline does not establish a long entry. A second-entry countertrend signal can still be too weak against strong selling. Waiting for clearer opposing structure is an active decision with an explicit condition for reconsideration.
Worked Example: Same Candle, Different Context
Consider an invented futures sequence. A declining channel breaks upward, then price reaches a fresh low at 5,200.00. A small red bar subsequently rejects the EMA at 5,202.00. Earlier in the decline, that rejection might have fitted your continuation plan. After the break-and-new-low sequence, your plan instead requires a newly established channel or a fresh range boundary before another short.
Suppose the market falls another four points without you. That outcome does not prove the pause was wrong. Compare many completed-channel cases with otherwise similar ongoing-channel cases. The question is whether the pause improves the distribution of results after costs, including all the continuations it misses.
Now consider execution separately. Selling at 5,202.00 with a stop at 5,203.00 creates one point of planned price risk before costs. A deeper limit fill at 5,202.50 would reduce that distance, but the market may never trade there. Comparing only filled limits with every market entry introduces selection bias. Record unfilled opportunities alongside completed trades.
Scalp Management Does Not Eliminate Runner Risk
The session includes a scalp followed by moving a runner’s stop toward entry. This changes the remaining exposure; it does not make the entire trade risk free. Fees, slippage, gaps, and the possibility of being stopped before a larger move remain. A later decline after the runner exits is evidence about the management tradeoff, not proof that holding indefinitely was the correct decision.
Keep the decision log chronological: structure first, trigger second, order third, management last. Include late-session fatigue as an execution constraint. A trader who no longer evaluates bars consistently should not compensate by lowering the threshold for the next setup.
Pine Script Backtest Code
View Pine Script Backtest Code
//@version=6
// Learning guide: https://candlechasers.com/channel-completion-new-low-pause/
// Original research approximation. Not the creator's complete trading system.
strategy("CC New Low Pause", overlay=true, pyramiding=0, initial_capital=1000000, default_qty_type=strategy.fixed, default_qty_value=1, margin_long=100, margin_short=100, commission_type=strategy.commission.percent, commission_value=0.01, slippage=1, calc_on_every_tick=false, calc_on_order_fills=false, process_orders_on_close=false)
qty = input.float(1, "Units/contracts (check instrument minimum)", minval=0.001)
atrLen = input.int(14, "ATR length", minval=1)
stopATR = input.float(1.0, "Stop distance in ATR", minval=0.1, step=0.1)
rewardR = input.float(1.0, "Target in R", minval=0.1, step=0.1)
maxHold = input.int(20, "Maximum bars held", minval=1)
atr = ta.atr(atrLen)
emaLen = input.int(21, "EMA length (research definition)", minval=2)
lowLen = input.int(20, "Fresh-low lookback", minval=2)
slopeBars = input.int(5, "EMA slope comparison bars", minval=1)
usePause = input.bool(true, "Pause after fresh rolling low")
cooldown = input.int(3, "Bars excluded after new low", minval=0)
ema = ta.ema(close, emaLen)
previousLow = ta.lowest(low, lowLen)[1]
freshLow = low < previousLow
age = ta.barssince(freshLow)
down = ema < ema[slopeBars]
candidate = down and high >= ema and close < ema and close < open
pauseOK = not usePause or (not na(age) and age > cooldown)
signal = candidate and pauseOK
var int candidates = 0
var int eligible = 0
var int submitted = 0
if barstate.isconfirmed and candidate
candidates += 1
if barstate.isconfirmed and signal
eligible += 1
bool submit = barstate.isconfirmed and signal and strategy.position_size == 0 and not na(atr)
if submit
int riskTicks = math.max(1, int(math.ceil(atr * stopATR / syminfo.mintick)))
int targetTicks = math.max(1, int(math.round(riskTicks * rewardR)))
strategy.entry("Trade", strategy.short, qty=qty)
// Bracket submitted with entry. Distances are measured from actual entry fill.
strategy.exit("Bracket", "Trade", loss=riskTicks, profit=targetTicks)
submitted += 1
if strategy.opentrades > 0
int held = bar_index - strategy.opentrades.entry_bar_index(0)
if held >= maxHold
strategy.close("Trade", comment="Time exit")
plot(ema, "EMA", color=color.orange)
plot(previousLow, "Prior rolling low", color=color.gray)
bgcolor(usePause and not na(age) and age <= cooldown ? color.new(color.red, 90) : na)
plotshape(barstate.isconfirmed and candidate, title="Candidate", style=shape.circle, location=location.belowbar, color=color.gray, size=size.tiny)
plotshape(submit, title="Order submitted, not a fill", style=shape.triangleup, location=location.belowbar, color=color.aqua, size=size.small)
var table info = table.new(position.top_right, 2, 4, bgcolor=color.new(color.black, 15))
if barstate.islast
table.cell(info, 0, 0, "Candidates", text_color=color.white)
table.cell(info, 1, 0, str.tostring(candidates), text_color=color.white)
table.cell(info, 0, 1, "Eligible signals", text_color=color.white)
table.cell(info, 1, 1, str.tostring(eligible), text_color=color.white)
table.cell(info, 0, 2, "Orders submitted", text_color=color.white)
table.cell(info, 1, 2, str.tostring(submitted), text_color=color.white)
table.cell(info, 0, 3, "Closed trades", text_color=color.white)
table.cell(info, 1, 3, str.tostring(strategy.closedtrades), text_color=color.white)
What This Code Actually Tests
This is an original short-only experiment: a bearish candle touches an EMA and closes back below it while that EMA slopes downward. An optional filter excludes the fresh-low bar and the next three bars after any new 20-bar low. Each additional low resets the pause. The EMA length of 21, five-bar slope comparison, rolling-low definition, and cooldown are our adjustable definitions; the transcript does not supply this complete mechanical rule set.
Gray circles mark rejection candidates, aqua triangles mark order submissions, and red shading marks the pause. They are not interchangeable with actual fills. Turning the pause off creates the baseline for comparison.
What This Code Does Not Test
A rolling low is not a detected channel completion. This code does not count discretionary second entries, draw a widening channel, assess inside-bar traps, reproduce deep limit entries, or split a position into scalp and runner. Its one-ATR stop and 1R target are research controls, measured from the actual fill, rather than the source’s one-tick-above-signal-bar stop.
Execution Assumptions and Chart Setup
Use standard candlesticks rather than synthetic-price charts. Signals are evaluated on completed bars. Orders are submitted after confirmation and become eligible on the next available tick; a signal marker is not a fill. Neither calculation on every tick nor recalculation after fills is enabled. There are no higher-timeframe requests or negatively offset signals in these scripts.
A market entry and its stop/target bracket are submitted together. ATR is sampled at the signal, rounded upward into a positive tick risk distance, and frozen for that trade. The bracket distances are measured from actual simulated entry; they do not imply execution at the signal close. A time exit is requested after the selected number of bars and normally fills on a later tick. There is no automatic end-of-day flattening.
Defaults use one unit or contract, illustrative capital of $1,000,000, 100% margin, commission of 0.01% per transaction, and one tick of slippage. These are research settings, not sizing advice or a claim about a broker’s fees. Adjust quantity to the instrument’s tradable minimum and verify affordability, contract value, and currency. One contract does not mean 1% account risk.
Inspect trades where stop and target are both inside one candle: OHLC bars do not identify the actual event sequence. Compare Bar Magnifier where available and stress costs separately. See TradingView’s official strategy documentation (paid link) for broker-emulator and order behavior.
Validation status: the rules, state handling, raw code, and HTML presentation were reviewed statically. This script has not been compiled in TradingView or run against market data here; no win rate, profitability, or browser-tested copying is claimed. Compile it in Pine Editor and inspect the trade list before using its results.
If the Chart Shows No Trades
Check that the plotted reference lines appear and enough bars have loaded for the longest lookback. Compare the candidate, order, and closed-trade counters. Candidates without orders indicate a filter or position-state restriction; orders without fills require checking price conditions, quantity, and capital. Open trades are not yet closed trades. Use the controls to isolate the blocking condition, and preserve that diagnostic run separately from your formal experiment.
Research Lab: Controlled Comparisons
- Pause versus no pause: hold the rejection trigger and exits constant. Compare net expectancy, drawdown, exposure, and the number of skipped winners as well as skipped losers.
- Timing sensitivity: compare cooldowns of zero, three, and six bars on the same development sample. A zero setting still excludes the fresh-low bar; disabling the filter excludes nothing.
- Manual structure audit: label a separate set of channel breaks before seeing outcomes. Check how often the rolling-low proxy actually describes the intended market condition.
Reserve later sessions for an untouched test. A result that depends on one EMA length or one unusually directional day deserves skepticism. For tick charts, document the data and chart construction; a time-bar test is not a reproduction of a discretionary tick-chart session.
Check Your Understanding
1. Does a new low after a channel break require a long? No. It weakens the old continuation case without establishing a bullish trigger.
2. A skipped short wins. Should the next similar short bypass the pause? No. That would let the latest outcome rewrite the rule. Review the batch of opportunities instead.
3. What should a replay exercise record? Freeze the channel interpretation, its invalidation condition, the next acceptable trigger, and the reason for every skip before advancing the chart.
Final Takeaway
Judge whether the structure still offers opportunity before judging the next signal bar. A completed move, an unconfirmed wider channel, and a valid continuation setup are three different states.
Risk Disclosure
This guide is for education and research, not personalized financial advice or a recommendation to buy or sell any security, contract, or other asset. Trading can result in substantial losses, and leveraged products can produce losses beyond the initial amount committed. Position exposure is not the same as capital at risk. Stops do not guarantee execution at their stated prices; gaps, slippage, spreads, fees, illiquidity, and trading halts can materially change results. Short selling introduces additional risks, including potentially unlimited losses. Historical examples, creator-reported outcomes, and hypothetical backtests do not establish future performance. Paper-test any rules, understand the instrument and execution assumptions, 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.