MTF & Repainting

This is the most important page in this manual.

Written By Axiom Admin

Last updated About 1 month ago

MTF & Repainting

This is the most important page in this manual.

Everything about Axiom MA Lite β€” the multi-timeframe stacking, the cross-ticker overlays, the weighted blend β€” is only as useful as the data driving it. If the data on historical bars does not match what was actually available at the time, then every conclusion you draw from the chart's past is built on a lie. Not a mistake. Not an approximation. A lie β€” because the chart is showing you information the market had not yet produced.

This is the problem that most multi-timeframe indicators never talk about. They show you a smooth, responsive line, and the line looks wonderful in hindsight. It caught every turn. It aligned with the best entries. And the reason it looks so good is that it already knew where every higher-timeframe bar would close before the bar was finished. The chart flatters the indicator because the data is contaminated, and you cannot tell by looking at it. You can only tell by understanding how the request was made.

This page explains why that problem exists, how the indicator handles it, how to verify the behavior yourself, and what the On Bar Close switch actually controls.


The core problem: higher-timeframe data on lower-timeframe charts

When you put a 60-minute moving average on a 1-minute chart, something has to happen during the sixty 1-minute bars that make up each 60-minute candle. The 60-minute bar is still forming. Its final close, high, low, and volume are not known yet. But the 1-minute chart needs to show something for the 60-minute MA on every 1-minute bar.

There are two approaches, and they produce very different results:

Approach 1: Use the still-building bar (live, repainting)

Show the 60-minute MA using the current, incomplete 60-minute bar's data as it builds in real time. The line updates on every 1-minute bar, flowing smoothly. In real time, this feels responsive and current.

The problem appears in history. Once the 60-minute bar closes and its final value is locked in, TradingView does not show you the intermediate values that appeared while the bar was building. It shows the final value across all sixty 1-minute bars β€” as if the 60-minute bar's close was known from its very first minute. This is future leak. The chart's history shows values that were not available at the time.

If you scroll back through the chart, the 60-minute MA looks like it "knew" where each 60-minute candle would close before it actually closed. Any analysis, backtest, or visual comparison you do with this data is working with information the market had not produced yet.

Approach 2: Use the previous confirmed bar (safe, slightly delayed)

Show the 60-minute MA using the last fully-closed 60-minute bar's data. The line does not update until a new 60-minute bar closes and confirms. On the 1-minute chart, the line sits flat for sixty bars, then steps to the new value.

In real time, this feels slightly delayed. The most recent 60-minute bar's data is not reflected until it closes. You are always looking at the previous bar's confirmed value.

The advantage: history is honest. Every 1-minute bar in the past shows the 60-minute MA value that was actually known at that time. What you see now is what you would have seen then. Scrolling back through the chart does not reveal any information that was not available live.


How Axiom MA Lite handles it

The indicator uses a well-known TradingView technique to implement the confirmed-bar approach safely. When On Bar Close is on (the default), it requests the previous fully-closed HTF bar's data rather than the current building bar's data. This eliminates the future leak on historical bars.

When On Bar Close is off, it requests the current building bar's data, accepting the future leak in exchange for faster updates.

The On Bar Close toggle is the switch between these two approaches. It applies globally to all three slots and to the cross-ticker scaling ratio. In the Lite version, there is no per-slot override.


What each setting actually gives you

On Bar Close: ON (default)

Aspect

Behavior

Historical bars

Show the previous confirmed HTF bar's MA value. Stable β€” these values do not change after the fact.

Live bars (current HTF bar building)

Show the same confirmed value until the HTF bar closes. Then update to include the newly confirmed bar.

Visual appearance

MA lines "step" β€” they hold a flat value for the duration of each HTF bar, then jump to the next confirmed value.

Backtest reliability

Reliable. What you see in history is what you would have seen live.

Real-time feel

Slightly delayed. The newest HTF bar's influence is not visible until it closes.

On Bar Close: OFF

Aspect

Behavior

Historical bars

Show the current HTF bar's final MA value β€” the value it settled on after the bar closed. This value was not known while the bar was building.

Live bars (current HTF bar building)

Update continuously as each chart bar arrives, reflecting the still-incomplete HTF data.

Visual appearance

MA lines flow smoothly, updating on every chart bar.

Backtest reliability

Not reliable. History contains values that were not available at the time. Any strategy or visual analysis based on this data is contaminated.

Real-time feel

Responsive. The line moves with the building bar.


Step-by-step verification routine

You do not have to take anyone's word for how this works. You can verify it yourself in under five minutes.

What you need

  • A chart on a 1-minute timeframe

  • Axiom MA Lite loaded with the default settings (5m / 15m / 60m slots, On Bar Close on)

  • A market that is currently open and producing live data

Step 1: Watch the 5-minute slot with On Bar Close ON

Focus on the teal line (MA 01, the 5-minute slot). Watch it for a few minutes.

You should see the line hold a flat value as each 1-minute bar ticks by. Then, at the 5-minute mark (:00, :05, :10, :15, etc.), the line steps to a new value. Between those 5-minute closes, the line does not move.

This is confirmed-bar behavior. The line shows the MA from the previous 5-minute bar. It does not update until the next 5-minute bar closes and becomes the new "previous" bar.

Step 2: Toggle On Bar Close OFF

Open the settings and turn On Bar Close off. Watch the same teal line.

Now the line updates on every 1-minute bar. It flows smoothly, rising and falling with the building 5-minute bar's data. It feels more responsive.

Step 3: Check history with On Bar Close OFF

Scroll back in the chart while On Bar Close is still off. Look at the teal line on past bars.

Notice that the line looks smooth and prescient. On each set of five 1-minute bars, the line already shows the value that the 5-minute bar ultimately closed at β€” as if it knew the close from the start. This is the future leak. On historical bars, the final 5-minute value is applied to the first 1-minute bar of that 5-minute period.

Step 4: Toggle On Bar Close back ON

Turn On Bar Close back on. The historical view should change. The line returns to its stepped appearance, where each set of five 1-minute bars shows the previous 5-minute bar's confirmed value.

Compare the two views. With On Bar Close on, the line is stepped and slightly delayed but honest. With On Bar Close off, the line is smooth and current but historically dishonest.

Step 5: Confirm what you just proved

You have now verified:

  • On Bar Close ON shows confirmed data that does not change after the fact

  • On Bar Close OFF shows data that appears to know the future on historical bars

  • The visual difference is obvious (stepped vs. smooth)

  • The choice between them is a tradeoff between real-time responsiveness and historical integrity


The tradeoff, stated plainly

There is no free option.

On Bar Close ON gives you historical integrity at the cost of a one-HTF-bar delay. The newest information is always slightly behind. If you are watching a 60-minute slot on a 1-minute chart, you will not see the 60-minute MA's latest value until the 60-minute bar closes. That delay can feel significant in fast markets. But the chart history you study, the patterns you back-test visually, and the alignment you observe between the indicator and past price action β€” all of that is real. It matches what was available at the time.

On Bar Close OFF gives you real-time responsiveness at the cost of historical integrity. The line updates faster. It feels more connected to the current market. But the history it shows is fantasy. Every past bar contains a value that was not yet known when that bar was live. If you draw conclusions from the historical picture β€” "the indicator caught that move early" or "alignment held for twenty bars before the reversal" β€” those conclusions are contaminated.

For most users, the answer is straightforward: keep On Bar Close on. If you are doing any kind of analysis that looks at past behavior, you need the history to be honest.

The only defensible reason to turn it off is when you are watching the chart purely in real time, you understand that the historical picture is unreliable, and you value the responsiveness enough to accept that tradeoff. Even then, be honest with yourself about whether you will actually resist the temptation to glance back at history and draw conclusions from it. Most people cannot β€” and the moment you scroll left with On Bar Close off, the chart is telling you a story that did not happen.


What On Bar Close does NOT protect against

On Bar Close eliminates higher-timeframe future leak specifically. It does not make the chart immune to all forms of repainting or data instability. Here are the boundaries:

Chart-timeframe data is still live

On Bar Close controls how the indicator requests HTF data. It does not freeze the chart-timeframe bar itself. If you are on a 1-minute chart, the current 1-minute bar is still live β€” its close is not yet known. The HTF slots show confirmed data from their respective timeframes, but the chart's own bar is still forming. This is standard TradingView behavior and is not specific to this indicator.

The most recent HTF bar is always missing

With On Bar Close on, you are always looking at the previous HTF bar's value. The current HTF bar's influence is not reflected until it closes. This means:

  • On a 1-minute chart with a 60-minute slot, the last 0–59 minutes of data are not represented in the 60-minute MA.

  • On a 5-minute chart with a daily slot, the entire current trading day is not reflected until the daily bar closes.

This is the latency cost of confirmed-bar mode. It is real, and you should factor it into how you read the most recent bars.

Cross-ticker scaling follows the same rule

When a slot uses an alternate ticker, the scaling ratio that brings the alternate MA into the chart's price space also respects On Bar Close. With On Bar Close on, the ratio uses confirmed closes from both symbols. With On Bar Close off, it uses live closes. The same integrity/responsiveness tradeoff applies to the scaling as to the MA itself.

Alignment state on recent bars may be stale

If all three slots show alignment (all uptrend or all downtrend), that alignment reflects confirmed data β€” which may be one HTF bar behind the current market. The market could have already started moving against the trend on the current building bar, and the confirmed data will not show it until the next HTF bar closes.

This is not a flaw. It is the cost of reliability. A mature reader treats alignment on the most recent bars as "the confirmed picture agrees, but the current bar may already be telling a different story." If you need to know what is happening right now β€” not what was confirmed a bar ago β€” look at the price action on the chart timeframe. The confirmed MA data gives you the stable reference. The current bar gives you the live update. Combining the two is your job, not the indicator's.


Backtesting implications

If you use this indicator as a visual overlay while developing strategy logic in a separate script, the On Bar Close setting directly affects whether the overlay's position matches what a live strategy would have seen.

With On Bar Close ON, the MA values in history match what was available in real time. If you are aligning a strategy's entries with the indicator's visual position, that alignment is reliable. The MA was where you see it was.

With On Bar Close OFF, the MA values in history contain future-leaked data. If your strategy logic references these values (or if you visually compare strategy entries against the indicator's position), the accuracy of that comparison is inflated. The indicator appeared to "know" moves earlier than it actually did.

This is not a subtle problem, and the danger is proportional to how good the results look. On some instruments and timeframes, the difference between confirmed and live HTF data can be large enough to make a strategy appear to catch entries several bars earlier than it actually would have. The strategy's equity curve looks better. The win rate looks higher. The entries look prescient. And none of it survives contact with live data, because the indicator was using closes that had not happened yet.

The worst version of this is not the trader who knowingly takes the risk. It is the trader who does not know the setting exists, builds weeks of conviction around a visual backtest with repainting data, and then cannot understand why the strategy falls apart in live conditions. The chart lied to them, and the lie was invisible because the line looked like it was supposed to look.

Rule: always backtest with On Bar Close on. There is no scenario where backtesting with it off produces useful results. If the strategy does not work with confirmed data, it does not work. A backtest that only succeeds with repainting data has not found an edge β€” it has found a data artifact.


Summary

Question

Answer

What does On Bar Close control?

Whether HTF data comes from the previous confirmed bar (safe) or the current building bar (fast but repainting)

What is the default?

On (confirmed, safe)

Should I turn it off?

Only if you are watching purely in real time, understand the history becomes unreliable, and value the responsiveness more than the integrity

Can I backtest with it off?

No. The results will not reflect what would have happened live.

Does On Bar Close ON make everything safe?

It eliminates HTF future leak specifically. Chart-timeframe data is still live, and the most recent HTF bar is always missing until it confirms.

Is the delay a problem?

It is a tradeoff. The delay is real, but the history it produces is honest.

For how the confirmed-bar technique works under the hood, see For the Geeks.