MTF and Repainting

This page explains the On Bar Close setting in depth — what it does, what each mode costs you, and how to verify the behavior yourself. If you use this oscillator for any kind of historical comparison, pattern study,...

Written By Axiom Admin

Last updated About 1 month ago

MTF and Repainting

This page explains the On Bar Close setting in depth — what it does, what each mode costs you, and how to verify the behavior yourself. If you use this oscillator for any kind of historical comparison, pattern study, or backtest context, this is required reading.


The core problem

Every slot in this oscillator requests data from a higher timeframe. On a 5-minute chart, a slot configured for 60 minutes asks TradingView for 60-minute resolution data. The 60-minute bar takes twelve 5-minute bars to complete. During those twelve bars, a question arises that every multi-timeframe indicator must answer: what should the oscillator display while the higher-timeframe bar is still forming?

There are two honest answers, and they have different costs. Most indicators pick one and do not tell you which. This one gives you the choice explicitly.

Option 1: Wait for the bar to close. Display the CVD and Signal values from the last completed 60-minute bar. For twelve consecutive 5-minute bars, the slot shows the same value — the output of the most recently confirmed HTF bar. When the current 60-minute bar closes, the slot updates to reflect that bar's CVD. The cost: one-bar lag. The current 60-minute bar's reading does not appear until it is finished. But everything you see on historical bars is what was visible at the time.

Option 2: Show the building bar. Display the 60-minute bar's CVD as it accumulates through the twelve 5-minute bars. The slot updates every time a new sub-bar arrives, giving a running view of the HTF bar's estimated pressure. The cost: the values you see on historical bars are the final state of each 60-minute bar, not the intermediate states that were visible during the bar's formation. If you scroll back, the chart shows a version of the past that benefits from knowing how each HTF bar ended.

Axiom CVD Osc Lite gives you both options through the On Bar Close setting. Neither option is "wrong" — they serve different purposes and make different tradeoffs with the truth.


On Bar Close: On (default)

When On Bar Close is enabled, the indicator uses a confirmation offset pattern. For each slot, the displayed CVD and Signal values are taken from the previous completed HTF bar — the [1] offset. Combined with TradingView's lookahead mechanism, this means:

  • Current bar: Shows the output of the last confirmed HTF bar. Does not update as the current HTF bar builds.

  • Historical bars: Each bar shows the value that was visible live at that point — the last confirmed HTF bar's output at the time.

  • Stability: Once a value is displayed, it does not change. Scrolling through history shows exactly what was present on screen at each moment.

The cost is lag. The current HTF bar's estimated CVD does not appear in the oscillator until that bar closes. If the 60-minute slot is on a 5-minute chart, you are always seeing the previous hour's final reading. During the current hour, the slot is flat — it holds the prior value and waits.

That flat stretch is not the indicator being slow. It is the indicator telling you it has nothing new to confirm. The last bar it can vouch for is the one it is showing. It will not guess about the one still forming.

This is the mode to use when historical trust matters. If you scroll back to compare oscillator readings against price action, study session behavior, or develop a mental model of how the oscillator behaves around certain price structures, On Bar Close on means you are studying real readings — not reconstructions.


On Bar Close: Off

When On Bar Close is disabled, the indicator displays the current HTF bar's CVD and Signal values as they accumulate in real time. On a 5-minute chart with a 60-minute slot, the reading updates every five minutes as new sub-bars arrive and are classified by the participation model.

  • Current bar: Shows the running CVD estimate for the building HTF bar. Updates intrabar.

  • Historical bars: Each bar shows the final CVD value of the completed HTF bar that covered that time — the outcome, not the journey.

  • Stability: Values on past bars reflect final states. They may differ from what was visible during the bar's formation.

This is repainting by design. The word sounds alarming, and in many contexts it should. An indicator that silently rewrites its history to look better than it was in real time is lying to you. But this is not that — the indicator makes the tradeoff explicit, and the setting is clearly labeled. The repainting here is a consequence of showing live HTF data. The historical bars are honest about the final outcome; they are just not honest about the intrabar journey.

The cost is unreliable history. If you scroll back with On Bar Close off and study how the oscillator behaved around a specific price event, you are looking at what the HTF bar eventually settled on, not what the oscillator showed you bar-by-bar as it happened. The oscillator may appear to have caught a move cleanly — because it had the benefit of seeing the complete HTF bar's final state, which it did not have in real time.

This is the mode to use when responsiveness matters more than historical accuracy. Some traders want to see the building reading and accept the tradeoff. That is a legitimate choice, as long as you do not then scroll back and treat the history as reliable.


Lower TF Precision's role

Each slot also has a Lower TF Precision setting that controls the sub-timeframe used to fetch intrabar data. For a 60-minute slot, setting Lower TF Precision to 1m means the indicator pulls twelve sub-bars per 5-minute bar (sixty total across the 60-minute bar) and classifies each one. Setting it to 5m means it pulls one sub-bar per chart bar.

This affects the granularity of the estimate within the HTF bar — more sub-bars give the participation model more data points to classify. But it does not change the fundamental On Bar Close tradeoff. With On Bar Close on, the confirmed HTF bar's CVD is computed from all the sub-bars that arrived within it, offset by one bar. With On Bar Close off, the running CVD is computed from however many sub-bars have arrived so far.

When intrabar data is unavailable — sparse history, instruments with limited lower-TF data — the indicator falls back to single-bar estimation using the slot bar's own OHLC. The oscillator still works, but the estimate is coarser because the model has only one candle to classify instead of dozens. This fallback is silent: the indicator does not warn you when it happens. If a slot's readings feel unusually smooth or slow to react, sparse intrabar data may be the reason.


How to verify this yourself

You do not have to take the manual's word for any of this. Here is how to check both modes on your own chart:

Verify On Bar Close On (stable history)

  1. Add the indicator with defaults (On Bar Close on) to a liquid intraday chart (e.g., BTCUSDT 5m).

  2. Watch the 60-minute slot (Slot 03). Note the CVD value.

  3. Wait for the current 60-minute bar to close. The slot should update to a new value at the close.

  4. Scroll back to earlier bars. The values should remain exactly as they were when you watched them live.

  5. Close and reopen TradingView, or reload the chart. The historical values should be unchanged.

Verify On Bar Close Off (live but repainting)

  1. Turn On Bar Close off in settings.

  2. Watch the 60-minute slot. Note the CVD value partway through the 60-minute bar.

  3. Wait for the 60-minute bar to close. Note the final value.

  4. Scroll back to the bar you were watching. The value on that bar now shows the final state — which may differ from what you saw mid-bar.

  5. This is the repainting behavior. The chart shows what the bar became, not what it was while you were watching.

Compare both modes side by side

  1. Add two copies of the indicator to the same chart — one with On Bar Close on, one off.

  2. Watch the same slot on both. The On Bar Close-off version will update intrabar. The On Bar Close-on version will hold flat until the HTF bar closes.

  3. When the HTF bar closes, the On Bar Close-on version will update to show the prior bar's final value (one-bar offset). The On Bar Close-off version will show the current bar's final value.

  4. Scroll back. The On Bar Close-on version's history should match what you observed live. The On Bar Close-off version's history will show final bar states.


When to use which

Situation

Recommended mode

Why

Studying historical oscillator behavior

On Bar Close on

You need history that matches what was visible live

Building mental models from past sessions

On Bar Close on

Pattern recognition only works on stable data

Comparing oscillator to price action on past bars

On Bar Close on

The comparison is meaningless if the oscillator values were not present at the time

Watching live intrabar pressure during active trading

On Bar Close off is a valid choice

Accept the lag tradeoff of "on" or accept the history tradeoff of "off"

Using the oscillator alongside replay or backtesting tools

On Bar Close on

Replay data assumes stable history

The default is on for a reason. The indicator is designed to prioritize trustworthy history over faster updates. If you change the default, you are making a deliberate tradeoff — make sure you understand both sides before you rely on what the chart shows you about the past.