For the Geeks

This page exists for the reader who has gotten the indicator running, has read the rest of the pack, and wants to understand why the two distinctive mechanics on this trim are shaped the way they are. It is a trust-de...

Written By Axiom Admin

Last updated 22 days ago

For the Geeks

This page exists for the reader who has gotten the indicator running, has read the rest of the pack, and wants to understand why the two distinctive mechanics on this trim are shaped the way they are. It is a trust-deepening page, not a reference implementation. The goal is to leave you with a clearer mental model of what the tool is doing when it is doing the non-textbook parts of its job β€” not with enough detail to reproduce the script.

A pre-emptive note to readers who came here first. The rest of the pack explains what the indicator does and how to use it. This page explains why the two parts that can feel opaque are shaped the way they are. Read the rest first; this page builds trust once you already know the surface, and it will teach less if you read it cold.

Two mechanics earn a section here: the confirmed-HTF posture under On Bar Close?, and the weighted blend that publishes a majority-weight basis-trend vote with a tie-break rule. Nothing else on this indicator is shaped unusually enough to need its own page. The cross-symbol scaling mechanic that lives on the CTX trim is not present on this trim and is not discussed here; that is the CTX pack's territory.

Mechanic A. The confirmed-HTF posture

Why a naive higher-timeframe read is a trust problem

A higher-timeframe indicator evaluated on a lower-timeframe chart has to answer a question about a bar that has not finished yet. The lower-timeframe chart is asking "what is the indicator's value on this bar," and "this bar" is sometimes inside a higher-timeframe bar that is still being assembled from live ticks.

A naive implementation picks the live value β€” the higher-timeframe bar as it currently stands β€” and reports it. That value may change as the higher-timeframe bar keeps forming. The consequence is historical non-stationarity: the chart you see today and the chart you scroll back to tomorrow will report different indicator values on the same historical chart bar, because the chart you see today is using a live value while the chart tomorrow is using the value that was there at the higher-timeframe close.

Most readers encounter this as a strange experience late in the learning process: an indicator that looked crisp during the session turns out, on review, to have been drawing a value that was still moving. The strange part is not that it moved β€” the strange part is that the chart does not remember that it moved.

Axiom DC handles this by giving the reader a switch. Under On Bar Close? = ON, every slot returns a confirmed value β€” specifically, the value the higher-timeframe bar had at its last close. That value does not move again. Under OFF, the slot returns a live value β€” the higher-timeframe bar's current read β€” and the reader accepts that the value can change until the higher-timeframe bar closes.

What "confirmed" and "live" mean, at a mental-model level

Think of each slot as running its own Donchian window on its own timeframe, quietly, in the background. At each chart-bar close, the slot is asked for a value. Under ON, the slot answers with the value it had as of its last completed higher-timeframe bar β€” an answer that will not change. Under OFF, the slot answers with its current state β€” an answer that reflects whatever the live higher-timeframe bar is doing, and is subject to further change until that bar closes.

The tradeoff is structural, not cosmetic. You cannot get both ON-grade stability and OFF-grade responsiveness at the same time. The switch is an honest statement of which one you are choosing.

Why the switch is global on this trim

The Base trim exposes a single global On Bar Close? rather than a per-slot equivalent because the focus of this trim is on keeping the read simple: one switch, one posture, one tradeoff to reason about. A per-slot version of this switch introduces cases where the reader is holding three different repaint postures in their head simultaneously β€” legitimate, but heavier than the Base surface wants to carry. Per-slot repaint control lives on the CTX trim, where the wider surface earns the extra decision.

Verification drill

The ON / OFF behavior is easy to see directly. Leave only Slot 03 enabled at its default 60-minute timeframe on a 1-minute chart. Wait until the current 60-minute bar is somewhere in the middle of its hour. Under ON, Slot 03's lines sit still β€” they are the previous 60-minute close's values. Under OFF, Slot 03's lines may move as the live 60-minute bar keeps forming. Flip the switch back to ON and the lines snap back to the previous confirmed read.

One bar of higher-timeframe latency is what ON costs. The freedom from redraws is what ON buys.

What is deliberately not published here

The exact shape of the request that resolves these higher-timeframe values, the way the slot selects between "previous close" and "live" internally, the way the script coordinates with TradingView's lookahead behavior, and the structure of the tuple returned by the request all stay inside the script. The posture, the tradeoff, and the scope (global on this trim) are what you need as a reader. The implementation is what makes the posture work without error; it is not what makes the mental model make sense.

Mechanic B. The weighted blend and the majority-weight basis-trend vote

Why a composite has to declare its rule

The blended channel is a weighted summary of the enabled, non-zero-weight slots once those slots have valid values. A summary is only useful if the reader knows the rule the summary was computed under. If the rule is hidden, the reader is asked to trust a line without being able to reason about why it is where it is β€” a posture that would not survive a careful reader on any other part of the indicator.

So the rule is published. Not the accumulator code, but the rule:

  • For upper, lower, and basis, the blended channel reports a weighted average. Each contributing slot's value is multiplied by its weight, the products are summed, and the sum is divided by the total contributing weight. A slot with a weight of zero is not a contributor; its value is not in the sum and its weight is not in the denominator.

  • For the basis-trend state β€” rising or falling β€” the blended channel reports a weight-majority vote. The total weight of slots voting rising is compared against the total weight of slots voting falling. Rising wins when its weight total is greater than or equal to the falling total. Ties resolve as rising.

That is the whole rule. Once you know it, you can predict where the blend will land given any slot configuration.

One boundary belongs beside the rule. During early warmup, missing slot values can be zero-filled so the blend stays numeric. That keeps the script from breaking, but it does not make the early composite meaningful. Wait until the contributing slot lines are plotted before treating the blend or blended basis alerts as a read.

A worked example on a three-slot stack

Take the shipped defaults: Slot 01 at weight 40, Slot 02 at weight 35, Slot 03 at weight 25. Total contributing weight is 100, so the blend is a convex combination with the weights acting as percentages.

Suppose Slot 01 says upper = 120, Slot 02 says upper = 123, Slot 03 says upper = 125. The blended upper is (40 Γ— 120 + 35 Γ— 123 + 25 Γ— 125) / 100 = (4,800 + 4,305 + 3,125) / 100 = 122.30. You can do this arithmetic on any slot value, on any bar, and predict the blend to the decimal.

Now suppose Slot 01's basis is rising, Slot 02's basis is falling, and Slot 03's basis is rising. Rising weight = 40 + 25 = 65. Falling weight = 35. Rising wins. Flip Slot 03 to falling. Rising weight = 40. Falling weight = 35 + 25 = 60. Falling wins.

The tie case is worth walking through specifically because it is realistic on a three-slot stack. Suppose you ran equal weights of 20 each on all three slots, and Slot 03 is na (warming up). The effective contributing set is just Slots 01 and 02, each at 20. If Slot 01 is rising and Slot 02 is falling, rising weight = 20 and falling weight = 20 β€” a tie. The blended basis-trend resolves as rising, because the rule is rising weight >= falling weight.

The >= is not a market opinion. It is a deterministic convention so the blended trend state always has a value. Without it, tied cases would leave the state undefined, and the blended basis-trend alert would either have to refuse to fire or would have to fire on an ambiguous condition. The indicator chooses determinism with a stated bias; the reader can work around the bias by choosing weights that rarely tie, or by reading the slots directly when the vote is close.

Why this rule rather than something more elaborate

A more elaborate composite β€” a regime classifier, a threshold-driven voting scheme, a non-linear weighting β€” would be more opinionated about what the blend "really means." The indicator avoids that on purpose. A weighted average and a weight-majority vote are the simplest honest summaries of the inputs. A reader who disagrees with the blend can change the weights; a reader who disagrees with a more opinionated composite has nowhere to go.

Simpler also means more reproducible in the reader's head. Every blended value can be predicted from the slot values and the weights in a few seconds of arithmetic. That is a kind of trust no amount of implementation polish can substitute for.

Verification drills

Two drills are enough to verify the blend rule. Do either one once and you will stop treating the composite as mysterious.

Drill 1 (equal-weight average). Enable Slots 01 and 02 at equal weights, for example 20 each, and disable Slot 03. Read the blended basis. It should equal the simple average of the two slots' bases to within the chart's rendering precision. Change one slot's weight to 40 while leaving the other at 20. The blended basis should move proportionally toward the heavier slot.

Drill 2 (tie-to-rising). Enable Slots 01 and 02 at equal weights and disable Slot 03. Arrange for their basis trends to disagree on some bar β€” one rising, one falling. Wait for a chart-bar close and check the Blended DC Basis Is Uptrend alert. It should have fired in the tied case. This is the >= convention at work.

Both drills take under five minutes. They are the cheapest way to see the rule doing exactly what the rule says it is doing.

What is deliberately not published here

The accumulator loop that builds the weighted sums, the internal data structure used to collect the contributing slots, and any micro-optimization the script applies to keep the blend fast across a three-slot stack are not on this page. The rule and the warmup boundary are. Those implementation choices are what keep the script lightweight; they are not what makes the rule make sense.

What is not on this page because it is not on this trim

The CTX trim carries a third distinctive mechanic: a cross-symbol scaling path that lets a slot read a different symbol's range and present it in the chart symbol's price space. That mechanic is not on the Base trim. Every slot on this trim reads the chart symbol. There is no alternate-ticker input, no scaling ratio, and no cross-symbol math to describe.

This is not an oversight. The Base trim is the focused trim of the Axiom DC family, and cross-symbol scaling is a complexity the focused trim deliberately does not carry. Readers who need that mechanic should reach for the CTX trim, where it has its own page and its own verification drill. Teaching it here would imply the Base trim does something it does not, which is exactly the kind of trust error the rest of this pack is working to avoid.

One last framing

The point of this page is not to make you a better reader of Axiom DC by showing you its internals. The point is to leave you confident that the two non-obvious parts of the indicator are not hiding from you. The HTF posture is named, its tradeoff is named, and its scope is named. The blend rule is named, the tie-break is named, and both are reproducible with arithmetic you can do on the back of a chart. If anything on this page surprised you, the fix is in the configuration, not in an unstated assumption about the tool.

A subtler benefit of knowing a mechanic's shape: it lets you notice when the shape is producing a result you do not want, and change it yourself. A reader who understands that the blend tie breaks rising can choose weights that rarely tie, or can choose to read the slots directly on tie-prone configurations. A reader who understands that ON costs one higher-timeframe bar of latency can decide a faster read is worth the redraw cost for a specific job and flip the switch deliberately. A tool you understand is a tool you can disagree with productively. That is most of what sovereignty over a chart actually means.