Timed CRT Ranges: The Sweep, Higher-Timeframe Location, and Entry Confirmation

Video: The CRT Trading Strategy That Beats Almost Every Other Strategy
Creator: The Soup Room
Original Video: Watch the original video
Difficulty: Advanced

The Big Idea

A timed candle range provides a reference. A temporary break beyond it provides an observation. Neither is enough to establish a trade without location, confirmation, and a predefined failure point.

The source combines an 8 a.m. or 9 a.m. reference candle with a higher-timeframe key level and a separate lower-timeframe entry. The useful lesson is the sequence of those decisions, rather than the title’s unverified claim of superiority.

Three Decisions That Must Stay Separate

The first decision is which completed hourly candle supplies the range. Its high and low become the boundaries against which later action is evaluated. The second decision is whether a boundary sweep occurs near an independently identified higher-timeframe area. The third is whether subsequent price action supplies an acceptable entry and invalidation.

Keeping those decisions separate prevents a common hindsight shortcut: drawing a range, finding the eventual reversal, and treating everything between them as an entry model. A useful record must say what was available before the entry, not simply what looks persuasive afterward.

LayerQuestionWhat it does not establish
Timed rangeWhich completed candle defines the boundaries?A directional forecast
Higher-timeframe locationIs there a relevant prior swing or identified imbalance?Proof that orders remain there
Entry confirmationWhat completed event authorizes participation?A guaranteed reversal or target fill

Resolve the Clock Before Reading the Pattern

An hourly candle beginning at 8:00 normally completes at 9:00 in the chosen clock. A 9:00 candle normally completes at 10:00. A test cannot use that candle’s eventual high and low before completion, because those prices were not yet known.

The supplied transcript does not establish a reliable timezone for these references. Write the timezone explicitly in your own specification and account for daylight-saving changes. The companion indicator defaults to America/New_York as an editable implementation choice; that default is not a claim about the creator’s clock.

Check the symbol’s session and available bars as well. An instrument that does not trade during the reference hour cannot provide the same observation. Missing data should produce a missing reference, not an invented range carried over from a different day.

What a Sweep and Reclaim Actually Shows

For a bullish candidate, price trades below the completed reference low and then closes back above it. For a bearish candidate, it trades above the reference high and closes back below. This describes an excursion and a close relative to a boundary.

That observation does not identify which participants traded, prove deliberate stop hunting, or establish that all breakout traders are trapped. A close back inside can fail on the next candle. A candle that sweeps both boundaries is especially ambiguous and should not be forced into a clean directional example.

The source’s bullish example becomes interesting near a daily fair value gap, with another higher-timeframe area above serving as a possible destination. These are chart references in the narrative. A gap-shaped pattern in candles is not a live inventory of unfilled institutional orders.

Define Confirmation More Precisely Than the Chart Story

The transcript discusses an inversion fair value gap and an order-block-style reference on the execution chart. Its verbal description does not provide a complete mechanical specification for every gap boundary, inversion condition, and qualifying candle. Those missing definitions matter if two readers are expected to reach the same decision.

For study, annotate the exact candles and the event you require: for example, a completed close through a previously recorded boundary. Mark this as your operational definition when it is more specific than the source. Do not describe a simpler sweep indicator as an exact implementation of the full entry model.

Stops in the presentation refer to different nearby features, including candle extremes and tighter internal references. A tighter stop increases the displayed reward-to-risk ratio but can also sit inside normal price fluctuation. Choose the invalidation that expresses why the idea is wrong, then evaluate whether the available target justifies that distance.

A Hypothetical Long, Including the Late Entry

The same target can support very different economics

These are invented price units for arithmetic, not a recreation of a completed trade from the video.

StepCalculation or observationMeaning
PrepareReference high 105; low 100; separately marked key area 99.5–100All references are recorded before the candidate.
ObservePrice reaches 99.6 and closes at 100.3A low sweep and reclaim supplies context only.
Confirm and planHypothetical entry 100.6, invalidation 99.4, objective 105Risk 1.2; potential reward 4.4; approximately 3.67R.
Compare a late fillEntry 101.4 with the same stop and targetRisk 2.0; potential reward 3.6; only 1.8R.

The example omits transaction costs and assumes the entry can be filled at the stated price. Actual spread, slippage, gaps, and instrument sizing change the result. Neither scenario earns its displayed reward unless the target is reached and the exit is executed.

Build a Replay Record Before Drawing Conclusions

  1. Freeze the reference: save the selected hour, timezone, completed range, and session settings.
  2. Record location: identify the higher-timeframe area and when it became available. Avoid using an unfinished higher-timeframe candle’s final shape.
  3. Separate the events: timestamp the sweep, reclaim close, confirmation, proposed entry, and invalidation.
  4. Keep the failures: include reclaim failures, sweeps away from key areas, ambiguous two-sided candles, and candidates that never confirmed.
  5. Measure executable outcomes: record fills, costs, adverse excursion, and missed entries instead of counting attractive screenshots.

A comparison with other approaches would require consistent instruments, dates, costs, risk assumptions, and independent evaluation. The supplied examples do not establish that this model outperforms the alternatives.

Pine Script Indicator

View Pine Script Indicator Code
//@version=6
// Guide: https://candlechasers.com/timed-crt-range-sweep-key-level/
// v2: confirmed hourly reference; retain last valid range; explicit diagnostics.
indicator("CC Timed CRT Range Map v2", overlay=true)
zone = input.string("America/New_York", "Reference timezone (independent of chart clock)")
referenceHour = input.int(8, "Reference hour: 8 or 9", options=[8, 9])
showFallback = input.bool(true, "Show gray hourly context if no CRT reference exists")
showShade = input.bool(true, "Shade selected reference hour")
validChart = chart.is_standard and timeframe.isminutes and timeframe.multiplier <= 60
// Every requested field is offset: only the PREVIOUS completed hourly bar is used.
// lookahead_on with these offsets does not expose the current hour's final prices.
[h1, l1, t1, end1] = request.security(syminfo.tickerid, "60", [high[1], low[1], time[1], time_close[1]], gaps=barmerge.gaps_off, lookahead=barmerge.lookahead_on)
isReference = not na(t1) and hour(t1, zone) == referenceHour and minute(t1, zone) == 0 and end1 - t1 == 3600000
var float rangeHigh = na
var float rangeLow = na
var int referenceStart = na
var int referenceEnd = na
var bool longUsed = false
var bool shortUsed = false
bool bull = false
bool bear = false
if validChart and barstate.isconfirmed
    if isReference and (na(referenceStart) or t1 != referenceStart)
        rangeHigh := h1
        rangeLow := l1
        referenceStart := t1
        referenceEnd := end1
        longUsed := false
        shortUsed := false
    bool sameDate = not na(referenceStart) and year(time, zone) == year(referenceStart, zone) and month(time, zone) == month(referenceStart, zone) and dayofmonth(time, zone) == dayofmonth(referenceStart, zone)
    // A chart candle must START after the completed reference hour.
    // This also avoids using a partially overlapping 45-minute candle as a sweep.
    if sameDate and time >= referenceEnd
        bool lowSweep = low < rangeLow and close > rangeLow
        bool highSweep = high > rangeHigh and close < rangeHigh
        bull := lowSweep and not highSweep and not longUsed
        bear := highSweep and not lowSweep and not shortUsed
        if bull
            longUsed := true
        if bear
            shortUsed := true
hasRange = not na(referenceStart)
sameReferenceDate = hasRange and year(time, zone) == year(referenceStart, zone) and month(time, zone) == month(referenceStart, zone) and dayofmonth(time, zone) == dayofmonth(referenceStart, zone)
// Previous-date levels remain as context. They NEVER generate new-date sweep alerts.
plot(validChart and hasRange ? rangeHigh : na, "Last completed CRT high", color=sameReferenceDate ? color.red : color.new(color.red, 65), linewidth=2, style=plot.style_stepline)
plot(validChart and hasRange ? rangeLow : na, "Last completed CRT low", color=sameReferenceDate ? color.lime : color.new(color.lime, 65), linewidth=2, style=plot.style_stepline)
plot(validChart and hasRange ? (rangeHigh + rangeLow) / 2 : na, "CRT midpoint", color=color.gray, style=plot.style_stepline)
// These gray context lines are NOT an alternative CRT setup and NEVER trigger alerts.
useFallback = validChart and not hasRange and showFallback
plot(useFallback ? h1 : na, "CONTEXT ONLY: last hourly high (not CRT)", color=color.new(color.gray, 35), style=plot.style_stepline)
plot(useFallback ? l1 : na, "CONTEXT ONLY: last hourly low (not CRT)", color=color.new(color.gray, 35), style=plot.style_stepline)
bgcolor(validChart and showShade and hour(time, zone) == referenceHour ? color.new(color.blue, 90) : na, title="Reference-hour context (can be developing)")
plotshape(bull, title="Completed low sweep and reclaim", style=shape.triangleup, location=location.belowbar, color=color.aqua, size=size.small)
plotshape(bear, title="Completed high sweep and reclaim", style=shape.triangledown, location=location.abovebar, color=color.orange, size=size.small)
alertcondition(bull, "CRT low sweep context", "CC: completed CRT low sweep and reclaim on {{ticker}} {{interval}}. Check key level and separate entry.")
alertcondition(bear, "CRT high sweep context", "CC: completed CRT high sweep and reclaim on {{ticker}} {{interval}}. Check key level and separate entry.")
var table status = table.new(position.top_right, 1, 4, bgcolor=color.new(color.black, 10), border_width=1)
if barstate.islast
    string state = not validChart ? "Use STANDARD candles on a 1-60 minute chart" : not hasRange ? "NO CRT REFERENCE: gray lines are hourly context only" : sameReferenceDate ? "Completed CRT range | triangles require a sweep + reclaim" : "PRIOR-DATE CRT CONTEXT | no new-date alerts"
    string stamp = hasRange ? str.format_time(referenceStart, "yyyy-MM-dd HH:mm", zone) : "None in loaded history; check session / extended hours"
    table.cell(status, 0, 0, "CC CRT v2 | " + state, text_color=color.white, text_size=size.small)
    table.cell(status, 0, 1, "Selected: " + str.tostring(referenceHour) + ":00 | " + zone, text_color=color.white, text_size=size.small)
    table.cell(status, 0, 2, "Last reference: " + stamp, text_color=color.white, text_size=size.small)
    table.cell(status, 0, 3, "No exact full-hour bar = no CRT setup. Check HTF key level separately.", text_color=color.white, text_size=size.small)

What This Indicator Shows

Version 2 reads the previous completed hourly candle directly from the feed. When that candle starts at exactly the selected 8:00 or 9:00 in the chosen timezone and spans a full hour, its high, low, and midpoint become the reference. It no longer requires an exact count of smaller chart bars.

Use standard candles on a 1–60 minute chart; five or fifteen minutes are practical starting points for examining the response. Red and green lines show the latest valid CRT range. Those lines remain visible after the local date changes, with faded colors and a PRIOR-DATE status. They remain context only until a new reference is captured; old-date levels never generate new-date sweep alerts.

A blue background identifies chart bars opening during the selected reference hour. It can appear while the hour is developing and is not an entry signal. Triangles require a completed chart bar that starts after the reference hour finishes, sweeps a boundary, and closes back inside it. The first qualifying observation in each direction is marked separately; two-sided sweeps are skipped.

If no exact reference has been found in loaded history, optional gray lines show the last completed hourly high and low as CONTEXT ONLY. These are explicitly not a replacement CRT range and cannot trigger alerts. The four-row status panel identifies the selected timezone, last valid reference date, and any missing-reference or unsupported-chart condition.

What This Indicator Does Not Show

It does not detect daily or four-hour key areas, fair value gap inversions, order blocks, entries, stops, targets, or performance. A triangle remains a context annotation rather than the complete source setup.

The indicator cannot create an 8:00 candle for a symbol whose available session begins at 9:30. If the status reports no reference, check the symbol’s session and whether extended-hours data is available. A candle beginning at 9:30 does not silently qualify as a 9:00–10:00 reference. Do not change the clock merely to force a historical winner.

All four hourly request fields use a one-bar offset with TradingView’s confirmed higher-timeframe pattern. The selected hour’s final values are not available before it closes. Range capture and markers finalize at chart-bar close, so display may wait until the first post-hour chart candle closes. A chart candle overlapping the reference-hour end is excluded from sweep evaluation.

Setup and Validation

Remove the older indicator instance, paste the complete version 2 code into Pine Editor, save it, and add it to the chart. Start with standard five- or fifteen-minute candles and enough intraday history. Look for the CC CRT v2 panel at the top right. Read its last-reference timestamp before interpreting any line.

The default clock is America/New_York and is independent of TradingView’s chart display clock. It remains an editable implementation choice because the source transcript does not establish its timezone. If gray context lines appear, the status panel explains that a qualifying CRT reference is missing; gray lines are not trade signals.

For alerts, select the named CRT condition and use Once Per Bar Close. Recreate alerts after changing the code or its inputs. Alerts do not submit orders or complete the manual higher-timeframe and entry checks.

Validation status: The confirmed-hour request follows TradingView’s documented confirmed higher-timeframe pattern (paid link). Static review and an independent state-model check cover range retention, date-gated alerts, first-use limits, and ambiguous sweeps. This code has not been compiled or chart-tested in TradingView here. No profitability or execution validation is claimed.

Practice and Review

  1. Clock check: compare the plotted range with the selected hourly candle on the same symbol and timezone. Document any session mismatch.
  2. Context comparison: classify every marked event by whether your pre-recorded key area was present. Keep the criteria stable through the sample.
  3. Entry audit: evaluate a separately specified confirmation rule and record the resulting entry distance, not just the sweep candle’s favorable price.

Check Your Understanding

Can the final 8:00–9:00 high be used at 8:30? No. That would use information not yet available.

Does a reclaim prove a reversal? No. It records one completed response to the boundary.

Does the triangle include higher-timeframe and inversion-gap confirmation? No; those are separate checks.

Final Takeaway

Use a completed timed range to organize the observation, a previously identified key area to supply context, and an explicit confirmation rule to govern the decision. Keep the clock, data availability, and actual entry economics visible.

Risk Disclosure

This guide is educational and is not personalized financial, investment, or trading advice. Trading can result in substantial losses, including losses beyond a planned stop because of gaps, slippage, leverage, or execution failures. Examples and source-reported results are not promises of future performance. Hypothetical calculations omit costs unless stated otherwise. Indicators can be incomplete, data-dependent, and unsuitable for a particular instrument or session. Evaluate any approach with appropriate data, realistic costs, and risk limits before considering live use. Only commit funds whose loss you can afford.

Independence: CandleChasers is not affiliated with the source creator, channel, or TradingView. This is an independent educational companion, not an endorsement or an official reproduction of a proprietary tool.

As an Amazon Associate I earn from qualifying purchases.