Time-Based Exits: Study the Trades Still Open at the Checkpoint

Video: Your Trading Strategy Has An Expiry Date – (When You Should You Exit a Trade)
Creator: Jason Graystone
Original Video: Watch the original video
Difficulty: Intermediate

The Big Idea

The relevant time-exit question is not simply how quickly winners usually finish. It is what happens to every trade that remains open at a chosen checkpoint, and what a feasible exit at that time would have changed. Jason Graystone turns trade age into a measurable research variable rather than a reason to act on impatience.

A Trade Plan Can Define Price Without Defining Time

The source begins with entry, stop, and target already specified. Some examples resolve within a few bars; others remain near entry much longer. The same nominal price payoff can involve different exposure duration, workload, financing, and opportunity cost.

A breakout method may expect early progress, while a longer-horizon reversal may allow a slow development. A time rule appropriate for one does not automatically transfer to another. Measure the behavior under the same setup, instrument, interval, and execution assumptions before deciding what is unusual.

The headline’s expiry language should not be read as proof that every method has a fixed deadline. The source explicitly allows three conclusions: a time limit helps, it harms, or age adds little useful information. The investigation, not a guaranteed improvement, is the lesson.

The Denominator Changes the Question

“Most winners finish within ten bars” conditions on already knowing which trades won. At bar ten, that final label is unavailable for an unresolved position. A policy cannot close only the eventual losers; it acts on all positions satisfying its real-time conditions.

QuestionGroup being studiedWhat it can establish
How fast did winners finish?Trades eventually classified as winners.A descriptive distribution, not the time-exit policy by itself.
What happens after bar ten?All trades still open at that checkpoint.The actual group affected by a ten-bar rule.
Would exiting help?The same open group under two complete policies.A matched counterfactual including later winners sacrificed.
Would it generalize?A separate later evaluation sample.Evidence beyond a cutoff fitted to the original observations.

The transcript reports a group of 59 trades still open past ten candles, with 15 later wins and 44 later losses and an average near −0.52R. These are the presenter’s reported historical figures. Raw records, trade-by-trade checkpoints, costs, and full rules are not supplied for independent reproduction here.

Those counts alone do not prove that the timed alternative improves results. We need the actual feasible exit result for every unresolved trade at the checkpoint. A later losing group could already be deeply negative at that time, or the later winners could be costly to cut.

Compare the Two Policies on the Same Open Group

A matched checkpoint example

These six fictional trades are all unresolved at the chosen checkpoint. Values are after a consistent assumed cost treatment and are not source data.

StepObservation or calculationMeaning
Trade AOriginal +2R; checkpoint exit +0.2RDifference −1.8R.
Trade BOriginal −1R; checkpoint exit −0.2RDifference +0.8R.
Trade COriginal −1R; checkpoint exit −0.3RDifference +0.7R.
Trade DOriginal −1R; checkpoint exit 0RDifference +1R.
Trade EOriginal +2R; checkpoint exit +0.4RDifference −1.6R.
Trade FOriginal −1R; checkpoint exit −0.1RDifference +0.9R.
Whole affected groupOriginal 0R; checkpoint 0RThe six differences sum to zero despite preventing four later full losses.

Suppose another 94 trades in a hundred-trade sample resolved before this checkpoint. Their original outcomes remain in both policy totals. A comparison should include them unchanged when reporting average result per original eligible trade, while separately showing what changed in the six affected observations.

That avoids confusing an average within the affected group with a result for the whole method. Also record overlapping exposure and any new trades that could become possible after an earlier exit. A pure matched-entry comparison holds entries fixed; a portfolio-capacity comparison is a different experiment.

Define Exactly When a Bar Count Begins and Ends

The source counts candles from entry, but a reproducible record must specify whether the entry candle counts and when an exit becomes executable. Our indicator starts age zero at a completed illustrative observation candle. The next completed chart candle is age one.

Ten one-minute bars, ten hourly bars, and ten daily bars are different holding horizons. Session gaps also mean bar count and wall-clock time can diverge. Keep both entry and exit timestamps if overnight, weekends, or missing bars matter to the research question.

A checkpoint rule known at the close cannot assume a fill earlier within that same candle at the best available price. Record the actual feasible execution policy, including spread, fees, and adverse movement. An indicator’s close-based reference is not an order or guaranteed fill.

Resolve Earlier Stops and Targets Before Calling Something Still Open

If a position would already have reached its original stop or target before the checkpoint, it does not belong in the group still open at that time. The policy should not resurrect it and then compare a convenient later close. Existing management rules must be applied consistently.

If both stop and target lie within one historical candle, final OHLC may not establish which came first. Keep the case ambiguous or use appropriate intrabar evidence under a predeclared method. Do not automatically choose the favorable sequence or use the final candle close to infer it.

The companion tool ends an observation if either frozen price boundary is touched before it records checkpoint survival. When both are touched on one bar, it labels the ordering unknown. It does not convert that bar into a win, loss, or realized R result.

Age and Progress Are Related but Different Measurements

The source suggests studying early favorable excursion as well as total time open. A position that reached 1.5R and returned to entry has a different path from one that never reached 0.5R, even if both are still open after ten bars. A future rule needs to use only progress already observed at that checkpoint.

Maximum favorable excursion is the largest observed movement in the intended direction relative to the initial risk unit. Maximum adverse excursion measures movement against it. These path measurements are not realized profit and loss. Their meaning also depends on whether the entry bar and resolution bar are included.

Our indicator excludes the observation candle from subsequent excursion tracking. It includes the full high and low of each later observed candle, including the resolution candle. Those final extremes can contain movement after a boundary would have been touched. They are explicitly full-bar measurements, not exact pre-exit excursions.

One Illustrative Observer, Not the Source’s Trading System

The transcript does not disclose a complete entry method. The indicator therefore starts an original long-only observation after a completed close above the preceding twenty-bar high. The observation close is frozen as a reference, with original risk of 1.5 prior ATR and a two-R target distance. These choices are a demonstration dataset definition, not the creator’s setup or a simulated purchase.

At a default age-ten checkpoint, the tool records the completed close’s distance from the frozen reference in R only if no boundary was already touched. It keeps observing the original path afterward instead of automatically pretending a timed order filled. That allows a reader to inspect the survival question without turning the indicator into a Strategy Tester system.

One observation is retained at a time, so later breakouts during it are excluded. New observations cannot begin on the same bar the old one resolves. After sixty bars by default, an unresolved observation is censored rather than called a win or loss. Choose a checkpoint earlier than that maximum age if you want a checkpoint record.

The original stop and target references remain fixed. A checkpoint reading is not averaged into a fabricated account curve, and no claim is made about the profitability of this illustrative breakout rule. The source’s own trade ledger remains the better dataset when its exact method and executions are available.

Look for a Region of Results, Not One Magical Bar

The source proposes testing cutoffs such as ten, twenty, and thirty candles with entries and initial management otherwise held constant. An isolated best number after many trials can fit historical noise. Compare nearby values and reserve later observations before deciding whether the result is stable.

Use metrics tied to the question: average net result per original trade, drawdown under the defined execution model, average holding duration, distribution of long unresolved positions, and the number of sacrificed later winners. A lower average holding time alone does not show improved economics.

A time limit may also change financing costs or free account capacity, but those effects need explicit measurement. Do not automatically credit an earlier exit with a profitable replacement trade that was never defined or feasible at the time.

Pine Script Indicator

View Pine Script Indicator Code
//@version=6
// Article: https://candlechasers.com/time-exit-open-trade-cohort/
// Original educational indicator; no orders or broker execution.
indicator("CC Observation Age and Progress Checkpoint", overlay=true)
lookback = input.int(20,"Original breakout-reference bars",minval=2)
checkpoint = input.int(10,"Age checkpoint after observation close",minval=1)
maxAge = input.int(60,"Maximum observation bars",minval=2)
stopATR = input.float(1.5,"Original reference risk / prior ATR",minval=0.1)
reward = input.float(2,"Original target-distance R",minval=0.1)
a = ta.atr(14)
priorHigh = ta.highest(high,lookback)[1]
var bool active = false
var int born = na
var float entryRef = na
var float risk = na
var float mfe = na
var float mae = na
var float checkpointR = na
var int lastAge = na
var string stateText = "Waiting for an illustrative completed breakout"
bool start = false
bool check = false
if chart.is_standard and barstate.isconfirmed
    bool occupied = active
    if occupied
        int age = bar_index-born
        lastAge := age
        mfe := math.max(mfe,(high-entryRef)/risk)
        mae := math.max(mae,(entryRef-low)/risk)
        bool stopSeen = low <= entryRef-risk
        bool targetSeen = high >= entryRef+risk*reward
        if stopSeen or targetSeen
            stateText := stopSeen and targetSeen ? "Both boundaries touched: intrabar order UNKNOWN" : stopSeen ? "Stop reference touched; observation ended" : "Target reference touched; observation ended"
            active := false
        else
            if age == checkpoint
                check := true
                checkpointR := (close-entryRef)/risk
                stateText := "Still unresolved at checkpoint CLOSE; reference R recorded"
            if age >= maxAge
                active := false
                stateText := "Maximum age reached: unresolved/censored, not a win or loss"
    if not occupied and close > priorHigh and a[1] > 0
        active := true
        start := true
        born := bar_index
        entryRef := close
        risk := a[1]*stopATR
        mfe := 0
        mae := 0
        lastAge := 0
        checkpointR := na
        stateText := "Illustrative observation active; no real entry inferred"
plot(priorHigh,"Prior rolling high: illustrative context",color=color.new(color.gray,60))
plot(active ? entryRef : na,"Frozen observation close (not fill)",color=color.blue,style=plot.style_linebr)
plot(active ? entryRef-risk : na,"Frozen stop reference",color=color.red,style=plot.style_linebr)
plot(active ? entryRef+risk*reward : na,"Frozen target reference",color=color.teal,style=plot.style_linebr)
plotshape(start,"Observation begins at completed breakout close",shape.circle,location.belowbar,color.blue,size=size.tiny)
plotshape(check,"Unresolved at completed checkpoint",shape.diamond,location.abovebar,color.orange,size=size.small)
alertcondition(check,"Observation checkpoint","CC: illustrative observation remains unresolved at checkpoint close. Not an instruction or simulated time-exit fill.")
var table panel = table.new(position.top_right,1,4,bgcolor=color.new(color.black,10))
if barstate.islast
    table.cell(panel,0,0,not chart.is_standard ? "Use STANDARD candles" : stateText,text_color=color.white)
    table.cell(panel,0,1,"Age " + str.tostring(lastAge) + " | CP close R " + str.tostring(checkpointR,"#.##"),text_color=color.white)
    table.cell(panel,0,2,"Observed MFE " + str.tostring(mfe,"#.##") + "R | MAE " + str.tostring(mae,"#.##") + "R",text_color=color.white)
    table.cell(panel,0,3,"ONE long observation | full resolution-bar extremes | no orders or account results",text_color=color.white,text_size=size.small)

What This Indicator Shows

The overlay keeps the prior rolling high visible. A small circle begins an illustrative completed-breakout observation; frozen entry, stop, and target references remain during it. A checkpoint diamond and status table record unresolved survival, checkpoint close-R, age, and full-bar MFE/MAE. The tool does not execute a time exit. Completed-bar updates and explicit censoring make unavailable or unresolved outcomes visible.

What This Indicator Does Not Show

It does not reproduce the source’s entries or reported 59-trade group, simulate fills, calculate account expectancy, or determine intrabar stop/target ordering. Its breakout, ATR distance, target, checkpoint, and maximum age are ours. One-at-a-time sampling omits overlapping candidates. Excursion values include full resolution-bar extremes, and checkpoint close-R is a price reference rather than a realized return.

Setup and Validation

Paste the complete code into TradingView’s Pine Editor, save it, and add it to the chart. Use the chart type, timeframe, and context described above, then inspect the status panel and reference plots before expecting a marker. Use Once Per Bar Close for the supplied alert conditions and recreate alerts after changing code or settings. No alert submits an order.

Validation status: Statically reviewed for completed-bar timing, source-versus-proxy distinctions, future-data use, state behavior, reference replacement and expiry, and visible output. This code has not been compiled or chart-tested in TradingView here. No historical performance or live-execution results are claimed. Use replay to check the described behavior and report any compiler or runtime message exactly.

Practice: Rebuild One Checkpoint Cohort

Use a chronological ledger from one defined method. Preserve entry time, actual fill, initial risk, stop, target, and all existing exit rules. At a preselected age, list every position still open and its feasible exit result. Keep the original outcome in a separate column and calculate the matched difference. Include unresolved end-of-sample positions as censored instead of quietly deleting them.

Research and Comparison Lab

These are original proposed experiments, not results established by the source. Change one main feature at a time, retain failures and missing opportunities, and reserve later observations for evaluation rather than repeatedly selecting rules from the same outcomes.

Does a fixed age limit change net results?

Compare original management with ten-, twenty-, and thirty-bar limits at identical entries and initial boundaries. Use feasible checkpoint execution, consistent costs, and unchanged earlier exits. Measure outcomes for the affected cohort and the complete original sample.

Does early progress distinguish survivors?

At one fixed age, divide unresolved observations using a predeclared favorable-excursion threshold such as 0.5R. Compare subsequent paths while keeping the exit policy and costs constant. Do not assign the threshold after inspecting which group won.

Is the result stable around the cutoff?

Compare neighboring limits on a development period, then apply the fixed policy to later data. Record whether improvements are broad or isolated and whether regime, instrument, or session differences change the conclusion.

Check Your Understanding

Does fast resolution among winners prove a time exit helps? No. The unresolved group must be compared under both policies.

Does a timed rule remove only later losers? No. It closes every position meeting its real-time condition.

Is checkpoint close-R a guaranteed realized result? No. Execution can differ.

What if both price boundaries are touched in one bar? Their ordering can be unknown from final OHLC.

Is a censored observation automatically a loser? No. Its outcome remains unresolved under the recorded window.

Final Takeaway

Trade age is useful when it becomes a well-defined comparison, not a justification for impatience. Study every position still open at the checkpoint, preserve feasible execution and later winners, and test whether a time rule improves the complete method rather than a selected subset.

Risk Disclosure

This material is educational and is not personalized financial, investment, or trading advice. Trading can cause substantial losses. Source-reported results, hypothetical examples, and probability illustrations do not establish future performance. Calculations depend on their assumptions and omit costs unless stated. Commissions, spread, slippage, gaps, leverage, liquidity, borrowing, financing, and changing market conditions can materially affect outcomes. Indicators do not simulate broker execution or establish profitability. Short exposure can involve losses beyond the initial sale value. Evaluate any approach with appropriate data, realistic costs, and explicit risk limits before considering live use.

This is an independent educational companion and is not affiliated with, sponsored by, endorsed by, or authorized by the source creator, channel, or TradingView.

As an Amazon Associate I earn from qualifying purchases.