Alerts
Axiom MA registers **ten alert conditions** and exposes **two hidden count plots** that exist so you can dress alert messages with live numbers. Every alert is gated by bar-close on the chart timeframe. None of them a...
Written By Axiom Admin
Last updated 22 days ago
Alerts
Axiom MA registers ten alert conditions and exposes two hidden count plots that exist so you can dress alert messages with live numbers. Every alert is gated by bar-close on the chart timeframe. None of them are trade triggers. This page documents each condition, what it is actually confirming, and the small number of things readers routinely over-read about them.
The chart-bar-confirmed gate
Before the table: one rule that applies to every alert on this tool, because it is the rule most likely to be misunderstood.
An alert fires only on a closed chart bar. The guard is TradingView's barstate.isconfirmed, and it is independent of the global On Bar Close? switch. An alert on the 1-minute chart fires when a 1-minute bar closes. An alert on the 5-minute chart fires when a 5-minute bar closes. The slot's higher-timeframe bar state does not change this rule β the chart-bar gate is the only gate on "has this alert fired."
That means two important things can both be true at the same time:
The alert fires on a closed chart bar and reports a state computed from the slot's current MA and trend.
That state, under
On Bar Close?OFF, may have been computed from the slot's live higher-timeframe bar. A chart-bar-confirmed alert can still reflect a live HTF read when the global switch is off.
In other words, a fired alert confirms "this condition was true on this closed chart bar." It does not confirm "the higher-timeframe bar backing this condition has also closed." If you are running OFF for responsiveness and wiring alerts for context, name that distinction for yourself once and it stops being surprising. More on why at MTF & Repainting.
The ten alert conditions
Alerts are listed in the order the script registers them. Every alert's message is the one the script ships β you can override it from TradingView's alert dialog when you create the alert, but unless you do, this is what you will see.
Total: ten conditions. Six per-slot, two blended, two alignment. No crossover alerts, no price-cross alerts, no volatility alerts, no band-touch alerts β because there are no crossovers, price-cross events, volatility reads, or bands in this tool.
The two hidden count plots
Because they read like alerts but do not fire like alerts, put them here rather than on Visuals & Logic.
Active Uptrend Countβ the count of enabled slots whose current MA value is non-naand whose trend state is up.Active Downtrend Countβ the count of enabled slots whose current MA value is non-naand whose trend state is down.
Both plots are emitted with display.none, which means they never draw on the chart. TradingView still publishes the numeric values into its plot API, which means you can reference them from alert-message templates using the standard placeholder syntax. A ready-to-use example, using {{plot_N}} placeholders where N is the plot index in the script's plot order (in this script: 4 for Active Uptrend Count, 5 for Active Downtrend Count, after the four visible line plots):
Axiom MA on {{ticker}} {{interval}}: active up {{plot_4}} / active down {{plot_5}}.If you are unsure of the indices, TradingView's alert-message dialog shows a dropdown of available plots under "Message" β "Add placeholder" when you compose the message. Use that to insert the placeholders rather than guessing.
The count plots let you build alert messages like "2 of 3 slots up" without writing a new indicator. They are deliberately limited β they expose only the counts, not the per-slot labels. If you want a message that names which slots are up, wire multiple per-slot alerts and write distinct messages for each.
Family by family β what each alert confirms and over-reads to watch for
Per-slot trend alerts (1β6)
What the alert confirms:
The chart bar has closed.
The slot was enabled at the time of firing.
The slot's MA was a real number (non-
na; early bars on long MA lengths may take a few bars to produce a value).The slot's trend state, computed on the slot's own
TimeFrame:against the slot's ownTrend Length:, was uptrend (or downtrend) on that bar.
What the alert does not confirm:
That the slot's higher-timeframe bar has closed. Under
On Bar Close?OFF, the slot may have been reading a live HTF bar when the alert fired.That price is on any particular side of the slot's line. There are no price-versus-MA alerts; these alerts read the MA's self-comparison, not the price-versus-MA relationship.
That anything should be traded. Trend state is a smoothed-state classification on one timeframe, not an execution event.
Common over-reads:
"
MA 03 Is Uptrendfired β the 60-minute trend just turned." Not necessarily. The alert fires every closed chart bar while Slot 03's trend stays up. Its firing does not signal a turn; it reports a state. If you want turn events, use a separate companion script or external alert handling that explicitly compares current state to prior state."A per-slot alert can fire intra-bar." It cannot.
barstate.isconfirmedforbids it.
Blended trend alerts (7β8)
What the alert confirms:
Chart bar closed.
Blended MA is enabled and its value is non-
na.The weight-majority vote across voting slots reads up (or down) on that bar.
What the alert does not confirm:
That the blended line is sloping in the direction of the vote. Colour and slope are independent on this tool. A flat blended line can fire
Blended MA Is Uptrendif the vote resolved up.That every slot agrees. A heavy-weight slot can outvote two disagreeing slots. See Visuals & Logic on reading disagreement.
That the vote was a strict majority. Ties resolve to uptrend because the blend uses a greater-than-or-equal comparison on the up-weight side. Two slots up and one slot down at equal weights fires
Blended MA Is Uptrend; so does one slot up and one slot down at equal weights if the third slot is silent.
Common over-read:
"The blended alert is a proprietary score." It is not. The rule is a weight-normalised average combined with a weight-majority trend vote, with a stated tie-break. No threshold, no decay, no secondary filter. The rule's simplicity is the point.
Alignment alerts (9β10)
What the alert confirms:
Chart bar closed.
Every enabled slot with a non-
naMA value was in the same direction on that closed bar.
What the alert does not confirm:
That every visible slot agreed. Hidden-plot slots are still counted once their MA value is non-
na. The alignment counter gates onslotNNEnableandnot na(slotNNValue), not onslotNNHidePlot. A slot you have hidden, but not disabled, is a voter in this alert once it has a usable value.That every enabled slot has produced a value yet. Alignment uses the active non-
naset. On early history, a slower slot can be enabled but not counted yet.That two out of three is "mostly aligned." Alignment is all-or-nothing across the active set on this tool β there is no "2 of 3" alert. If you want that, build it from the per-slot alerts or reference
Active Uptrend Count/Active Downtrend Countin your message.
Common over-read:
"
All MA Slots Uptrenddid not fire even though I can see two slots lime β the alert is broken." The alert is not broken. The usual cause is a hidden enabled slot with a valid MA value that is still down. A slot whose value isnais not counted in the active alignment set yet, so it lowers the active count rather than blocking alignment by itself. Open Troubleshooting for the full symptom-to-cause table on this one; the short form is: open the Data Window and checkMA 01,MA 02,MA 03,Active Uptrend Count, andActive Downtrend Count.
Three practical patterns for wiring alerts
These are not workflows (those live on Workflows); they are small, reusable alert recipes.
A single-slot context ping
Wire MA 03 Is Uptrend or MA 03 Is Downtrend with the Once per bar close alert trigger in TradingView, and set the message to:
Axiom MA 03 on {{ticker}} {{interval}}: slot 03 trend up.You will get one ping per closed chart bar while Slot 03 is in an uptrend. If you want only the turn, not the state, combine two alerts and filter at TradingView's alert level (or build a separate indicator that watches the plot values).
A "stack aligned" alert
Wire All MA Slots Uptrend and All MA Slots Downtrend as two alerts with complementary messages. Remember: alignment requires every enabled slot in the active non-na set, including any hidden one. If you do not want a hidden slot counted once it has a value, disable it instead of hiding it.
A "counts in the message" alert
Wire any per-slot or blended alert and include the count placeholders in the message β for example:
{{ticker}} {{interval}}: blended up, active up {{plot_4}} / active down {{plot_5}}.That gives you a quick "how aligned is the stack right now" read without wiring every combination. Confirm the placeholder numbers against TradingView's alert dialog before saving.
What you can and cannot infer from a fired alert
Can:
The chart bar closed with the named condition true.
The alert is only meaningful under the settings it is actually running with. Do not assume a saved TradingView alert changed just because you changed the chart inputs later; verify or recreate the alert when settings matter.
Cannot:
That the higher-timeframe bar backing the condition has closed (under OFF posture).
That anything is tradable.
That anything "turned" β these alerts report states, not transitions.
That a hidden slot is excluded from alignment. It is not once its MA value is non-
na.
Where to go next
MTF & Repainting β the chart-bar-confirmed gate versus the HTF-bar gate, end to end.
Visuals & Logic β what the blended trend vote is actually doing, and why slot disagreement is information.
Troubleshooting β common cases where an alert failed to fire as the reader expected.