MTF and Repainting

This page covers the most consequential setting in the indicator. If you read only one page beyond the quick start, make it this one.

Written By Axiom Admin

Last updated About 1 month ago

MTF and Repainting

This page covers the most consequential setting in the indicator. If you read only one page beyond the quick start, make it this one.


The problem

When a TradingView indicator requests data from a higher timeframe, there is a question the platform does not answer for you: should the indicator use the higher-timeframe bar that is still building, or the one that already closed?

The difference matters enormously.

The building bar is the current higher-timeframe period as it unfolds. On a 1-minute chart looking at a 5-minute timeframe, the building bar is the 5-minute candle that has not finished yet. Its high, low, and close update every minute as new data arrives. The final values are not known until the bar completes.

The confirmed bar is the one that just finished. Its values are final. They will not change.

If an indicator uses the building bar's values and you scroll back through history, TradingView shows the final state of each building bar β€” not the intermediate states that existed while it was forming. The historical chart looks clean and precise, but it is showing you information that was not available at the time. This is repainting.

A Donchian Channel built from a building bar's highest high and lowest low can show a clean breakout in history that never actually appeared on the screen when that bar was live. If you backtest a strategy that uses this channel, the backtest is working with data that did not exist in real time. The results are unreliable.


How Axiom DC Pro handles it

Every slot has an On Bar Close toggle in its power-user settings. This is the repaint safety switch.

On Bar Close = ON (default)

The slot fetches the last fully confirmed higher-timeframe bar's values. It uses the standard one-bar-offset pattern inside the requested timeframe with lookahead = barmerge.lookahead_on, so the slot shows the most recently completed HTF bar instead of the still-building one.

What you see on the chart: Staircase-shaped channels that update only when the higher-timeframe bar closes. Between updates, the channel holds flat. The wider the gap between your chart timeframe and the slot's timeframe, the wider the flat steps.

What this guarantees: The channel values at any point in history match what they would have been in real time at that bar. Your backtest sees the same data your live chart would have shown. This makes the historical record trustworthy for analysis and strategy testing.

What it costs: One higher-timeframe bar of lag. The channel does not reflect the current building bar's range. In fast-moving markets, this means the structural read is slightly stale. The 5-minute slot on a 1-minute chart is always showing you where structure was as of the last completed 5-minute bar, not where it is right now.

On Bar Close = OFF

The slot fetches the current building higher-timeframe bar's values. The channel updates on every chart-timeframe bar as the HTF bar builds.

What you see on the chart: Smoother, more responsive channels that move with intrabar price action. No staircase. The channel looks like it is tracking price in real time.

What this costs: The historical chart lies. TradingView renders the building bar's final values throughout its entire duration, as if those values were known from the start. A channel that moved several times during the bar's formation shows only its final position in history. Breakouts that were tentative or nonexistent mid-bar appear clean and decisive after the fact.

The consequence: Any historical analysis, visual backtest, or strategy test run with On Bar Close = OFF is working with rewritten data. You cannot trust the historical chart to represent what was actually visible at the time.


Why both options exist

Because the tradeoff is real and there are legitimate reasons to be on either side of it.

A trader who is running a live intraday workflow and wants the most current structural read β€” understanding that they are seeing the building bar, not the confirmed one β€” might turn On Bar Close off for a specific slot to get faster updates. They know the historical chart will repaint. They are not backtesting with that slot. They want the live read.

A trader who is analyzing historical price action, building a strategy, or comparing structural behavior across sessions needs On Bar Close on. The historical data has to be reliable or the analysis has no foundation.

The important thing is that the choice is yours, and it is made per slot. You can have some slots confirmed and others building. You can use confirmed-bar slots for backtesting and structural analysis while running one building-bar slot for a faster live reference. The indicator does not force you into one mode β€” but it does not protect you from making a choice you do not understand.


How this affects the blended channel

The blended channel computes its values from all enabled slots with non-zero weight. If even one of those slots has On Bar Close turned off, the blended channel incorporates that slot's repainting data into its average. The blend does not have its own On Bar Close toggle β€” it inherits the behavior of each contributing slot.

This means:

  • If all contributing slots have On Bar Close = ON, the blended channel is safe for historical analysis.

  • If any contributing slot has On Bar Close = OFF, the blended channel's historical values may not match what was visible in real time.

  • The blend does not warn you about this. There is no visual cue, no color change, no label on the chart that says "this composite includes repainting data." You have to know which slots are feeding it and what their On Bar Close settings are.

The safest practice: if you turn On Bar Close off on a slot for live responsiveness, set that slot's weight to zero so it stays out of the blend. You keep the fast-updating channel as a standalone visual reference, and the blend stays historically clean. If you want the slot in the blend and you want it building-bar responsive, accept that the blend is no longer safe for historical analysis and do not backtest against it.


Verification walkthrough

You do not need to take any of this on faith. Here is how to verify the behavior yourself.

Setup

  1. Open a 1-minute chart on any liquid instrument.

  2. Apply Axiom DC Pro with defaults (three slots enabled, On Bar Close = ON for all).

  3. Focus on DC 01 (5-minute timeframe, teal).

Step 1: Observe confirmed behavior

Watch the teal channel as a few 5-minute bars complete. Between bar closes, the channel holds flat β€” the staircase. When a 5-minute bar closes, the channel steps to its new level reflecting the completed bar's highest high, lowest low, and midpoint. Note the exact values at the step.

Step 2: Switch to building-bar mode

Open the settings, find DC 01's power-user section, and turn On Bar Close off. The teal channel should immediately become smoother β€” it is now updating every minute as the 5-minute bar builds. Watch it move in real time.

Step 3: Compare in replay mode

Switch to TradingView's Bar Replay. Step through historical bars one at a time with On Bar Close = ON. The channel values at each bar should be stable β€” they should not shift as you step forward. They represent confirmed data.

Now switch On Bar Close to OFF and step through the same bars. The channel values in history reflect the final state of each 5-minute bar. But when that bar was building in real time, the values were different on each intermediate step. You are seeing a picture that did not exist at the time.

Step 4: Check a specific bar

Find a moment where price moved significantly within a 5-minute bar. With On Bar Close ON, the channel during that bar shows the prior confirmed values β€” the staircase. With On Bar Close OFF, the channel during that bar shows the final values, as if they were known the whole time. If the high or low of that 5-minute bar was set late in its formation, the repainting version shows that extreme from the beginning of the bar. The confirmed version does not.

What this tells you

The confirmed-bar mode shows you what you would have seen. The building-bar mode shows you what happened afterward, rewritten to look like it was always there. If your decision-making or backtesting depends on historical accuracy, you need On Bar Close = ON.


The practical rule

Leave On Bar Close enabled for any slot whose data you want to be historically reliable. That includes any slot feeding a blend you might analyze later, any slot whose alerts you want to verify in history, and any slot you might scroll back through when reviewing how a session played out.

If you turn it off for a specific live-trading workflow, do so deliberately. Set the slot's weight to zero if you want to protect the blend, and mark it in your own notes as "live only β€” repaints." The indicator will not label it for you. A month from now, when you scroll back through your chart to review a trade, you will not remember which slot was in building-bar mode unless you wrote it down.

The cost of the confirmed-bar staircase is one bar of lag. The cost of the building-bar smooth line is an unreliable historical record. Both costs are real. The question is which one you can afford for the specific work you are doing right now.