TradingView strategy research

Change in state of delivery: candle levels and confirmation

A change in state of delivery (CISD), in the consecutive-candle definition used here, occurs when price closes through the opening price of a preceding same-direction candle run. A close above a bearish run's first open is bullish; a close below a bullish run's first open is bearish. The reference is a candle open, not a confirmed swing high or low. Public indicators differ in how they select, retain and filter that reference.

See the decision guide

Which public definition does the chart use?

LuxAlgo's published CISD description uses the first open of a bearish or bullish candle sequence and a close through it in the opposite direction. It offers Classic and Liquidity Sweep detection modes, plus duration and validity settings. These are author-defined implementations; their labels do not establish that a particular institution or algorithm caused a move.

  • The linked author publications are the evidence for these versions. This page does not claim to reproduce an original ICT lesson or any published script line for line.
  • A sweep requirement, displacement threshold, fair value gap or higher-timeframe filter is an additional condition. Name it separately rather than silently including it in the word CISD.
Published versionReference or filterComparison consequence
LuxAlgo: Change in State of DeliveryFirst open of the directional candle sequence; Classic or Liquidity Sweep mode.Record the selected mode and duration settings before comparing signals.
Zeiierman: Change in State of DeliveryDelivery sequence open after a minimum candle requirement, with a maximum validity period.Changing the minimum run length can remove a level that another indicator accepts.
CISD by tncylyv, published by jay555bOpen of the up-candle sequence producing the latest high, or down-candle sequence producing the latest low.An extreme-linked selection can choose a different run from a simple latest-run scan.

A frozen rulebook for checking a bullish candidate

Use this custom observation model on standard candles from one symbol, feed, session and timeframe. The two-candle minimum and five-bar validity below are illustrative choices. No liquidity sweep, pivot or FVG is required. Track bullish and bearish candidates independently; the following rules describe the bullish side.

  • For the bearish mirror, collect consecutive up candles, freeze the first open, and require a completed close strictly below it. Save the run high instead of its low.
  • A new low while a bullish candidate is pending does not cancel this particular model. Adding such cancellation would be a separate variant. S is an audit reference, not an automatic order.
  • Skip a run already in progress at the start of available history: its true first open is unknown. Begin tracking after observing a run boundary. Missing data and a changed session setting can also change which candles are consecutive.
StateRuleWhat becomes known
Collect a runA down candle closes below its own open. Count consecutive down candles and retain the first open R.A doji or up candle ends the run. A doji never extends it.
Freeze the candidateWhen a run of at least two down candles ends, save R and the lowest low S within that run.The first following candle is age 1 and may itself confirm at its close.
Wait or confirmAt each completed close of ages 1 through 5, confirm only if close > R.High > R alone fails. Close = R also fails. Confirmation does not require a particular candle color.
Expire or replaceAfter evaluating age 5, remove an unconfirmed candidate. A newer qualifying completed down run replaces the old candidate before the current close is tested.Do not revive an expired level because a later rally makes it look useful.
Consume the eventEmit one event per candidate and stop testing that candidate after confirmation.A later close back below R is a failure observation, not a reason to erase the historical event.

Bar-by-bar example: a wick, an equal close, then CISD

These fictional prices use a 0.25 tick. Assume B1 begins a new run after a completed up candle. All decisions below occur at bar close; O/H/L/C means open, high, low and close. The table audits one bullish candidate, not simultaneous bearish candidates.

  • Replacing B5 close with 102.75 produces no confirmation. If B6 and B7 also fail to close above 103 and no replacement run qualifies, the candidate expires after B7, its fifth eligible bar.
  • Replacing B2 with a doji ends a one-candle run. It fails the two-candle minimum, so the original R = 103 never becomes a candidate in this example.
  • Using B2 open of 102 as the level would incorrectly confirm B3 under this rulebook. The first open is 103; a later candle open is a different reference.
BarO / H / L / CState after the close
B1103 / 103.25 / 101.75 / 102Down run length 1. Save first open R = 103. No candidate yet.
B2102 / 102.25 / 100.75 / 101Down run length 2. R stays 103; run low S = 100.75.
B3101 / 103.25 / 100.75 / 102.75Run ends. Freeze candidate, age 1. High exceeds R, but close is below R: no CISD.
B4102.75 / 103.50 / 102.50 / 103Age 2. Close equals R: still no CISD.
B5103 / 103.75 / 102.75 / 103.50Age 3. Close exceeds R by 0.50, or two ticks. Record bullish CISD and consume this candidate.
B6103.50 / 103.75 / 102.50 / 102.75Price closes back below R. The bullish follow-through fails this level-retention check; B5 remains a valid historical event.

CISD versus a pivot-based market structure shift

A pivot-based MSS comparison asks whether price breaks a selected, already confirmed swing against the prior directional state. CISD asks whether price closes through a selected candle-run open. They can agree, occur on different bars or disagree. Calling both a reversal does not make their inputs interchangeable.

  • For example, a pivot requiring two right bars is known only after those two later bars finish. Drawing its marker back on the pivot candle cannot authorize an earlier decision.
  • The comparison assumes a bearish prior structure and a previously confirmed 104 swing high. Without an explicit directional-state rule, a break of 104 alone does not establish the label MSS.
QuestionThis CISD modelPivot-based structure model
Which price?First open of a qualifying completed run.A selected confirmed swing high or low.
When is it available?At the run-ending close, with the stated minimum length.After the required right-side bars confirm the pivot.
Example comparisonR = 103; B5 closes at 103.50, so CISD passes.Assume the selected confirmed swing high is 104. B5 does not break it.
What must be recorded?Run start, minimum length, expiry, replacement and closing test.Pivot lengths, selection, prior direction and wick/close break rule.

Confirmation, invalidation and trade risk are separate

TradingView documents that realtime high, low and close values can change until the bar finishes. Evaluate this closing rule only on completed chart bars and configure alerts consistently. A temporary price above R during B3 is not the B5 event. A line drawn back to B1 records the origin of the level, not the time a signal was available.

  • Candidate invalidation here means expiry or replacement. After confirmation, a close back below R records failed level retention. Neither rule automatically specifies a stop order or proves that the next move must be down.
  • If a researcher later chooses a long stop one tick below S, the example stop would be 100.50. A hypothetical fill of 103.50 would have a 3.00 price-unit stop distance. That is an added execution assumption, not a loss guarantee or a recommended trade.
  • A full strategy still needs position size, entry timing, exit orders, maximum holding time, costs and treatment of gaps. A signal close is not evidence of an executable fill at that same price.
  • Choppy price can repeatedly cross candle opens. Record all accepted events and failures, including those without follow-through; selecting only attractive chart examples cannot measure an edge.

Implement the definition before searching parameters

Give Pine Script AI Coding Agent the frozen state rules and the B1 through B6 table. Ask for visible run origins, reference levels, candidate ages and event timestamps. Compare the output against the equality, wick, doji, expiry and replacement cases before converting observations into a strategy. Review generated source and validate its syntax; a successful compile does not prove the event timing is correct.

  • Once complete trade rules are specified and audited, use Strategy Optimizer to compare predeclared input choices, such as minimum runs of 2 or 3 bars and validity of 5 or 8 bars. Keep the feed, session, costs and date sample fixed.
  • Reserve a later sample before selecting parameters and evaluate it separately. Do not use that sample repeatedly to select another winning setting.
  • Export supported TradingView trade data to Backtest Deep Report to inspect trade distributions and drawdown measures. A trade report cannot recover discarded CISD candidates or prove the signal had no future-data dependence; keep the event log with the report.
Where Pineify fits

Pine Script AI Coding Agent

Draft the explicit candle-run rules and inspect the resulting reference levels and event timestamps against the worked cases.

Also useful: Strategy Optimizer. Compare exposed strategy inputs after the baseline is verified. Keep a separate evaluation sample and retain unsuccessful variants.

Implement the CISD rulebook

Frequently asked questions

Educational price-pattern research, not investment advice. Prices and parameter choices are illustrative, and no performance result is claimed. CISD labels do not prove institutional intent or guarantee a reversal. Trading and backtests involve execution and loss risks.

Sources and verification

Published by Pineify. Pineify is an independent product and is not affiliated with TradingView. Sources support the technical explanations; examples do not establish trading performance.