OPEN-SOURCE SCRIPT
cephxs / CISD [base]

What this solves
What makes it different
Most CISD tools mark the open of the last opposing candle and stop there.
This one tracks the whole opposing run, not just its last candle. It
records the true extreme of the move and extends the level while the run
continues. It commits only when a candle closes through the level. It also
classifies a special case — the propulsion block — where a new CISD forms
after price holds inside the zone of an earlier CISD. Propulsion blocks get
a thinner line, so you can see the difference between continuation and a
fresh reversal. The trade-off is patience: the script draws nothing as
confirmed until a close of the breaking candle... You will never get the level at the exact turn.
How it works
A propulsion block is a confirmed CISD whose reversal extreme moved into
the zone of an earlier, still-valid CISD in the same direction and held.
The script draws it with a 1px line and gives it no Fibonacci projections.
Fibonacci projections
Each confirmed CISD can project extension levels from its stretch, in the
direction of the new delivery. Two anchor modes:
Levels -0.5 through -4.5 have individual toggles and colors. The script
always draws levels 0 and 1 as faint reference lines. The script caps
projections per direction. On charts of less than 1 hour, new projections
in one direction must form at least 2 chart-hours apart. This gap protects
a well-placed recent projection from clustered CISDs.
How to use it
Settings that matter
Limitations
Credits
CISD is a concept from the ICT (Inner Circle Trader) body of work. The
detection engine, filters, propulsion-block classification, and projection
logic are original code. I extracted them from my own larger toolkit and
published them standalone, so traders can read, audit, and reuse the code.
FAQ
Does it repaint?
Confirmed lines and markers do not repaint. Pending dotted lines update
live, and the script can remove them. This behavior is their job, not a
defect.
Why did a confirmed line disappear?
Price traded back through the swing point that created it. The level
failed, so the script removed it. If you want to keep failed levels on the
chart, enable Show All Historical CISD.
Why do some CISDs have no Fibonacci levels?
Propulsion blocks get no projections. Projections have a cap per
direction. On charts of less than 1 hour, a minimum spacing gap applies.
A CISD (Change In State of Delivery) marks the moment one side loses
control: price closes back through the run of candles that made the last
push. This script finds those moments, draws the level, and removes the
level when it fails.
What makes it different
Most CISD tools mark the open of the last opposing candle and stop there.
This one tracks the whole opposing run, not just its last candle. It
records the true extreme of the move and extends the level while the run
continues. It commits only when a candle closes through the level. It also
classifies a special case — the propulsion block — where a new CISD forms
after price holds inside the zone of an earlier CISD. Propulsion blocks get
a thinner line, so you can see the difference between continuation and a
fresh reversal. The trade-off is patience: the script draws nothing as
confirmed until a close of the breaking candle... You will never get the level at the exact turn.
How it works
- A swing point forms. The script walks back through the run of
same-direction candle bodies that came before it. The open of the first
candle in that run is the CISD level. - The script draws the level as a dotted line — a pending CISD. If the
opposing move continues, the script moves the pending level with it and
updates the true extreme of the run. - When a candle closes through the level, the script confirms the CISD.
The line becomes solid, and the script places a marker on that bar. - If a pending CISD gets no confirmation close within its timeout, the
script removes it. If price later crosses the swing point that created a
confirmed CISD, the script removes that CISD. A broken level does not stay
on your chart.
A propulsion block is a confirmed CISD whose reversal extreme moved into
the zone of an earlier, still-valid CISD in the same direction and held.
The script draws it with a 1px line and gives it no Fibonacci projections.
Fibonacci projections
Each confirmed CISD can project extension levels from its stretch, in the
direction of the new delivery. Two anchor modes:
- Body — projects from the candle bodies of the stretch.
- Wick — projects from the true peak or trough of the whole
opposing move, wicks included.
Levels -0.5 through -4.5 have individual toggles and colors. The script
always draws levels 0 and 1 as faint reference lines. The script caps
projections per direction. On charts of less than 1 hour, new projections
in one direction must form at least 2 chart-hours apart. This gap protects
a well-placed recent projection from clustered CISDs.
How to use it
- Load the script on your execution timeframe with the default settings.
It works on all symbols and timeframes. - A dotted line is a pending CISD. Do not act on it. A solid line is a
confirmed change in delivery. The level often acts as support or
resistance on a retest. - A thin solid line is a propulsion block. Read it as continuation from
an earlier level, not as a fresh reversal. - If a confirmed level disappears, price broke the swing point that
created it. Treat this removal as the invalidation. - Use the Fibonacci extensions as draw-on-liquidity targets for the move
that follows confirmation.
Settings that matter
- CISD Directional Bias — default Auto. When you trade one side
of a higher-timeframe bias, set it to Bullish or Bearish. - CISD Size Filter — default on, Regular. This setting removes
stretches that are small in relation to current volatility. The smallest
preset (Really small) keeps more CISDs. The largest preset (Juicy) keeps
only significant moves. - CISD Sensitivity — default Standard. This setting controls how
many bars a pending CISD waits for its confirmation close (Standard 10,
Max 20). - Show only Macro CISD? — default off. When this setting is on,
confirmation must occur in the macro windows (minutes 00-10, 24-36, 50-59
of each hour). - Filter by Purge — default off. When this setting is on, a CISD
forms only after a sweep of a nearby swing, within your bar tolerance. - Show All Historical CISD? — default off. When this setting is
on, invalidated CISDs stay on the chart as dashed lines. The maximum-count
limit no longer applies. - Calculate From — default Body. Set it to Wick to anchor
Fibonacci projections at the true extreme of the opposing move.
Limitations
- Confirmation is close-based. A confirmed CISD does not repaint. But
you get it one closed candle after the turn, never at the turn. - Pending (dotted) levels are provisional by design. They move while the
opposing run extends, and they disappear on timeout. Do not trade a dotted
line as a confirmed level. - The macro time filter uses fixed New York-aligned windows. On
timeframes of more than 1 hour, the filter has little meaning. - The script has no alerts. It is a charting tool.
- The script computes levels only over the most recent bars of chart
history, not the full loaded history.
Credits
CISD is a concept from the ICT (Inner Circle Trader) body of work. The
detection engine, filters, propulsion-block classification, and projection
logic are original code. I extracted them from my own larger toolkit and
published them standalone, so traders can read, audit, and reuse the code.
FAQ
Does it repaint?
Confirmed lines and markers do not repaint. Pending dotted lines update
live, and the script can remove them. This behavior is their job, not a
defect.
Why did a confirmed line disappear?
Price traded back through the swing point that created it. The level
failed, so the script removed it. If you want to keep failed levels on the
chart, enable Show All Historical CISD.
Why do some CISDs have no Fibonacci levels?
Propulsion blocks get no projections. Projections have a cap per
direction. On charts of less than 1 hour, a minimum spacing gap applies.
This is a tool for your own analysis, not trading advice. Test it
on your own instruments and timeframes before you even think about risking money on it.
Skrypt open-source
W zgodzie z duchem TradingView twórca tego skryptu udostępnił go jako open-source, aby użytkownicy mogli przejrzeć i zweryfikować jego działanie. Ukłony dla autora. Korzystanie jest bezpłatne, jednak ponowna publikacja kodu podlega naszym Zasadom serwisu.
For access to my Invite Only Indicators, visit fstarlabs.com
All my tutorials on Tradingview Tips / Tricks and my tools are uploaded on my youtube. I do not upload How-To videos on tradingview.
All my tutorials on Tradingview Tips / Tricks and my tools are uploaded on my youtube. I do not upload How-To videos on tradingview.
Wyłączenie odpowiedzialności
Informacje i publikacje nie stanowią i nie powinny być traktowane jako porady finansowe, inwestycyjne, tradingowe ani jakiekolwiek inne rekomendacje dostarczane lub zatwierdzone przez TradingView. Więcej informacji znajduje się w Warunkach użytkowania.
Skrypt open-source
W zgodzie z duchem TradingView twórca tego skryptu udostępnił go jako open-source, aby użytkownicy mogli przejrzeć i zweryfikować jego działanie. Ukłony dla autora. Korzystanie jest bezpłatne, jednak ponowna publikacja kodu podlega naszym Zasadom serwisu.
For access to my Invite Only Indicators, visit fstarlabs.com
All my tutorials on Tradingview Tips / Tricks and my tools are uploaded on my youtube. I do not upload How-To videos on tradingview.
All my tutorials on Tradingview Tips / Tricks and my tools are uploaded on my youtube. I do not upload How-To videos on tradingview.
Wyłączenie odpowiedzialności
Informacje i publikacje nie stanowią i nie powinny być traktowane jako porady finansowe, inwestycyjne, tradingowe ani jakiekolwiek inne rekomendacje dostarczane lub zatwierdzone przez TradingView. Więcej informacji znajduje się w Warunkach użytkowania.