MTF & Repainting

Most of the useful judgment you will make with Axiom DC CTX comes down to one per-slot switch: `On Bar Close?`. This page is here because that switch is the difference between a chart that respects what happened and a...

Written By Axiom Admin

Last updated 22 days ago

MTF & Repainting

Most of the useful judgment you will make with Axiom DC CTX comes down to one per-slot switch: On Bar Close?. This page is here because that switch is the difference between a chart that respects what happened and a chart that will quietly rearrange itself between bars. You do not need the implementation details to use the switch correctly, but you do need to understand the tradeoff clearly, because the tradeoff is real and it is yours to make per slot.

What "repaint" actually means here

Repainting is a word with several overlapping meanings in trading tools. In this manual, "repaint" refers to a specific behavior: a higher-timeframe value that is shown on a lower-timeframe chart can change on the current chart bar until the higher-timeframe bar closes. You see a value at 10:03, come back at 10:04, and the value at 10:03 is now different. Not because you misread, not because the data is broken β€” because the higher-timeframe bar underneath 10:03 was still forming when you first looked, and it has since settled to a different value.

That is the class of behavior that caused the original Axiom bot to look like it was printing 300% per month in backtest and then fail in live trading. A repainting indicator is not lying to you in a single moment β€” it is lying to you across time, by presenting a line that was never actually available when the chart bar printed.

Axiom DC CTX lets you choose the posture per slot. It does not choose for you. That choice is the content of this page.

The two postures, in plain words

On Bar Close? ON β€” confirmed HTF read

Under ON, the slot shows the previous, confirmed higher-timeframe value on every chart bar inside the current HTF bar. The 5-minute slot on a 1-minute chart does not change its reading between 10:00 and 10:05. At 10:05, the 5-minute bar closes; the new confirmed value appears on the next chart bar; the slot steps forward.

The lines you see under ON are the lines that existed when each chart bar printed. A chart bar from twenty minutes ago shows exactly the value the slot carried when that chart bar closed β€” not what it looks like now in hindsight. This is what makes a backtest or a replay honest. If you had been looking at this chart live, you would have seen exactly these lines.

The cost is latency. Under ON, you are looking at the previous HTF bar's confirmed value. On a 60-minute slot on a 1-minute chart, a fresh swing high that occurred fifteen minutes into the current 60-minute bar will not show up on the slot until that 60-minute bar closes β€” forty-five minutes later. You traded stability for timeliness.

On Bar Close? OFF β€” live HTF read

Under OFF, the slot shows the current, live higher-timeframe value. The 5-minute slot on a 1-minute chart updates its lines as new 1-minute bars close inside the current 5-minute bar, because each 1-minute close can push the live 5-minute high or low. At 10:03, you see one 5-minute value; at 10:04, a new 1-minute bar has closed, and the live 5-minute high has maybe climbed β€” the slot's upper line climbs with it. At 10:05, the 5-minute bar finally closes and the value settles.

Under OFF, the slot is useful for the current developing HTF read, not for proving old bars. The script requests current HTF values in this posture, so a historical or reloaded chart can show values from a developing HTF bar earlier than they were actually confirmed. If you re-render the chart at 10:30, do not treat the OFF line at 10:03 as a faithful record of what you saw live at 10:03. The 5-minute bar kept moving until it closed, and the current-value request is allowed to reflect that settled information on old bars.

This is responsiveness paid for in repaint exposure. OFF is not a speed upgrade. It is a different contract.

Side by side

Question

On Bar Close? = ON

On Bar Close? = OFF

What HTF value does the slot show?

Previous, confirmed.

Current, live.

How does the slot move between HTF closes?

It does not. The lines hold until the HTF bar closes.

It can drift as the live HTF bar develops.

What does a historical bar show?

The value the slot actually carried when that bar printed.

A current-value HTF read that should not be treated as a faithful live record after reload.

What does the replay feature show?

What you would have seen live.

Useful for watching live redraw, not for proving what old bars knew.

When is it the right posture?

Most of the time, for most readers.

Specific cases where you need intrabar responsiveness and you are prepared to act under uncertainty.

What does the alert log look like?

Each alert fired on a chart-bar close against a confirmed HTF value.

Each alert fired on a chart-bar close against a value that may have been a live HTF read.

Verifying ON is holding

You should not take this section on faith. Run the drill once so you have seen the behavior:

  1. On a 1-minute chart, enable a single slot at TimeFrame: "5" with On Bar Close? = ON.

  2. Attach a DC NN Basis Is Uptrend alert to that slot.

  3. Watch a full 5-minute window. The slot's three lines should advance only at the 5-minute close, not between closes. The lines between 10:00 and 10:05 should be identical; at 10:05, the slot steps forward to a new set of values; at 10:10, it steps again.

  4. Now flip On Bar Close? to OFF and watch another 5-minute window. You will see the slot's lines drift as each 1-minute bar closes inside the 5-minute window. The upper may climb partway through the 5-minute bar; the lower may drop; the basis may wander.

  5. Flip On Bar Close? back to ON.

The drill is not dramatic. The point is that the drift under OFF is real and continuous, not a glitch β€” and the stability under ON is also real. Once you have seen both, you know what you are looking at in the live moment. For historical review, ON is still the posture that carries the proof.

When OFF is genuinely the right choice

OFF is not a trap. It is a different tool. Cases where OFF is the reasonable posture:

  • You trade intrabar and you are explicit about it. You enter and exit within the chart timeframe, and you use the slot's live HTF read as context for intrabar decisions you will close before the HTF bar closes. Under that workflow, the live value is what you want β€” the confirmed value at the previous HTF close is too stale for your horizon.

  • You are using the slot as a live indicator of where the HTF range is currently forming. You are not looking at historical bars of the slot; you are looking at its current value and asking "where is the 15-minute range right now, live?" That is a legitimate question and OFF is the answer. You just need to know that once you look back or reload, OFF history is not a faithful record of what the chart knew live.

  • You are comparing a live 5-minute range to a confirmed 60-minute range. Slot 01 on 5m under OFF, Slot 03 on 60m under ON β€” mixing postures across slots is allowed, and sometimes desirable. Each slot's posture is its own.

When OFF is not the right choice:

  • Backtesting or reviewing historical chart behavior as if the lines you see were the lines you would have seen live.

  • Any workflow where alert logs matter after the fact and you will need to know whether the value the alert fired against was confirmed.

  • Any stack where you flipped OFF on every slot for "speed" and are now reading the stack as if it were repaint-proof.

The anti-pattern is not flipping OFF on one slot for a specific reason. The anti-pattern is flipping OFF on every slot because the chart feels snappier and then forgetting you did.

The runtime-error guard

If you set a slot's TimeFrame: to a value below the chart's timeframe β€” for example, setting Slot 01 to "1" on a 5-minute chart β€” the indicator deliberately fails with a runtime error:

DC NN timeframe cannot be lower than the chart timeframe.

The chart goes blank. TradingView shows a red banner with the message above, naming which slot triggered it.

Why the guard exists: reading a timeframe below the chart with a higher-timeframe request is not meaningful β€” the higher timeframe does not have a "previous bar" relationship to a lower timeframe. Rather than silently return unpredictable values, the tool stops. This is a feature, not a bug.

How to fix: raise the offending slot's TimeFrame: to equal or above the chart timeframe, or blank it to inherit the chart's timeframe. On a 5-minute chart, "5", "15", "60", "240", "D", or "" are all valid. "1", "3", "1S" are not.

When you see the banner in live conditions, read the slot number in the message. The slot that triggered the error is named β€” you do not have to guess which one was lower than the chart. Correct that slot and the chart renders again.

Cross-ticker scaling inherits the slot's posture

This is a detail that has caught careful readers: when a slot has Optional Ticker: set, the indicator computes a scaling ratio β€” the chart symbol's HTF close divided by the alternate symbol's HTF close at the slot's timeframe β€” and multiplies the slot's channel into chart price space. That ratio is computed under the slot's own On Bar Close? posture.

Consequence: a cross-ticker slot under OFF is scaling against a live HTF close on both symbols. The ratio itself can drift intrabar, not only the channel's shape. A cross-ticker slot under ON scales against confirmed HTF closes on both symbols, and the ratio is stable between HTF closes.

If you are using cross-ticker slots, ON is almost always the right posture β€” because you usually want the rescaled channel to be stable between HTF closes, not drifting in two dimensions at once.

Practical defaults for reading this tool

Default ON on every slot unless you have a specific, explicit reason for OFF. If a slot's posture is ambiguous, ON is the posture that lets you trust what you see on historical bars. A reader who spends a month using this tool with every slot under ON will have a clean mental model of what the lines mean; a reader who starts with every slot under OFF for responsiveness will spend that month slowly learning that old OFF bars are not a trustworthy record of what the chart knew at the time.

The switch is per slot so you can be deliberate. Use the deliberate choice. Do not flatten the stack into one posture without thinking.

A small mental habit for reading the HTF stack

When you look at an HTF slot's line, try saying out loud β€” or silently β€” what it represents under the current posture. For a 15-minute slot under ON on a 1-minute chart: "this is where the 15-minute basis was at the last 15-minute close, held constant across every 1-minute chart bar until the next 15-minute close." For the same slot under OFF: "this is where the live 15-minute basis is right now, which can still move until the 15-minute bar closes."

Speaking the posture like that sounds pedantic. It is the single most reliable habit for not confusing yourself with an HTF read. The moment you cannot articulate what the line represents, the line is not yet readable β€” and "not readable" is an honest answer that should push you back to the switch rather than forward into a trade.