Limitations & Trust Boundaries
Every tool has edges. Knowing where those edges are is the difference between using a tool well and being surprised by it at the worst possible time.
Written By Axiom Admin
Last updated About 1 month ago
Limitations & Trust Boundaries
Every tool has edges. Knowing where those edges are is the difference between using a tool well and being surprised by it at the worst possible time.
This page names the boundaries of what Axiom DC Lite can and cannot do. It is not a disclaimer section β it is a trust-calibration guide. The goal is to help you know where to rely on the indicator, where to verify, and where to recognize that you are past what the tool was designed for.
The confirmed-bar lag tradeoff
What to trust: When On Bar Close is ON, the historical display is reliable. What you see on past bars is what this script would have had available at those confirmed closes. This is the indicator's strongest data-integrity claim.
What to accept: That reliability comes with lag. Each slot's channel reflects the previous completed higher-timeframe bar, not the current one. On a 60-minute slot, that is up to 60 minutes of delay. There is no way to eliminate this lag while keeping the confirmed-bar historical behavior.
Where to be careful: The lag is most noticeable β and most uncomfortable β during fast markets. When price is moving hard and you can see the current bar developing in a way that clearly differs from the last confirmed bar, the 60-minute channel sitting at the previous hour's values feels like stale data. It is not stale. It is confirmed. But that distinction is cold comfort when the market is moving and you feel like you are looking at old information while everyone else is trading the present.
The temptation to turn On Bar Close off is strongest precisely when the repainting risk is highest, because the building bar's values are changing the fastest. During calm markets, the lag barely matters β the confirmed bar and the building bar usually agree. During volatile moves, they diverge significantly, the lag becomes visible, and the decision to accept it becomes a test of whether you actually trust the principle you chose.
The honest position: You can have speed or you can have trustworthy history. You cannot have both. The indicator surfaces this tension rather than hiding it. The discomfort you feel during fast markets is not a design flaw β it is the tradeoff working as intended. If the lag never bothered you, the safety would not be protecting you from anything meaningful.
Cross-ticker scaling is a ratio, not a conversion
What to trust: For correlated instruments β a stock and its sector ETF, an index and its futures contract, two instruments that move together β the cross-ticker scaling provides useful structural context. The scaled channel shows you whether the other instrument's range is expanding or contracting relative to your chart, and that information is meaningful when the instruments actually move in relation to each other.
What not to assume: The scaling uses a simple ratio between the two instruments' closes. This is not a statistical normalization, not a correlation-adjusted mapping, and not an accurate price translation. It is a proportional remapping that works as long as the proportional relationship between the two instruments is reasonably stable.
What the code actually does when that ratio fails: It does not force the slot to na. If the script cannot compute a valid ratio, it leaves the alternate symbol's raw Donchian values in place. On a differently priced instrument, that can throw the slot far off your chart scale instead of simply creating a clean gap.
Where it breaks down:
Uncorrelated instruments: Setting the Optional Ticker to an instrument that has no meaningful price relationship with your chart symbol produces a scaled channel that carries the shape of the other instrument mapped into your price space β but that shape does not correspond to any structural boundary relevant to what you are trading. It looks like data. It is not useful data.
Divergent periods: Even correlated instruments can diverge temporarily. During those periods, the ratio shifts and the scaled channel moves in ways that do not reflect your chart symbol's own structure. A strong rally in your stock while the reference instrument drops can produce a scaled channel that moves in the opposite direction from your chart's own Donchian levels.
Very different price levels or volatility: When the two instruments trade at very different price magnitudes (a $500 index and a $5 stock), the ratio amplifies small percentage moves in the larger instrument into proportionally larger swings in the scaled channel. The channel may look unusually volatile or compressed relative to the chart's own structure.
Verification: Compare a cross-ticker slot's behavior over several sessions to the reference instrument's actual chart. If the scaled channel's movements make sense relative to what the other instrument did, the scaling is adding useful context. If the movements feel random or unrelated, the instruments are not correlated enough for the feature to be meaningful.
{% hint style="info" %} Placeholder for cross-ticker trust boundary screenshot
The screenshot must show two panels:
Panel 1 β Correlated instruments: A stock chart with a cross-ticker slot set to a correlated sector ETF. The scaled channel moves in rough sympathy with the chart's own DC, providing useful structural context.
Panel 2 β Uncorrelated instruments: The same stock chart with the cross-ticker slot set to an unrelated instrument (e.g., gold or a currency pair). The scaled channel moves independently and erratically relative to the chart's own structure.
Annotations should highlight the correlation in Panel 1 and the breakdown in Panel 2. {% endhint %}
The blended channel compresses disagreement
What to trust: When the individual slots are aligned β showing similar structural ranges and price sitting on the same side of all bases β the blended channel is a reasonable summary. It gives you a quick visual for the combined structural picture.
What not to assume: The blended channel reveals something that the individual slots do not. It is a weighted average of existing values, not a derived insight. It cannot produce structural levels that are more meaningful than the levels the slots already show.
Where it misleads:
During timeframe divergence. When the 5-minute slot is wide and falling while the 60-minute slot is narrow and flat, the blended channel splits the difference. Its upper, basis, and lower lines land on values that do not correspond to any real structural boundary on any single timeframe. Reading the blend as "the combined structural level" in this state is reading compression as information.
When one weight dominates. Setting DC 01 to weight 100 and the others to 5 makes the blend a slightly diluted copy of DC 01. The "multi-timeframe" label still applies technically, but the blend is not adding perspective. If one timeframe dominates your analysis this heavily, reading that slot directly is more honest than routing it through a blend that pretends to be balanced.
During the blended basis cross. When the blended basis sits between diverging slot bases, crossing above or below the blended basis is crossing an arithmetic midpoint, not a structural level. Alerts tied to the blended basis cross can fire at positions that no individual timeframe recognizes as significant.
How to stay grounded: Always check the individual slots when the blended channel is telling you a story. If all three slots agree with the blend's story, the blend is doing its job. If the slots are diverging, the blend is averaging away the most interesting information.
The blended channel does not wait for clean inputs
What the code does: Enabled slot values are pushed into the blend with nz(). That means missing slot values are coerced to 0 before the weighted average is calculated.
Why this matters: If a slot is enabled but does not have usable values yet, or if every enabled slot has a blend weight of 0, the blended channel does not politely disappear. It can collapse toward zero instead, which makes the blended lines and blended alerts misleading until the inputs are meaningful again.
How to handle it: If the blend suddenly looks off-scale, do not assume it is waiting on na inputs. Check whether a slot is still warming up, whether every enabled weight is 0, or whether a cross-ticker slot is falling back to raw alternate-symbol values.
No session filtering
What it means: The Donchian calculations use all available bars at the requested timeframe, regardless of trading session boundaries. If your chart shows extended-hours data, those bars are included in the highest-high and lowest-low calculations.
Why this matters: Extended-hours sessions often have lower liquidity and wider spreads. A spike during pre-market or after-hours trading can stretch the Donchian Channel in ways that do not reflect regular-session price behavior. The channel does not distinguish between a 9:45 AM move with heavy volume and a 6:30 AM move on thin participation β both are just bars in the lookback window.
What to watch for: If you trade instruments with significant extended-hours activity, the Donchian boundaries may be set by bars you do not consider part of your trading session.
US equities: Pre-market activity (4:00-9:30 AM ET) and after-hours (4:00-8:00 PM ET) can produce highs or lows that stretch the channel beyond what the regular session would show. A thin pre-market spike to a new high at 7:00 AM becomes the upper boundary of the Donchian Channel for the rest of the lookback window, even though it happened on a handful of shares.
Futures: Instruments like ES or NQ trade nearly 24 hours. The overnight session can set structural extremes that persist through the regular session. Whether overnight structure matters to your analysis is a question of your process, but the indicator includes it regardless.
Crypto: There is no session boundary at all. The Donchian lookback window captures all activity, including weekend moves. For a 24/7 market this is arguably correct behavior, but it also means weekend volatility (which may be lower-liquidity) shapes the structural range equally with high-liquidity weekday moves.
What you can do about it: You cannot configure session filtering within the indicator. If session-only Donchian levels are important to your process, you would need a separate indicator or a different approach. This is a design simplification, not an oversight β session filtering adds real complexity (which sessions? which time zones? what about instruments that trade across multiple exchanges?) that the Lite version does not attempt to resolve.
No individual slot channel-cross alerts
What is available: Alerts for per-slot basis regime (above/below/change), blended basis regime, multi-slot alignment, and blended channel boundary crosses.
What is not available: Alerts for when price crosses an individual slot's upper or lower line. If you want to know when price crosses DC 01's upper boundary, no built-in alert exists for that condition. Only the blended channel has cross alerts.
Workaround: You can set the per-slot "Is Above Basis" alert as a proxy for structural positioning, but it is not the same as a boundary cross. For precise slot-level boundary monitoring, you would need to watch the chart directly.
Library dependency
Axiom DC Lite depends on the Axiom MA Library Lite (version 1) for basis smoothing. The indicator imports this library to provide access to multiple moving average types for the basis line.
What this means for you: If the library is updated to a new version, the indicator's behavior would not change unless the indicator itself is updated to import the new version. The version is pinned at import time.
What you do not need to worry about: The library dependency is handled automatically. You do not need to install, configure, or manage the library separately. TradingView resolves the library when the indicator loads, and the process is invisible to you as a user.
History depth limitations
The issue: On very high timeframes with long lookback lengths, the Donchian calculation requires a number of HTF bars that may exceed the available chart history. A 60-minute slot with a length of 200 needs 200 hourly bars β roughly 8 weeks of market hours. That data is usually available. But a Weekly slot with a length of 52 needs a year of weekly bars, and the available history depends on the instrument and the data provider.
What you see: When the history is insufficient, the indicator shows na (no value) for the early portion of the chart. The channels appear only after enough bars have loaded to compute the full lookback. This is not an error β it is the indicator correctly reporting that it does not have enough data to calculate.
What to do: If you need the indicator to display values further back in history, either reduce the lookback length or reduce the timeframe. If neither option works, the data simply is not available for the calculation you are requesting.
The indicator does not know what timeframes matter for your instrument
The default timeframes β 5-minute, 15-minute, 60-minute β are a reasonable starting point for liquid intraday instruments. They are not a recommendation for every market, every session, or every trading style.
The structural horizons that matter depend on what you trade, when you trade it, and how your process works. Forex pairs during the London session have different structural rhythms than US equities during the first hour. Crypto markets that trade 24/7 have different structural dynamics than futures with defined sessions.
The indicator gives you three slots and lets you choose the timeframes. That flexibility is the tool's strength, but it also means the configuration is your responsibility. Running the defaults without thinking about whether 5m/15m/60m are the right horizons for your instrument is not the indicator's failure β it is a missed step in your setup process.