1. What IVT Is
IVT is a TradingView overlay that brings together five analytical layers, macro regime, volume profile, anchored VWAP, volatility compression and order flow, and resolves them into one tiered signal. Every signal on the chart has been scored against up to 14 independent directional factors before a tier is assigned.
The thesis underneath it: institutional order flow leaves repeatable signatures in volume, in price structure, and in where price sits relative to an anchored average. IVT makes those signatures visible and scores them the same way every time, so the read does not change with your mood.
It is not a trade alert service. It gives you the institutional read. What you do with it is yours.
Version history
| Version | Key change |
|---|---|
| v13.0 | Multi-AVWAP convergence, coiled spring |
| v13.1 | Instrument-adaptive compression, AVWAP dev filter, SD2L extreme |
| v13.2 | Percentile fix for BB width, returns-based bond-equity correlation |
| v13.3 | AVWAP Institutional Return signal |
| v13.4 | Structural trend break |
| v14.0 | Expectancy in R replaces win rate as the published record. Correctness pass: the AVWAP anchor, the volume profile, the return anchor and the trend/chop measure all now do what they were documented to do. |
2. What Changed in v14
Read this section before you deploy. Three changes move signals on charts you have already been watching. They are not cosmetic.
2.1 The AVWAP anchor was drifting
This is the important one.
The AVWAP is built from cumulative sums held in a rolling 1,500 element buffer. The index of the anchor bar was calculated once, when the swing changed, and then cached. But the buffer shifts by one element every bar once it is full. The cached index stayed still while the data underneath it moved, so the effective anchor crept forward one bar per bar.
The visible symptom is a line that converges on price instead of holding its level. On a stock that has fallen from 340 to 277 since March, the anchored average of everything paid since March cannot sit 1.2% from spot. It sits well above. The old build reported 1.2%. The corrected build reports 3.6%.
That single number drives three things: the Bias row, every VWAP Dev reading, and the deviation gate that decides whether a crossover earns its confluence bonus. Because the line was glued to price, VWAP Dev was structurally near zero, so the Dev Filter read OPEN almost permanently. A filter that never rejects anything is not a filter.
The anchor index is now recomputed every bar using arithmetic on the buffer rather than a cached search, which is both correct and faster.
What you will see: VWAP Dev readings that are larger and more honest. Bias flipping on instruments where the drift had accumulated. The Dev Filter reading FAIL on extended instruments, which is it doing its job for the first time.
2.2 The volume profile was not being calculated
POC and Value Area were computed inside the drawing branch. Lite Mode ships on by default and hides the profile, so on a default install the profile was never calculated at all, and the two factors that depend on it, POC proximity and Value Area position, were permanently dead.
Computation is now separate from drawing. The profile is always calculated; the display toggles only decide whether you see it.
What you will see: confluence scores rise by up to 3 points, factor counts by up to 2. Some bars that read S2 now read S3. The signals were always there. The score was under-reporting them.
The same decoupling was applied to sweeps and absorption, which were also gated behind their display toggles. Turning off a drawing no longer changes a tier.
2.3 The return anchor now latches
The Return signal is built on a rule I have written about publicly: anchor to the lowest low of the past 500 bars and let it roll, moving only when a genuinely lower low prints. No discretion, so the line is never adjusted to suit an open position.
The code did not do that. It recomputed the anchor from a rolling window every bar, which means the level five bars ago was anchored to a different bar than the level now. The test that the anchor is "still rising" was therefore measuring the window sliding, not the market moving.
The anchor now latches, exactly as described. The line only moves when a lower low prints, or when the anchor ages beyond the 1,500 bar buffer, in which case it reports na rather than freezing at a stale value and pretending to be live.
2.4 Everything else
Eight compile-level defects that would prevent the script loading at all, and a set of quieter ones: presets and Profile Mode were dead code, mitigation blocks were labelled backwards, the session filter resolved in exchange time rather than New York time, the deviation filter passed when price was far below the anchor, moderate divergences printed nothing, the Cantillon composite denominator ignored the VIX layer, and the performance tracker discarded still-open trades. Full list in the header of the script.
2.5 The record is now expectancy
Win rate has been replaced as the headline. Section 19 explains why at length. The short version: a win rate is largely a statement about where you put the target, so it can be manufactured by anybody, usually by accident. Expectancy in R cannot.
2.6 Anchor Hold replaces the trend/chop composite
Detailed in Section 10. The old composite could not reach its own default threshold, so switching the filter on silenced nearly every signal, and it fed Bollinger tightness, which is a range detector, into a trend score.
3. Quick Start
- Add the indicator to any chart. It runs on all timeframes and all instruments.
- Leave Script Mode on
Production. This disables the repainting intrabar delta path and the heavier drawing layers. UseResearchonly when you are studying, and never for live alerts. - Leave Cantillon Regime Filter on. It is the macro engine. Do not change the proxies unless you have a specific reason.
- Turn on Simple Mode if you want a clean chart: S2 and above, targets, the AVWAP line, the compression zone, and a four row dashboard.
- Set alerts for the tiers you actually trade. Section 18.
- Let the record build. Below 20 resolved signals the dashboard will tell you the sample size instead of a number, deliberately.
Reading a signal label
S4 [12] COILED maximum conviction long, inside a coiled spring
S3 [9] high conviction long
S2 [6] standard long
S1 base cross only
The bracketed number is the confluence score, a weighted sum of active context. The tier is set by the count of independent directional factors, not by the score. They are different measurements and they disagree often. When they disagree, the tier is the one that governs entry.
4. Modes and Presets
Lite Mode
On by default. Disables polylines, the volume profile histogram and target boxes. The AVWAP line stays. As of v14 it no longer affects any calculation, only what is drawn.
Simple Mode
One switch for a clean chart. Hides every diagnostic, shows S2 and above, targets, the AVWAP line and the compression zone, with a four row dashboard: Conf Score, Vol Comp, AVWAP Dev, Dev Filter.
Performance Mode
Caps the profile at 30 rows and 100 bars of lookback, disables polylines, target boxes, magnet zones, mitigation, fair value gaps and intrabar delta. For slow machines and crowded layouts.
Script Mode: Research or Production
Production disables the intrabar CVD path, magnet zones, mitigation blocks, fair value gaps and delta-weighted profile drawing. Everything disabled here is either a repainting input or a heavy drawing layer. Run live alerts in Production. In Research mode the script prints a warning label on the chart when intrabar CVD is active, so you cannot forget.
Profile: Map
A context view. Signals and execution clutter off, structure on: profile, AVWAP, convergence, compression, sweeps, absorption, dashboard.
Quick Presets
Presets override effective settings for the session. Your input sliders are untouched, so presets are non-destructive.
| Preset | What it sets |
|---|---|
| 4H Crypto Swing | 200 bar lookback, 60 rows, strong signals only, full curve on, Lite off |
| 1H Forex Scalp | 100 bar lookback, 40 rows, strong signals only, session filter on |
| Daily Macro Lite | 500 bar lookback, structure only, signals off, Lite on |
Resolution order: Performance, then Script Mode, then Simple, then Profile, then Preset, then Lite, then timeframe auto-tuning. Simple Mode re-asserts its target settings last so they are not overridden by Lite.
5. The Cantillon Regime Filter
Your biggest decisions should be made at the regime level, not the individual chart level. This is the engine that makes that possible.
Proxies
Three layers, in the order money actually moves through an economy.
| Layer | Default proxy | What it tells you |
|---|---|---|
| Liquidity | NASDAQ:TLT | Bonds. Where liquidity is created first |
| Equities | AMEX:SPY | Where it arrives second |
| Risk | BINANCE:BTCUSDT | Where it arrives last |
Each layer is scored on three tests: price against its fast average, fast against slow, and rate of change. Each returns +1 or -1, so a layer runs from -3 to +3 and the three-layer composite from -9 to +9. The VIX layer adds up to another 1.5, which is why the composite denominator reads 10.5 with VIX enabled and 9 without.
Regime states
| State | Liquidity | Equities | Risk | Bonus |
|---|---|---|---|---|
| FULL RISK-ON | Yes | Yes | Yes | +3 |
| ACCUMULATION | Yes | No | No | +2 |
| EARLY CYCLE | Yes | Yes | No | +1 |
| INFLATIONARY PUMP | No | Yes | Yes | 0 |
| STRESS RECOVERY | Yes | No | No | 0 |
| LATE CYCLE | Yes | No | Yes | -1 |
| SPECULATIVE | any other | -1 | ||
| DISTRIBUTION | No | Yes | No | -2 |
| FULL RISK-OFF | No | No | No | -3 |
The bonus is added to the confluence score directly, and is clamped to the range -5 to +5 after the composite and VIX adjustments.
The falling knife guard
ACCUMULATION and STRESS RECOVERY have identical layer signatures. Bonds up, equities down, risk down. One is the start of a new cycle. The other is a market in a controlled fall where bonds are rallying because everything is being sold.
They are told apart by the rolling correlation of bond and equity returns, not prices. Above +0.35, bonds and equities are moving together, which is the signature of a liquidity event rather than a rotation. In that case the state is STRESS RECOVERY and the +2 accumulation bonus is neutralised to zero.
This guard exists because buying the first ACCUMULATION print in a genuine liquidity crisis is the most expensive mistake this framework can make.
Leader and Transition
Leader names the strongest layer. In a healthy cycle the order is Liquidity leads, Equities follow, Risk last. When Risk is leading and Liquidity is negative, you are late.
Transition is the change in composite since the last confirmed bar. It updates only on bar close, so the reading does not flicker intraday.
6. Volume Profile
What is drawn
- POC, the price with the most traded volume in the current swing. Coloured by the delta imbalance measured at that row: green if buyers dominated, red if sellers did, neutral otherwise.
- Value Area, the band containing 70% of the volume, expanded outward from POC.
- Profile rows, horizontal volume bars. High Volume Nodes are highlighted above the HVN multiple.
- The 0.618 to 0.650 golden pocket of the current swing.
Delta-weighted profile
Each bar's volume is split into buy and sell using where it closed within its range, then distributed across the price rows it spans. Rows render as a green buy portion and a red sell portion. Disabled in Production mode by default because it doubles the box count.
VP Delta on the dashboard is the imbalance measured at the POC row only. Above +15% is buyer dominance, below -15% is seller dominance. It contributes a factor.
When it recalculates
On a confirmed swing change, when price has moved more than two ATR without a recalculation for 50 bars, and once per closed bar on the last bar. In v14 it no longer rebuilds on every realtime tick, which is where most of the old CPU cost sat. The VP Recalcs row on the dashboard shows the lifetime count, and it should be dramatically lower than in previous builds.
7. The AVWAP System
The AVWAP is the central reference of the whole framework. Everything else is context around it.
How the anchor is chosen
IVT finds the highest high and lowest low over the lookback window. The anchor is the earlier of the two, because that is where the current structure began. The swing is then held stable by a debounce system: the swing must be mature, the anchor must move by more than a threshold, and the change must persist for a required number of bars before it is accepted.
| Timeframe | Minimum swing age | Debounce | Move threshold |
|---|---|---|---|
| 5 min and below | 20 bars | 5 bars | 10 bars |
| 1 hour and below | 10 bars | 3 bars | 5 bars |
| 4 hour and below | 5 bars | 2 bars | 3 bars |
| Daily and above | 3 bars | 2 bars | 3 bars |
The Swing Age row on the dashboard tells you how old the current anchor is. It cannot legitimately exceed your Lookback Bars setting at the moment of assignment, so if it does, the debounce is holding an anchor that should have moved.
The buffer, and why it matters
The AVWAP is not recalculated from scratch each bar. Cumulative sums of price times volume, volume, squared price and delta are held in parallel arrays capped at 1,500 elements, and the AVWAP for any anchor is the difference between the running total and the total at the anchor. That is what makes multiple simultaneous anchors cheap.
The cost of that design is that the anchor must be located by index, and the buffer shifts. In v14 the index is recomputed every bar by arithmetic rather than cached. This is the fix described in Section 2.1 and it is the single largest behavioural change in this release.
What is plotted
- AVWAP line, coloured by the current Cantillon regime state.
- Full curve and bands when polylines are enabled, drawn from the anchor to the current bar.
- SD1 bands, the first target for both directions.
- SD2 bands, runner targets. SD2 Lower also drives the SD2L Extreme signal.
VWAP Deviation
(close − AVWAP) / AVWAP × 100. Positive is above the anchored average, negative is below.
The Dev Filter treats this as a band around zero. If the absolute deviation at a crossover is inside the band, the setup earns one additional factor. The band adapts to the instrument: tighter on low-volatility names, wider on high-volatility ones.
8. Multi-AVWAP Convergence
Three anchored averages, at three different structural points.
| Line | Anchor | Purpose |
|---|---|---|
| AVWAP 1 | Current swing | The active leg |
| AVWAP 2 | Long-lookback pivot, refreshed on a schedule | Mid-term cost basis |
| AVWAP 3 | Session open, weekly open, or volume spike | Short-term reference |
When the range between all three is inside a fraction of ATR, they are converged. Convergence means three separate populations of buyers share roughly the same cost basis, which makes the level far harder to move through and far more informative when it does break.
Convergence Strength is scaled from the spread relative to two ATR, so 100% means all three sit on the same price.
9. Volatility Compression and the Coiled Spring
How compression is measured
Bollinger Band width as a percentage of price, then ranked as a percentile against its own history. Low percentile means the current range is tight relative to how this instrument normally behaves. The percentile approach is what makes the measure comparable across instruments at all.
Compressed is below the threshold. Qualified, which the dashboard calls COILED, additionally requires the compression to have lasted at least the minimum duration. Only qualified compression contributes full weight, because a single tight bar is noise.
Adaptive threshold
The threshold adapts to the instrument's noise profile, measured from average ATR as a percentage of price.
| Tier | ATR profile | Threshold |
|---|---|---|
| Equity Daily | Below 1.5% | Base plus 10 points |
| Mid Range | 1.5% to 2.5% | Base plus 5 points |
| High Volatility | Above 2.5% | Base, strict |
A crypto pair is never quiet by an equity's standards. Without this, one threshold either never fires on equities or fires constantly on crypto.
Breakout direction bias
Inside a qualified compression, four measurements are blended: price momentum, delta slope, position relative to the AVWAP, and alignment across all three AVWAPs. Above the confidence threshold the compression is marked Bullish or Bearish, and the bias box is drawn around the compression range.
The Coiled Spring
Convergence and qualified compression at the same time. Three cost bases stacked at one price, and volatility wound tight around them. Directional bias tells you which way the framework expects it to release.
Compression as bonus, not gate
Compression never blocks a signal. Qualified compression adds full weight, unqualified adds half, and a long compression above 30 bars adds two more. The reasoning: compression is a statement about the setup, not about the direction, and a directional signal should not be vetoed by a non-directional condition.
10. Anchor Hold
New in v14, and specified in writing before it was tested, so the result could not be tuned to a number I liked.
The mechanism
IVT earns by crossing the institutional anchor and holding one side long enough for the move to develop. The runner is closed by a close back through that anchor. So the profitability of this framework on any given instrument is bounded by exactly one quantity: how long price stays on one side of the anchor.
Long runs on one side and the runner survives, so the trend leg is captured. Frequent recrossing and every runner dies within a few bars, while each recross also fires a fresh signal. The cost is paid repeatedly and the payoff never arrives.
The measure
crossings = times CLOSE crosses the anchor over the last L bars
anchorHold = L / (crossings + 1)
Default L is 250 bars, roughly six weeks on a 4 hour chart. The output is in bars, which is the point: it is directly comparable to the average trade duration the record already reports on the Expectancy row.
| State | Condition | Meaning |
|---|---|---|
| TRENDING | 40 bars or more per side | Runners have room |
| MIXED | 20 to 40 bars | Marginal |
| CHOPPY | Under 20 bars | Runners cannot survive |
The threshold is not arbitrary. A trade needs room to reach T2 and let the runner work. If the average anchor run is shorter than a typical trade, the exit rule is cutting trades before the thesis resolves, and no amount of entry filtering fixes that.
How to use it
Read Anchor Hold against average trade duration on the same dashboard. If hold is 15 bars and the average trade takes 70, that instrument is structurally hostile to this framework right now, whatever the confluence score says.
The filter is off by default. When enabled it zeroes the tier rather than merely hiding the label, so alerts and the record agree with the chart.
What is deliberately not implemented
The specification also proposed adapting exit fractions to the state: banking more at T1 and T2 on choppy instruments, holding a larger runner on trending ones. That is not in v14. Both the measure and its thresholds are being applied to price history that was already used to select every other parameter in the script, so a positive in-sample result is a hypothesis worth forward-testing, not evidence. Adaptive exits ship when they have run forward, or they do not ship.
11. Signal Architecture: S1 to S4
Base trigger
A signal requires three things at once: price crosses the AVWAP, momentum agrees over the momentum lookback, and the session filter permits it.
Long: close crosses above AVWAP AND close > close[momLen] AND in session
Short: close crosses below AVWAP AND close < close[momLen] AND in session
Everything above S1 is earned by factor count.
Tier assignment
| Tier | Requirement |
|---|---|
| S1 | Base trigger only |
| S2 | 2 or more independent factors |
| S3 | 4 or more |
| S4 | 6 or more, and the Cantillon bonus agreeing directionally |
S4 is the only tier that requires macro agreement. A six factor setup fighting the regime is an S3.
The SD2L override
An SD2L Extreme with four or more supporting factors is promoted to S3 even without a crossover. Capitulation and snapback is a legitimate entry that does not always produce a clean AVWAP cross on the same bar, and waiting for one costs the entry.
VIX downgrade
With the VIX layer enabled, a long at S3 or above is downgraded one tier when the VIX score is at or below -1.5. High and rising fear is where long setups fail regardless of how clean they look. There is no symmetric downgrade for shorts, deliberately.
Cooldown
| Timeframe | Cooldown |
|---|---|
| 5 min and below | 10 bars |
| 1 hour and below | 5 bars |
| 4 hour and below | 3 bars |
| Daily and above | 2 bars |
A signal inside the cooldown is suppressed unless it is a higher tier than the one that fired. An S2 followed by an S4 still prints. An S2 followed by an S2 does not.
Strong Signals Only
Restricts display to S3 and above. Simple Mode restricts to S2 and above.
12. The 14 Independent Factors
The tier is set by counting these. Each contributes at most what is listed, and each is independent of the others, which is the entire point. Three correlated readings of the same thing are one factor, not three.
The dashboard can show which fired, as a debug string, via Show Last Signal Factor Breakdown.
| # | Tag | Factor | Bull condition | Weight |
|---|---|---|---|---|
| 1 | Vol | Volume structure | Volume above 1.5x average with positive delta | 1 |
| 2 | Abs | Absorption | High volume, small range, closing up | 1 |
| 3 | Sweep | Liquidity sweep | Recent sweep of a prior low | 1 |
| 4 | Div | CVD divergence | Bullish divergence graded moderate or strong | 1 |
| 5 | POC | Price at POC | Within half an ATR of POC with non-negative delta | 1 |
| 6 | VA | Value Area position | Inside the Value Area, above its midpoint | 1 |
| 7 | Conv | AVWAP convergence | All three converged with positive delta slope | 1 |
| 8 | Coil2 | Compression bias | Qualified compression with bullish bias | 2 |
| 9 | Cant | Regime alignment | Cantillon bonus at or above +2 | 1 |
| 10 | VPd | POC delta imbalance | Above +15% | 1 |
| 11 | Dev | Deviation filter | Crossover inside the deviation band | 1 |
| 12 | SD2L | SD2L extreme | Capitulation and snapback active | 2 |
| 13 | BrkBias | Compression breakout | Qualified compression released in the biased direction | 1 |
| 14 | AVWAPRtn | AVWAP return | Full return sequence confirmed | 1 |
Bearish mirrors are identical with signs reversed, except factor 12, which is a long-only mean-reversion signal, and factor 14, which prints as AVWAPDst for distribution.
Weighted score against factor count
They measure different things and you need both.
The confluence score is a weighted sum including the Cantillon bonus, which can be negative. It answers: how much supporting context is present, and is the macro helping or hurting.
The factor count is unweighted and directional. It answers: how many independent things agree on direction.
A setup can carry a high score and a low count, meaning plenty of context but little agreement. It can carry a low score and a high count, meaning several independent confirmations fighting a hostile regime. The tier follows the count. The score is what you read to understand the tier.
13. Special Signals
SD2L Extreme
Fires when price has closed below the SD2 lower band within the confirmation window and then closes back above it. Institutional capitulation followed by a snapback: forced selling into the band, then the band reclaimed.
The state stays active, contributing its factor, until price closes back above SD1 Lower. That is the recovery threshold, not the entry.
AVWAP Return
The full institutional return sequence, and all four legs must be true:
- Structure. Seven of the last ten closes above the anchored VWAP. Not one poke above, a sustained hold.
- Pullback. Price comes back down and touches or briefly breaches the line.
- Reclaim. Price closes back above it, on at least average volume.
- Slope. The anchor itself is still rising.
The reclaim is the leg people miss, because by the time it happens the candle looks unremarkable. What actually happened is that price returned to where a large buyer's cost basis sits and that buyer added rather than sold. Volume is how you separate an add from a dead-cat bounce back over a line. Below average volume is the same shape with no participation and no information.
The signal is suppressed in a STRESS RECOVERY regime, because a reclaim during a liquidity event is not what it looks like.
AVWAP Distribution is the mirror, anchored to the swing high: price living below the level where the last buyers were filled, rallying back into it, and being rejected there on volume.
14. Order Flow and Bar Colouring
CVD
Cumulative volume delta, anchored to the same swing as the AVWAP. In Production mode delta is estimated per bar from the close relative to the open. In Research mode it is built from intrabar data at the chosen resolution, which is more accurate and repaints until the bar closes.
Bar colouring
| Colour | Meaning |
|---|---|
| Gold | Bullish absorption: closed down, positive delta |
| Magenta | Bearish absorption: closed up, negative delta |
| Teal | Normal positive delta |
| Red | Normal negative delta |
The first two are the informative ones. They mark bars where price and order flow disagreed, which is where absorption happens.
Divergence
Price slope and CVD slope pointing opposite ways over the divergence lookback, with a minimum price move to exclude noise. Graded by the size of the delta slope against its own standard deviation: strong above 2 sigma, moderate above 1, weak below.
Only moderate and strong contribute a factor.
15. Institutional Mechanics
Sweeps. Price trades through a prior extreme and closes back inside. Stops taken, no follow-through. Always computed, drawn only when enabled.
Fair value gaps. A three bar imbalance larger than the minimum ATR size. Cleared automatically when price trades back through.
Mitigation blocks. The last opposing candle before a decisive move. A down candle followed by a strong up candle is a bullish order block. A bullish block is invalidated by a close below its base, a bearish one by a close above its top.
16. The Dashboard
Three layouts: Simple, four rows. Minimal, six. Full, up to 32.
Full dashboard rows
| Row | Reads |
|---|---|
| Bias | Price above or below AVWAP |
| VWAP Dev | Distance from the anchored average |
| Conf Score | Weighted score, with factor count in brackets |
| Signal Tier | Current tier |
| Swing Age | Bars since the anchor was set |
| Swing Type | Bull or bear leg |
| Stability | Debounce counter |
| VP Recalcs | Lifetime profile rebuilds |
| Conv Status | Convergence state and strength |
| VP Delta | Buyer or seller dominance at POC |
| Vol Comp | Compression state, adaptive threshold, strength |
| SETUP | Coiled spring badge when active |
| Instr Tier | Detected volatility tier |
| Suggested Dev | Recommended deviation band against the current setting |
| Dev Filter | PASS, OPEN or FAIL with the current deviation |
| SD2L Suggest | Recommended confirmation window |
| SD2L Status | Firing, active, or bars since |
| Cantillon Flow | Regime state |
| Lqd / Eq / Rsk | The three layers |
| Macro Bonus | Contribution to the score |
| Composite | Score against its true maximum |
| VIX Layer | Fear contribution |
| Leader | Which layer leads |
| Transition | Improving, deteriorating or stable |
| Bd-Eq Corr | Bond-equity return correlation and stress flag |
| Fit | Whether the framework earns on this instrument |
| Expectancy | R per trade, resolved count, average duration |
| Avg W/L and PF | Average winner and loser in R, profit factor, open count |
| Anchor Hold | Bars per side, state, crossings |
| Last Buy / Last Sell | Factor breakdown, optional |
| Dropped | Unresolved signals aged out of the buffer, if any |
The Fit row
This is the verdict, and it grades on expectancy rather than win rate, because a win rate can be high on an instrument that loses money.
Two gates. Expectancy says whether there is an edge at all. Cushion says how fragile it is: how many points of win rate can be lost before the instrument turns unprofitable, calculated as the actual win rate minus the break-even win rate implied by the average win and loss.
- GREEN: expectancy above the green threshold and cushion above its threshold. Full size.
- AMBER: neither green nor red. Half size.
- RED: expectancy below the red threshold or cushion below its threshold. No new entries.
A thin edge with a wide cushion survives a bad month. A similar edge with a one point cushion does not. The single-gate version could not tell them apart.
The row also compares the trailing window against lifetime and reports whether the edge is improving, holding, or fading.
17. Exit Targets
| Target | Long | Short |
|---|---|---|
| T1 | SD1 Upper | SD1 Lower |
| T2 | POC or Value Area edge | Value Area edge or POC |
| T3 | SD2 Upper | SD2 Lower |
| Stop | Swing low minus ATR multiple | Swing high plus ATR multiple |
T2 is structural rather than statistical, which is why it is not simply SD2. It is where the volume actually sits.
T2 must be beyond T1. The POC or Value Area edge is a structural level and is not necessarily in your favour. When it sits at or inside T1 it is not a target at all, and the record falls back to SD2. Without that guard, a long whose POC sat below the entry was recorded as resolved on its first bar, below entry.
18. Alerts
| Alert | Fires on |
|---|---|
| Buy | S2 and above long |
| Sell | S2 and above short |
| Coiled Spring | Convergence and qualified compression begin together |
| Compression Breakout | Qualified compression releases |
| Signal 4 | Either direction at maximum conviction |
| SD2L Extreme | Capitulation and snapback |
| AVWAP Return / Distribution | Full sequence confirmed |
Messages carry ticker, price, confluence score, regime state and instrument tier. The Signal 4 message additionally carries the factor count, the macro bonus and the composite.
Set TradingView alerts to Once Per Bar Close. Everything in the script is built for that.
19. The Signal Record
Why expectancy, not win rate
A win rate is mostly a statement about where the target sits. Put the target near the entry and the stop far away, and the number rises, on any signal, in any market. Move them and it falls. The signal did not change. Only the geometry did.
Nine wins at +0.2R against one loss at -1R is a 90% win rate and a net loss of 0.8R. Four wins at +3R against six losses at -1R is a 40% win rate and a gain of 6R. The second is the better system by a distance, and no win rate would have told you that.
R is the risk taken on the trade. A stop is always exactly -1.00R, on every instrument and every timeframe, which makes a Bitcoin trade and a McDonald's trade directly comparable. Expectancy is the average R across every resolved signal. Above zero there is an edge before costs. Below zero there is not, whatever the percentage says.
Win rate is still on the dashboard. It sits next to the sample size and the average win and loss, which is the context needed to read it. On its own it tells you how a signal has been behaving on that instrument recently, which is useful. It does not tell you whether the signal makes money.
What gets recorded
By default, only setups that are actually tradeable: an S2 with sufficient confluence and the deviation gate open and the regime not against it, an S3 or better with the gate open, or an AVWAP return with a positive score. Recording every tier-2 crossover measures the raw signal rather than what you would enter, and buries a good selective entry among dozens that would never be taken. Record only tradeable setups can be switched off if you want the raw measurement.
How a trade resolves
Scaled exits by default. A third at T1, a third at T2, the runner held until a close breaks the anchor. Recorded R is the weighted blend of the three.
The stop moves to breakeven once T1 fills. R is always measured against the original risk, so a breakeven stop does not change the denominator. It changes the outcome: a trade that fills T1 and then reverses books the banked third instead of a full stop on the remainder.
The runner exit only arms after T1 fills. Entries qualify with the deviation gate open, which means price starts within a few percent of the anchor, so arming the anchor exit from bar one would close the trade on the first pullback and the trend leg would never be captured. Until a third is banked, the stop is what protects the position.
Stop is tested before targets, so a bar touching both books the loss. Conservative on purpose.
Sample floor
Below the minimum sample the dashboard reports how many signals it has rather than a percentage. A percentage computed on three trades is not evidence and should not be dressed up as one.
Lifetime counters
The record is held in counters independent of the display buffer, so it is not limited by the tracked-signal cap.
20. Session Filter
Off by default. When enabled, signals fire only inside the London or New York session.
21. IVT Magnet Zones
A composite of POC, the golden pocket and the most recent sweep, drawn as a zone half an ATR either side. Where several independent structural levels agree, price tends to be drawn back. Off in Production mode.
22. Settings Reference
Group 1: Cantillon Regime
Proxies for all three layers, VIX ticker and thresholds, ROC length, fast and slow averages, correlation length. The correlation length governs the stress guard, and 60 bars is roughly three months on a daily chart.
Group 2: Volume Profile
Lookback and row resolution set the structural window and its granularity. Width percent, HVN multiple, Value Area percent and border settings are cosmetic. Lookback Bars also sets the swing window, so it governs the AVWAP anchor as well as the profile. It is the single most consequential setting in the script.
Group 3: Trend and AVWAP
Source, standard deviation multiples, band transparency, momentum lookback, strong-signals-only.
Group 4: Multi-AVWAP
Anchor 2 lookback and refresh frequency, Anchor 3 type, convergence threshold in ATR, zone display.
Group 5: Compression
Base threshold, adaptive mode and its ATR boundaries, lookback, minimum duration, bias period and confidence threshold.
Group 5b: Deviation Filter
Maximum deviation for the bonus. Overridden by the adaptive tier when adaptive compression is on.
Group 5c: SD2L
Enable, label, and the capitulation window. The window is scanned for at least one close below SD2 Lower.
Group 5d: AVWAP Return
Anchor lookback, minimum bars above of the last ten, label and reference line display.
Groups 6 to 10
Macro levels, bar colouring, institutional mechanics, delta and absorption, confluence weights.
Group 11: Dashboard
Layout, position, tooltips, the performance tracker, sample floor, Fit thresholds and size multipliers, recording selectivity, exit fractions and the breakeven rule.
Group 16: Anchor Hold
Lookback window and the two thresholds. Pre-registered at 250 bars, 40 and 20.
23. Repaint Policy
Signals confirm on bar close. All tier labels, the SD2L label and the return labels are drawn when the bar has closed. They never appear on a forming bar.
Intrabar CVD repaints on the forming bar. This is why Production mode disables it and why Research mode prints a warning on the chart. Divergence and absorption labels are gated on bar close to prevent alert misfires.
Anchored VWAPs are stable. Once a bar closes, its contribution is fixed.
Higher timeframe data uses lookahead off. The Cantillon proxies and the daily and weekly levels do not look forward. The current daily bar still updates intraday, which is expected, not repainting.
Volume profile recalculates on swing changes. Current-swing values shift until the swing is confirmed. Levels from completed swings are stable.
Set alerts to Once Per Bar Close.
24. How To Read Any Record, Including This One
Every historical figure this script reports is calculated over the same price history that was used to choose its settings. That will always flatter it. This is true of every indicator you will ever be shown, and most of them will not tell you.
The parameter set is frozen. Results from the freeze date forward are the ones worth weighing, and they are the ones I will report on.
Three habits that will serve you regardless of what the dashboard says:
- Read Fit before you read the signal. A GREEN S2 is worth more than a RED S4. The tier tells you about the setup. Fit tells you whether the framework earns on that instrument at all.
- Read Anchor Hold against average trade duration. If price cannot hold one side of the anchor for as long as a typical trade takes, the exit rule will cut you before the thesis resolves.
- Distrust a percentage without a sample size next to it. Including mine.
Educational content only. Not financial advice. Past performance does not guarantee future results.
Cantillon Research — IVT v14.0 | cantillonresearch.com