Indicator

ExpEngineThe engine behind the EXP GRID / EXP OVERLAY reconstruction pair.
An indicator is either overlay or pane, never both. So a study that wants to draw levels on price AND report statistics about those levels has to be two scripts — and two scripts means two copies of the decision logic, and two copies drift. This library exists so that they cannot: the pane cannot measure a different trade than the price chart draws, because there is only one definition of it.
WHAT IS IN HERE
context() — nine signed volume and efficiency features, each clamped to , and the composite they average into.
aligned() / plan() — the arming condition and the trade state machine: arm on alignment, enter on a break of the prior bar in the armed direction, exit on stop, target, or the clock, whichever comes first. Tracks MFE, MAE, realised R and a running win/loss record.
shadow() — a random-entry baseline that runs under the IDENTICAL exit rule. A base rate computed under a different exit rule is not a base rate.
TWO THINGS WORTH KNOWING
When both the stop and the target are touched inside a single bar, the intrabar path is unknowable, so plan() assumes the STOP filled first. Calling that one a win is the most common way a backtest lies to you.
macroBundle() applies to every leg and is meant to be called with lookahead_on. That pairing is the only one of the four offset/lookahead combinations that reads a CLOSED higher-timeframe bar in both history and realtime; change one without the other and the script either leaks the future or disagrees with itself live. A library cannot make the request itself — Pine rejects a request.*() whose expression depends on an exported function's arguments (CE10051) — so the call site stays in your script:
= request.security(syminfo.tickerid, tf, es.macroBundle(len, aLen), lookahead = barmerge.lookahead_on)
float macroAtr = es.macroBias(mEma, mAtr, mClose)
Everything here reads confirmed bars only.
Library "ExpEngine"
version()
macroBundle(len, aLen)
Parameters:
len (simple int)
aLen (simple int)
macroBias(mEma, mAtr, mClose)
Parameters:
mEma (float)
mAtr (float)
mClose (float)
context(volLen, erFastLen, erSlowLen, atrLen, macroAtr)
Parameters:
volLen (simple int)
erFastLen (simple int)
erSlowLen (simple int)
atrLen (simple int)
macroAtr (float)
aligned(c, sessOpen, strongBand, armRvol)
Parameters:
c (Ctx)
sessOpen (bool)
strongBand (float)
armRvol (float)
plan(c, ok, stopAtr, rr, timeExit)
Parameters:
c (Ctx)
ok (bool)
stopAtr (float)
rr (float)
timeExit (int)
shadow(c, sessOpen, every, stopAtr, rr, timeExit)
Parameters:
c (Ctx)
sessOpen (bool)
every (simple int)
stopAtr (float)
rr (float)
timeExit (int)
Ctx
Fields:
fRvol (series float)
fPress (series float)
fCvd (series float)
fVwma (series float)
fEff (series float)
fRange (series float)
fClv (series float)
fMacro (series float)
fPersist (series float)
composite (series float)
macroAtr (series float)
rvol (series float)
atr (series float)
erF (series float)
erS (series float)
hasVol (series bool)
Plan
Fields:
state (series int)
dir (series int)
entry (series float)
stop (series float)
target (series float)
risk (series float)
entryBar (series int)
armed (series bool)
entered (series bool)
exited (series bool)
win (series bool)
rMult (series float)
exitPx (series float)
mfe (series float)
mae (series float)
mfeBar (series int)
lastMfe (series float)
lastMfeMin (series float)
wins (series int)
losses (series int)
avgWinBars (series float)
avgLossBars (series float)
avgMaeWin (series float)
sumR (series float)
Tally
Fields:
state (series int)
dir (series int)
entry (series float)
stop (series float)
target (series float)
bar (series int)
wins (series int)
losses (series int)
sumR (series float) Library

Indicator

Historical Precedent Engine [HPE]WHAT IT DOES
HPE takes the last few candles on your chart, searches that chart's own history for
earlier sequences that resemble them, and shows you what price did after those earlier
sequences. It is an analog study. The output is a summary of precedent, not a forecast.
TUNING IS NOT OPTIONAL — READ THIS FIRST
This is a matcher, and a matcher only speaks when it finds something. Every enabled
filter is a hard gate applied to every candle in the fingerprint, and the gates compound:
a sequence qualifies only if candle 1 passes wick, body and volume, and candle 2 passes
all three, and so on, and the sequence momentum passes, and the direction rule passes.
Tighten two of those and the survivor count does not halve, it collapses.
So the normal failure mode is an empty dashboard. Median outcome, tolerance band, delta
and range all read "—", Bias reads Neutral, and Matches Used reads 0. That is not a bug
and it is not the tool being broken. It means nothing in this chart's history was close
enough to the present under the settings you have. The honest answer for that bar is
silence, and the tool gives it.
The tolerance units
Wick and body are measured as a percentage of the candle's own high-to-low range, not of
price. An upper wick occupying a fifth of its candle scores 20, whether that candle is a
one-minute Bitcoin bar or a daily equity bar. A tolerance of 12 therefore means "within
12 percentage points of range", and it means the same thing on every instrument and every
timeframe.
That is deliberate. Measured against price instead, the same tolerance would need to be
roughly a hundred times larger on a daily equity chart than on a one-minute crypto chart,
and no single default could serve both — one setting would accept everything on one chart
and nothing on the other.
On Auto-Tune, which ships OFF
Auto-Tune moves the wick and body tolerances based on how well recent projections
resolved. It ships disabled, for two measured reasons.
It cannot start from nothing. It does not act until at least five projections have been
scored, so if your tolerances are too tight to ever produce a match, there are no
projections, nothing is scored, and it never moves. It is a regulator, not a starter
motor.
And once it does start, it tends not to stop. It can only travel between a quarter and
four times your input, and when widening fails to improve fit — which is the usual case
if the matches were poor to begin with — it widens every bar until it pins at four times
your input and stays there. On the test chart it did exactly that, and the difference it
made was 50 resolved projections instead of 49. It bought one projection out of fifty
while making the number in the settings box a fiction.
So it is off, and what you type is what runs. Turn it on if you want it, knowing both of
the above.
The order to loosen in, most effective first:
1. Strict Direction off. With it on, every candle must match direction, which is a
1-in-2^N filter before any tolerance is applied. This is the single biggest lever.
2. Shorten Sequence Length. Fewer candles means fewer conjunctive conditions. Three is
the minimum and is the default for that reason.
3. Raise Wick and Body Tolerance, in the units described above.
4. Turn off Require Per-Candle Volume Match and Require Momentum Match. Volume ratios in
particular are noisy on short timeframes and reject a lot for little gain.
5. Lower Min Matches Required. It ships at 2 rather than 3 because on the instrument
these defaults were measured on, 3 never fires. Read the last paragraph of this
description before you take that as a recommendation.
Where the defaults came from
They were measured with a full 1,000-sequence library on three charts chosen to be as
unalike as possible, and they were picked to make the engine speak at all rather than to
make it look good:
COINBASE:BTCUSD 1-minute 73 projections over 25,837 bars
COINBASE:BTCUSD 1-hour 33 projections over 22,764 bars
AMEX:SPY daily 29 projections over 8,436 bars
That is between one bar in 290 and one bar in 690 — the same order of magnitude across a
crypto intraday chart and an equity daily chart, with no per-instrument tuning. It should
still be quiet, and you should still retune for your own instrument and horizon, but the
defaults are a measured starting point rather than a guess.
One note on reading the dashboard while you do that. The calibration row shows total
projections alongside how many sit in the calibration window, and that window is capped by
Calibration window (samples) — 50 by default. Watch the total, not the window. The window
fills early and then stops moving, which makes a well-tuned setup and a barely-working one
look identical.
ON LIBRARY SIZE
Max Stored Sequences is the pool the matcher searches, and a bigger pool is the one way
to get more matches without making each match mean less. It is capped at 1,000 by default
for a practical reason: raising it substantially can push the script past PulseWire's
calculation limit, at which point it stops reporting entirely. If you raise it and the
indicator goes blank rather than merely empty, that is what happened. Put it back. This
cap is also the real ceiling on how often the engine can fire at a tolerance tight enough
to be meaningful, and it is worth knowing that before you go hunting for settings.
HOW IT WORKS
1. Fingerprint. On every confirmed bar, the last N candles are reduced to a five-field
vector per candle: upper wick, lower wick, body, direction, and volume measured
against its own moving average.
2. Store. That fingerprint is written to a rolling library along with what price did over
the following bars.
3. Match. The current fingerprint is compared against every stored sequence. A stored
sequence qualifies only if each candle falls inside the wick, body and volume
tolerances, and only if the sequence momentum falls inside its tolerance. Direction
matching is separate: with Strict Direction on, every candle must match direction;
with it off, only the final candle must. An optional session filter restricts matches
to the same trading session.
4. Summarise. Qualifying matches are ranked by how well their own past projections
resolved, and the strongest are combined into a single percentile outcome — the median
by default. If fewer than Min Matches Required qualify, nothing is drawn.
5. Calibrate. Once the horizon elapses, each projection is scored against what actually
happened. That score weights how much a stored sequence counts in future matches, and
feeds Auto-Tune if you have enabled it.
READING THE CHART
Projection line and band — the percentile outcome of the current match set, extended to
the horizon.
Consensus paths — the individual paths of the top matches, drawn separately, so you can
see the spread the single summary line came from. A tight cluster and a wide scatter
produce the same median.
Rolling projection trail — past projections left on the chart beside what price actually
did. This is deliberate. A tool that hides its misses is not worth reading.
Dashboard — match count, median outcome, ±1σ range, session, library size, live
tolerances, and the calibration block. The projection values — median outcome, tolerance
band, delta, range, bias, match count and best-match error — are cleared at the start of
every confirmed bar, so those rows always show that bar's answer and never a leftover
from an earlier bar that happened to match. The library and calibration counters are
cumulative by design and do not clear.
The same state is also published to the Data Window as plain numbers, which is easier to
read than canvas text while you are tuning.
ON THE CALIBRATION NUMBERS
The dashboard reports mean projection error, not accuracy.
It is the average distance between projection and outcome, expressed as a share of the
size of the move that actually occurred, measured over the most recent resolved
projections on the chart you are looking at. It is computed in-sample, on bars the engine
had already stored, and it is not a forward result.
It is there so you can tell whether your tolerances are set sensibly. It is not evidence
that the tool works, and it should not be read as a hit rate. Because the actual move is
the denominator, the figure also moves with volatility regime rather than with skill
alone — quiet bars punish it, large moves flatter it.
ON REPAINTING
Two specific claims, both checkable in the source:
There are no request.security() calls anywhere in this script. Every value is computed
from the chart's own bars, so there is no higher-timeframe lookahead question to get
wrong in the first place.
Every drawing and every dashboard write sits inside a single barstate.isconfirmed gate.
Nothing is created, moved or deleted while the live bar is still forming.
A projection does extend to bars that have not happened yet. It does not move once drawn.
It is simply right or wrong, and the trail is there so you can see which.
SETTINGS WORTH KNOWING
Sequence Length — how many candles form the fingerprint. Longer is stricter and finds
fewer matches, and the effect is multiplicative rather than linear.
Min Matches Required — below this count nothing is drawn.
Delta Percentile — 50 is the median. Move it to read the pessimistic or optimistic tail
of the same match set rather than its centre.
Auto-Tune Tolerances — off by default; see above before enabling.
Strict Direction — the difference between "these candles had the same shape" and "these
candles had the same shape and went the same way."
WHAT THIS IS NOT
This is a visualization and analysis tool, not a trading system. It does not produce
advice. Nothing here is a signal to enter or exit a position, and no performance is
claimed or implied. Markets change regime, and any tool built on historical structure
will fail when they do. Use it as context alongside your own analysis.
One more thing worth saying plainly, and it is the honest counterweight to the tuning
advice above: a small sample of matches is a small sample. Two historical analogs tell
you very little, and the engine will draw a line from two just as readily as from thirty.
Min Matches ships at 2 because that is what it took to get the engine to speak on the
instrument it was measured on — which is a statement about how hard analogs are to find
in a 1,000-sequence library, not a claim that two is enough to believe. Loosening the
filters until something appears is easy, and it is exactly how you end up reading noise.
Watch the match count before you read the line, and treat a projection drawn from a
handful of precedents as the weak evidence it is.
Indicator

Z-Edge | Confluence Z-score StrategyA multi-factor trading strategy that standardizes three independent market signals — momentum, RSI, and relative volume — into a single composite Z-score, then trades either trend-following or mean-reversion setups off that score. Position size and stop placement are calculated automatically from ATR-based risk, so every trade is sized consistently regardless of the asset's volatility.
Features
Multi-factor composite — blends price momentum (rate of change), RSI, and relative volume into one Z-scored reading, with adjustable weights so you can lean the composite toward whichever factor you trust most for a given market.
Adaptive smoothing — the EMA smoothing length isn't fixed. It automatically shortens in high-volatility regimes (faster response) and lengthens in calm regimes (less noise), driven by an ATR percentile rank.
Two entry modes — Zero Cross (trend-following: enter when the composite crosses through zero) or Threshold Reversion (mean-reversion: enter when the composite reverses from an extreme).
Divergence detection — flags when price makes a new high/low that the composite Z-score doesn't confirm, a classic early-warning signal the underlying factors alone don't show.
ATR-based risk sizing — every trade's position size is calculated from your risk-per-trade %, account equity, and ATR stop distance, with a hard cap on max % of equity per position.
Automatic stop-loss placement — stops are placed directly from the ATR calculation, not just displayed.
How the algorithm works
Factor calculation — momentum is measured as rate-of-change over a configurable lookback, RSI uses a standard length, and relative volume is current volume divided by its moving average.
Standardization — each factor is converted to a Z-score (value − mean) / stdev over a shared lookback period, making them comparable regardless of asset or scale.
Composite blend — the three Z-scores are combined using your weight inputs into one composite reading.
Adaptive smoothing — an ATR percentile rank (0–100) determines where the current volatility regime sits historically, and that percentile scales the EMA smoothing length between your min/max settings.
Signal generation — depending on the selected mode, entries fire either on a zero-line cross (trend) or on a reversal from a threshold extreme (reversion); exits fire on the opposite condition or when the ATR stop is hit.
Sizing — position size = (account equity × risk %) ÷ (ATR × stop multiplier), capped at a max % of equity.
Tips for use
Match the mode to the market. Zero Cross mode is built for trending assets; Threshold Reversion is built for range-bound ones. Running the wrong mode on the wrong market condition is the most common way this underperforms.
Start on the daily timeframe. Default lookbacks (100-period Z-score, 100-period ATR percentile) are sized for daily bars; shrink them proportionally for lower timeframes.
Test on liquid assets. Relative volume is one of the three factors — thin, erratic volume data will make the composite noisier.
Backtest across a full cycle. Use at least 2+ years of data spanning both trending and ranging periods so you're not fitting to one regime.
Watch the % of equity cap. On very low-volatility assets, ATR-based sizing can push toward very large positions; the equity cap prevents unrealistic leverage but will also silently reduce your intended risk-per-trade when it kicks in — check the info table to see when that's happening.
Divergence is a filter, not a standalone signal. It's most useful for skipping or flagging entries near likely reversals, not as an independent trigger.
Strategy

ORB AI [PickMyTrade]ORB AI asks a question most opening-range tools skip: does this
breakout resemble the chart's own past breakouts that worked, or the ones that didn't?
Instead of firing on a single range-break condition, every qualified breakout is scored
across seven independent structural factors, then cross-checked against an on-chart
K-nearest-neighbour library built exclusively from this symbol's own resolved breakout
outcomes. Both numbers are shown — the rule score and the KNN vote — without either one
silently deciding the trade for you.
----------------------------------------------------------------------------------------------------------------
🔷 WHAT IT MEASURES
🔸 Opening Range
The range locks from a configurable session anchor — Exchange Session (the symbol's own
listed timezone), New York 09:30, New York 08:30 (data), London 08:00, Tokyo 09:00, or a
Custom session/timezone pair — over a configurable window (1–120 minutes). If the chart
timeframe is coarser than the chosen window, the range automatically expands to one full
bar and the dashboard notes the effective duration rather than silently misrepresenting
it.
🔸 Rule Confidence (7-factor score)
Every qualified breakout candidate is scored 0–100 across Trend, Momentum, Volume,
Volatility, Structure, Breakout Quality and Liquidity. Trend itself is a blend (35% EMA
alignment, 25% ADX, 25% higher-timeframe read, 15% slope) — the dashboard breaks out all
seven components individually so the score is never a black box.
🔸 Flow Marks — BO / RT / FBO / Sweep
BO tags the confirmed breakout bar. RT tags a retest of the broken range edge that holds
(with a running count). FBO tags a breakout that closed back inside the range — a false
breakout, not a win or loss judgement. Sweep tags a wick that pierced the range edge and
closed back inside — liquidity taken without a directional close.
----------------------------------------------------------------------------------------------------------------
🔷 THE KNN ENGINE (LORENTZIAN DISTANCE)
🔸 How the library is built
Every rule-qualified breakout gets a 6-feature fingerprint (trend, momentum, volume,
volatility, structure, breakout quality). Its outcome is then resolved forward, stop
checked first: 1R target reached before the stop = win, stop first = loss, neither
within the configurable outcome window (15–600 minutes) = discarded as undecided —
drifts are never counted as losses, so the base rate reflects only decisive breakouts.
Every qualified candidate is recorded regardless of outcome, so the library grows
without selection bias.
🔸 How a new candidate is voted
A new candidate is compared to the stored library (up to 300 records) by Lorentzian
distance. The K nearest historical analogues (3–15, default 5) vote, and the vote share
is shown on the signal label and dashboard.
🔸 Advisory vs. Gate
Advisory mode (default) displays the vote as context; it never blocks a signal, so the
set of signalling bars stays fully deterministic regardless of library state. Gate mode
(opt-in) also requires the vote to clear a minimum share before a signal fires — this
trades determinism for selectivity and is only meaningful once the library has grown
past a configurable minimum size.
🔸 Read honestly
With a 6-feature fingerprint, the nearest neighbours of a few-hundred-record library
span roughly half of each feature's range — the vote is a coarse regional tendency, not
a precise analogue match. Loading a different amount of chart history can change the
displayed vote (Advisory) or which candidates pass (Gate); this is inherent to on-chart
instance-based learning and is disclosed rather than hidden. The indicator requires a
symbol with volume data — volume-less feeds (some cash indices / spot FX) cannot render
the KNN engine.
----------------------------------------------------------------------------------------------------------------
🔷 SIGNALS AND DISPLAY
🔸 Dashboard
A compact table shows Session, Regime, ML Engine status (library size / warm-up state),
locked Range, Bias, the 7-factor Rule Confidence bar, Risk-per-Unit, the active Trade
Plan, and a Flow Marks legend. An optional Full mode expands all seven score components.
🔸 Trade Plan overlay
On a qualified signal the indicator draws an entry, stop, and take-profit levels using
one of three configurable methods: a fixed R ladder, an opening-range-width measured-move
projection, or an ATR-scaled EMA-dynamic trail. This is a reference overlay describing
one rules-based way to structure the trade *if* you choose to take it — it is not a
recommendation, and the levels are not a performance claim.
🔸 Non-repainting
Signals evaluate on confirmed closes only. Locked range levels never change once set.
Higher-timeframe reads use ` ` plus `lookahead_off`. The KNN library is built strictly
from already-resolved past outcomes — no future data is read at any point.
🔸 Alerts
19 `alertcondition()` calls cover long/short entries, false breakouts (combined and
per-direction), confidence-threshold crosses, range completion, trend-context changes,
take-profit and stop touches (combined and per-level), reversals, session-end exits,
approaching-breakout warnings, retests, and sweeps above/below the range. Recommended
alert setting: *Once Per Bar Close*.
----------------------------------------------------------------------------------------------------------------
🔷 INPUTS
🔸 Opening Range — Session anchor, custom session/timezone, range length (minutes).
🔸 Signal Engine — Minimum Rule Confidence threshold, TP method (R Ladder / OR Width
Projection / Dynamic EMA), R-ladder multiples, wide-range-OR filter.
🔸 KNN · ML Engine — Mode (Advisory / Gate / Off), K neighbours, history length,
minimum ML vote (Gate only), outcome window (minutes), Gate minimum library size.
🔸 Filters — Signal Blackout window (session-anchor timezone), max signals per
session, news filter.
🔸 Visual — Bull/bear colours, dashboard position and detail level, Zen mode (hides
text labels, keeps shapes/zones only).
----------------------------------------------------------------------------------------------------------------
🔷 REQUIREMENTS AND LIMITATIONS
Requires a symbol with volume data — the KNN engine cannot render on volume-less feeds
(some cash indices, spot FX). The KNN vote is a coarse regional tendency drawn from a
finite on-chart library, not a precise analogue match or a probability estimate; it is
advisory by default for that reason. Loading a different amount of chart history changes
the displayed vote in Advisory mode, and can change which candidates pass in Gate mode —
this is inherent to on-chart instance-based learning and is disclosed rather than hidden.
This is a decision-support toolkit: it does not place trades, and no element of the
dashboard, score, or trade-plan overlay is a claim about future performance. Always
apply independent risk management.
----------------------------------------------------------------------------------------------------------------
Built natively in Pine Script® v6. Seven-factor rule-based confluence scoring with an
on-chart, self-learning KNN engine using Lorentzian distance over resolved breakout
outcomes — no external libraries, no repainting, no lookahead.
Open source — Mozilla Public License 2.0. Indicator

Indicator

XauLabs Trend & Range**ENGLISH**
**What it does**
This indicator answers one question, and only one: is the market currently trending up, trending down, or ranging? It reads pure price structure — confirmed swing highs and swing lows — and states a verdict on the chart.
**How it works (full method)**
1. **Swing detection.** A swing high is confirmed only when the highs of the N bars before AND the N bars after are all lower (mirrored for swing lows). N is user-defined, default 7, range 5–21. Confirmation therefore arrives N bars after the actual extreme; the marker is then plotted at its true historical position and never moves again.
2. **Memory.** The script keeps the last two confirmed highs and the last two confirmed lows.
3. **Classification.**
- Uptrend: last high > previous high AND last low > previous low.
- Downtrend: last high < previous high AND last low < previous low.
- Range: anything else, including any state with fewer than two confirmed highs and two confirmed lows.
4. **Close-based invalidation** (optional, on by default). Any bar closing below the last confirmed swing low arms an invalidation flag. While that flag is armed, no uptrend is displayed: the state is forced to Range, even if the swing sequence otherwise qualifies as higher highs and higher lows. The flag is cleared only when a new swing low is confirmed. The logic is mirrored for downtrends, using a close above the last confirmed swing high. Wicks piercing the level do not count — only the close does. This mechanism can only suppress a trend reading, never create one: a trend must always earn its own structure.
**Why the delay is deliberate**
Signals never appear and later vanish. What the history shows is what would have been visible live. The cost is the N-bar confirmation delay, and it is stated openly rather than hidden behind a repainting display.
**On-chart output**
- Background tint: green uptrend, red downtrend, grey range.
- Triangles marking each confirmed swing high and low.
- A two-line state badge in the top-right corner, with selectable size and language (EN/FR).
- One alert condition: state change.
**Suggested use**
Start on H4. When the state reads Range, trend-following setups are structurally out of place — the indicator is meant to be used as a context filter before any entry logic, not as an entry trigger itself. The lower the sensitivity value, the faster and noisier the reading; the higher, the slower and more stable.
**Originality**
Most trend tools average price (moving averages, oscillators) and therefore lag by construction. This one reads structure only, applies a strict non-repainting confirmation rule, and adds a close-based invalidation layer so that a broken structure is downgraded to Range immediately rather than after the next swing forms. Open source: every rule above is verifiable line by line in the code.
This is an educational structure-reading tool. It gives no buy or sell signals and makes no performance claim. Trading involves substantial risk of loss.
---
**FRANÇAIS**
**Ce que fait l'indicateur**
Il répond à une seule question : le marché est-il en tendance haussière, baissière, ou en range ? Il lit la structure pure du prix — sommets et creux confirmés — et affiche son verdict.
**Comment il fonctionne (méthode complète)**
1. **Détection des pivots.** Un sommet n'est confirmé que si les N bougies avant ET les N bougies après ont toutes un plus haut inférieur (symétrique pour les creux). N est réglable, 7 par défaut, plage 5–21. La confirmation arrive donc N bougies après l'extrême réel ; le marqueur est ensuite tracé à sa vraie place historique et ne bouge plus jamais.
2. **Mémoire.** Le script conserve les deux derniers sommets et les deux derniers creux confirmés.
3. **Classification.**
- Hausse : dernier sommet > précédent ET dernier creux > précédent.
- Baisse : dernier sommet < précédent ET dernier creux < précédent.
- Range : tout le reste, y compris tant que moins de deux sommets et deux creux sont confirmés.
4. **Invalidation en clôture** (optionnelle, active par défaut). Toute bougie qui clôture sous le dernier creux confirmé arme une invalidation. Tant qu'elle est armée, aucune tendance haussière n'est affichée : l'état reste Range, même si la séquence de pivots remplit par ailleurs la condition sommets et creux ascendants. L'invalidation ne se désarme qu'à la confirmation d'un nouveau creux. Le mécanisme est symétrique en tendance baissière, avec une clôture au-dessus du dernier sommet confirmé. Une mèche qui perce le niveau ne suffit pas — seule la clôture compte. Ce mécanisme peut uniquement supprimer une lecture de tendance, jamais en créer une : une tendance doit toujours prouver sa propre structure.
**Pourquoi le délai est assumé**
Aucun signal n'apparaît puis ne disparaît. Ce que montre l'historique est ce qui aurait été visible en direct. La contrepartie est le délai de confirmation de N bougies, affiché ouvertement plutôt que masqué derrière un affichage qui se repeint.
**Affichage**
- Fond teinté : vert en hausse, rouge en baisse, gris en range.
- Triangles marquant chaque sommet et creux confirmé.
- Un badge d'état à deux lignes dans le coin supérieur droit, avec taille et langue (EN/FR) réglables.
- Une condition d'alerte : changement d'état.
**Utilisation suggérée**
Commencer en H4. Quand l'état affiche Range, les setups de suivi de tendance sont structurellement hors sujet — l'indicateur est conçu comme un filtre de contexte en amont d'une logique d'entrée, pas comme un déclencheur d'entrée. Plus la sensibilité est basse, plus la lecture est rapide et bruitée ; plus elle est haute, plus elle est lente et stable.
**Originalité**
La plupart des outils de tendance moyennent le prix (moyennes mobiles, oscillateurs) et retardent par construction. Celui-ci lit uniquement la structure, applique une règle de confirmation stricte sans repeinture, et ajoute une couche d'invalidation en clôture pour qu'une structure cassée redevienne Range immédiatement plutôt qu'au pivot suivant. Code ouvert : chaque règle ci-dessus est vérifiable ligne par ligne.
Outil éducatif de lecture de structure. Il ne donne aucun signal d'achat ou de vente et ne formule aucune promesse de performance. Le trading comporte un risque de perte important. Indicator

Indicator

NW Volume Profile - Kernel-Smoothed [Dots3Red]📊 NW VOLUME PROFILE - KERNEL-SMOOTHED
A volume profile answers a different question than a normal chart. Instead of "how much traded today," it asks "how much traded at each price." This version applies Nadaraya-Watson kernel smoothing to that profile before reading any level off it — turning a jagged, noisy histogram into the actual underlying distribution of where volume concentrated.
🎯 WHY THIS MATTERS
A raw volume profile is built from independent price bins — each one only knows its own volume, nothing about its neighbors. That makes it noisy: a single oversized candle can create a spike that looks like an important level but is really just where one bar happened to land. Reading real structure off a raw histogram means squinting past that noise.
This script smooths the profile before drawing anything. Every bin's displayed value becomes a weighted average of its neighborhood — nearby bins count heavily, distant bins barely at all, following a Gaussian curve. The lumps from individual candles melt away, and what's left is the true shape of the distribution that was underneath the noise the whole time. All the levels described below — POC, Value Area, HVN, LVN — are read from that smoothed curve, not the raw one.
🧮 HOW THE SMOOTHING WORKS
Each price bin's raw volume gets replaced by:
smoothed(i) = Σⱼ w(i,j) · raw / Σⱼ w(i,j)
where w(i,j) is a Gaussian weight based on how many bins apart i and j are, controlled by the Bandwidth setting. A small bandwidth stays close to the raw histogram; a large one produces one broad, simplified hump. This is genuine kernel regression applied across the price axis, not a moving average or a visual blur — it's the same mathematical technique used in the smoothed lines several Dots3Red scripts already use for slope/trend estimation, applied here to a distribution instead of a time series.
Toggle "Show Raw Histogram Behind" to see the original jagged bars faintly displayed underneath the smoothed profile — a direct before/after comparison on your own chart.
📏 WHAT EACH LEVEL MEANS
🟡 POC (Point of Control) — the single price with the highest smoothed volume. The market's center of gravity for the current window; price tends to be pulled back toward it.
🔵 Value Area — the price region around the POC containing a configurable share of total volume (default 70%). Price trading inside it is trading at a level the market recently agreed was fair — chop and rotation are common here. Price breaking out of it is the market rejecting that agreement, which is often when moves extend rather than stall.
🟢 HVN (High Volume Node) — a secondary local peak in the smoothed distribution. Acts like a sticky zone; price tends to slow down or pause when revisiting one.
🔴 LVN (Low Volume Node) — a local trough where very little volume ever traded. Acts like a thin spot; price tends to move through it quickly rather than lingering, since few positions were ever opened there.
HVN and LVN are drawn as full-width dotted lines across the chart (not just labels at the profile edge), specifically so they stay visible and trackable even after price has moved well away from where the profile itself was drawn.
🧭 HOW TO USE
👀 Start with where price sits relative to the Value Area. Inside it: expect rotation and two-way trade. Outside it: the move has already broken from recent consensus, which historically has more follow-through than reversion.
🧲 Treat POC as a magnet, not a wall. It is the level most likely to be revisited, not a guaranteed reversal point. How price behaves when it gets there — accepted or rejected — is the actual signal, not the level itself.
🐌 Expect hesitation at HVNs. A move approaching an HVN from your prior window is approaching a zone where the market has previously done a lot of business — some slowing or consolidation there is common.
⚡ Expect speed through LVNs. A thin zone with very little historical volume tends to get crossed quickly rather than acting as support or resistance. If price is moving toward one, a fast move through it before finding real support/resistance at the next node is a reasonable expectation.
🔧 Adjust Bandwidth to match what you're looking for. A tighter bandwidth reveals more granular structure (closer to raw); a wider one collapses the profile into its dominant, unmistakable levels. There's no universally correct setting — it depends on whether you want detail or clarity.
💡 EXAMPLE
Say the profile shows POC at 61,200, a Value Area from 60,400 to 62,100, and an LVN line sitting at 59,800. Price later drops to 60,450 — right at the edge of the Value Area. Two distinct scenarios are now readable from the profile: if price holds and turns back up, the 61,200 POC above is the natural target the market has repeatedly gravitated toward. If instead price breaks below 60,400, the empty LVN at 59,800 offers little historical volume to slow the decline — a fast move through that zone before finding the next real level is the more likely path. Same chart, two different expectations, both read directly off the same profile without any additional indicator.
⚙️ SETTINGS
📊 Profile
• Lookback (bars) — size of the rolling window the profile is built from
• Price Bins — vertical resolution of the profile
• Body Volume Only — distribute volume across the candle body instead of the full high-low range
🧮 Kernel Smoothing
• Bandwidth — width of the Gaussian kernel in bin units; controls detail vs. simplification
📏 Levels
• Value Area % — share of total volume the Value Area is expanded to contain
• Node Detection Leg — how many neighboring bins define a local peak/trough
• LVN Max Ratio of POC — how thin a trough must be, relative to POC, to count as an LVN
🎨 Visualization
• Show Raw Histogram Behind, POC Line, Value Area, HVN/LVN Marks — each independently toggleable
• Profile Width — how far the profile extends horizontally
🖥️ Dashboard
• Show/hide, position — displays current POC, Value Area bounds, node counts, and the active window/bandwidth settings
📝 NOTES
This profile is a rolling window — its levels update as the window slides forward with each new bar, which is expected behavior for a volume profile rather than a repainting signal (nothing appears and then vanishes; the underlying window is simply moving). Thin-volume symbols will produce a ragged profile regardless of smoothing settings — this tool is most informative on liquid instruments with consistent volume.
⚠️ DISCLAIMER
This is an analytical and visualization tool. It does not generate trade signals and does not constitute financial advice. Historical volume concentration at a given level does not guarantee how price will behave there in the future. Indicator

TSF Risk ManagerTSF Risk Manager
═══════════════════════════════════════ ENGLISH ═══════════════════════════════════════
OVERVIEW A visual position-size and risk calculator. Mark your entry and stop-loss on the chart and it instantly computes the exact lot size for your chosen account risk, draws the full trade (entry, stop, take-profits) and shows the REAL risk in your account currency.
Important: PulseWire / Pine cannot access your broker account or place orders. This is a calculator and visual planner — you enter your account size and risk %, and it does the math. It does not execute trades.
WHAT IT DOES
Click-to-place entry and stop-loss directly on the chart.
Calculates position size (lots) for your target risk %, rounded DOWN to your broker's lot step so you never exceed the intended risk.
Shows the REAL risk of the rounded lot (in money and %), so what you see is what you actually risk — not just the target.
Warns when your account size and stop distance don't allow the target risk (i.e., when the broker's minimum lot already risks more than your %).
Draws the trade: entry, stop and three take-profit levels at configurable R multiples, with a green reward zone and a red risk zone.
Detects direction (long / short) automatically from where the stop is placed.
HOW IT WORKS
Risk amount = account balance × risk %.
Lot size = risk amount ÷ (stop distance × value-per-1.00-move-per-lot), floored to the broker's lot step.
The "Value of 1.00 move per lot" must match your instrument. For XAUUSD (gold) it is 100 (1 standard lot = 100 oz, so a 1.00 price move = $100 per lot). Adjust it for other instruments / brokers.
HOW TO USE
Add the indicator; when prompted, click your entry and then your stop-loss on the chart.
In the settings, set your account size, risk %, and the value-per-point for your instrument (100 for gold).
Read the lot size and the real risk in the panel; the trade is drawn on the chart.
To plan another trade without deleting the current one, simply add the indicator again.
USER-INTERFACE TEXT (English translation) The panel and labels are written in Spanish. English meaning:
"TSF RISK" = panel title · "COMPRA" = Buy (long) · "VENTA" = Sell (short).
"Capital" = Account balance · "Riesgo objetivo" = Target risk · "Distancia SL" = Stop distance.
"LOTAJE" = Lot size · "Riesgo real" = Actual risk · "Estado" = Status.
"⚠ Mín 0.01 = X% del capital" = Warning: the broker's minimum lot risks X% of the account.
"✔ Riesgo bajo control" = Risk under control · "marcá entrada y stop" = mark entry and stop.
"TP1 / TP2 / TP3 (R)" = take-profit levels at R multiples · "Trading Sin Fronteras" = the author's brand.
This script is open-source. Feel free to study it, learn from it and adapt it.
═══════════════════════════════════════ ESPAÑOL ═══════════════════════════════════════
Calculadora visual de gestión de riesgo y tamaño de posición. Marcás tu entrada y tu stop en el gráfico y te calcula al instante el lotaje exacto para el riesgo que elegiste, dibuja la operación completa (entrada, stop, take-profits) y te muestra el riesgo REAL en el dinero de tu cuenta.
Importante: PulseWire no accede a tu cuenta del broker ni ejecuta órdenes. Esto es una calculadora y planificador visual — vos cargás tu capital y tu % de riesgo, y hace el cálculo. No opera por vos.
QUÉ HACE
Marcás entrada y stop con un clic en el gráfico.
Calcula el lotaje para tu % de riesgo, redondeado HACIA ABAJO al mínimo de tu broker para que nunca te pases del riesgo objetivo.
Muestra el riesgo REAL del lote redondeado (en $ y en %), así lo que ves es lo que de verdad arriesgás.
Te avisa cuando tu capital y tu stop no permiten el riesgo objetivo (cuando el lote mínimo del broker ya arriesga más que tu %).
Dibuja la operación: entrada, stop y tres take-profits en múltiplos de R, con zona verde de beneficio y roja de riesgo.
Detecta la dirección (compra / venta) según dónde pongas el stop.
CÓMO USARLO Agregá el indicador y, cuando lo pida, hacé clic en tu entrada y luego en tu stop. En los ajustes cargá tu capital, tu % de riesgo y el "valor de 1.00 por lote" de tu instrumento (100 para el oro). Leé el lotaje y el riesgo real en el panel. Para planificar otra operación sin borrar la anterior, agregá el indicador de nuevo.
Script de código abierto — Trading Sin Fronteras. Indicator

Mean Reversion Half-Life & Spread Tracker [OnlyFibonacci] v3.0Mean Reversion Half-Life & Spread Tracker v3.0
A statistical mean-reversion oscillator for spread analysis — Z-Score normalization, closure-time tracking, confirmed signals, target price projection, and a real-time dashboard. Built in Pine Script v6.
This indicator is for educational and analytical purposes only. It does not constitute investment advice, financial advice, or a trading recommendation. Past signal performance does not guarantee future results. Always do your own research and manage risk responsibly.
---
What does this indicator do?
Mean Reversion Half-Life & Spread Tracker measures how far a price or spread has deviated from its statistical mean using a Z-Score oscillator . Beyond simple overbought/oversold readings, it tracks how long extreme deviations typically take to revert to zero, whether the current deviation is lasting longer than average, where price may revert if Z-Score returns to 0, and the historical success rate of confirmed signals.
Default mode: Asset vs Single Moving Average (Mean Reversion) — the chart symbol is normalized against a configurable SMA.
---
Core Features
Two Operational Modes
Asset vs SMA (default): Analyzes Close / SMA ratio for single-asset mean reversion
Pair Trading : Analyzes chart symbol (Asset A) divided by a secondary symbol (Asset B)
Z-Score Engine
Spread Ratio = Close/SMA or Close/Asset B
Z-Score = (Ratio − Rolling Mean) / Rolling Standard Deviation
Default lookback: 200 bars
EMA(3) smoothing applied to raw Z-Score to reduce whipsaw noise
Threshold Levels
Upper threshold: +2.3 (statistical overbought zone)
Lower threshold: −2.3 (statistical oversold zone)
Center line: 0.0 (equilibrium / mean)
Mean Closure Time
Tracks the average number of bars required for Z-Score to return to 0 after breaching ±2.3
Displays active spread duration in real time
Triggers a Time-Stop WARNING when duration exceeds the historical average
Confirmed Signal Logic
BUY : Smoothed Z-Score crosses above −2.3 and holds beyond the threshold for at least 1 full confirmed bar close (bullish mean reversion)
SELL : Smoothed Z-Score crosses below +2.3 and holds beyond the threshold for at least 1 full confirmed bar close (bearish mean reversion)
EXIT : Z-Score reaches 0, time-stop is triggered, or duration exceeds 2× average closure time
Signal Win Rate (%)
Historical success rate of confirmed signals
Win: Z-Score returns to 0 before exceeding 2× average closure time
Loss: Timeout or time-stop triggered before mean reversion completes
Target Price Level
Estimated chart price where Z-Score would equal 0
MA mode: RatioMean × SMA
Pair mode: RatioMean × Asset B price
Optional dynamic dashed projection line on the main chart while a signal is active
Visual Design (v3.0)
Dynamic gradient Z-Score line (red above 0, green below 0, neon tones at extremes)
Gradient-filled area between Z-Score and the zero line
Soft background glow in extreme zones
Modern dark-theme dashboard table with live status indicators
Built-in Alerts
Upper / Lower Threshold Breach
Time-Stop Warning
Bullish Mean Reversion BUY
Bearish Mean Reversion SELL
Signal EXIT
---
Dashboard Table
Live metrics displayed in the top-right corner:
Pair / Mode — active analysis configuration
Current Z-Score — real-time smoothed reading
Target Price Level — estimated Z=0 price
Avg Closure Time — historical mean reversion duration (bars)
Spread Duration — active deviation duration
Time-Stop Status — Normal or Warning
Signal Win Rate (%) — historical confirmed signal success rate
Status indicators: Normal, Active Trade, Warning.
---
How to Use
Add the indicator to your chart (separate oscillator pane).
In default Asset vs SMA mode, set the SMA length (default: 50).
For pair analysis, switch to Pair Trading mode and select Asset B.
Monitor the Z-Score panel:
Z > +2.3 → spread is statistically extended above mean (potential bearish mean reversion)
Z < −2.3 → spread is statistically extended below mean (potential bullish mean reversion)
Z ≈ 0 → statistical equilibrium
Compare Spread Duration against Avg Closure Time in the dashboard.
If Time-Stop shows WARNING, the deviation may be persisting longer than historically normal — review risk management.
Set alerts for threshold breaches, confirmed signals, and exits.
---
How to Interpret
Mean reversion concept : When price or spread reaches statistical extremes, it tends to revert toward its rolling mean over time.
Z-Score : Measures deviation in standard deviation units. ±2.3 represents a strong statistical extreme.
Avg Closure Time : How long past extreme deviations took to revert to zero. If current duration exceeds this, caution is warranted.
Target Price : A dynamic estimate of where price may revert if Z-Score normalizes — a reference level, not a guaranteed target.
Win Rate : A summary of past confirmed signal outcomes. Not a promise of future performance.
Gradient fill : Visually emphasizes the magnitude and direction of deviation from equilibrium.
Horizontal dashed line on the main chart (if enabled): Projects the estimated price level where Z-Score = 0 while a BUY or SELL signal is active. It updates dynamically and disappears on EXIT or target reached. Disable via Show Target Price Projection Line .
---
Recommended Use Cases
Single-asset mean reversion analysis vs SMA
Crypto, forex, and equity pair spread monitoring
Multi-timeframe confluence checks
Alert-based watchlist monitoring
Time-stop and duration-based risk awareness
---
Customizable Inputs
Mode, Asset B Symbol, MA Length
Z-Score Lookback (200), EMA Smoothing (3)
Upper/Lower Threshold (±2.3)
Signal Confirmation Bars (1–5)
Gradient Area Fill, Background Glow, Target Line, Dashboard
---
Important Notes
Non-repainting security calls: gaps_off, lookahead_off
This is an analysis tool — it does not execute trades automatically
Parameters may require optimization across different markets and timeframes
Win rate and closure time are based on historical data and may differ in live conditions
Always use proper position sizing and risk management
---
Keywords
Mean Reversion, Z-Score, Half-Life, Spread Tracker, Pair Trading, Statistical Arbitrage, Oscillator, SMA, Closure Time, Time-Stop, Pine Script v6, OnlyFibonacci
---
Developed with Pine Script v6. For analysis and education only. Indicator

Apex Edge - NQ Correlation HUDApex Edge — NQ Correlation HUD
Note: This script is the HUD only. Screenshots may also show separate Supply & Demand zone and key-level tools running alongside it for extra confluence — those are independent indicators, not part of this script, and aren't required for the HUD to function.
What it does
Apex Edge — NQ Correlation HUD is a compact on-chart dashboard built for trading Nasdaq-100 index products (NQ, MNQ, and similar). Rather than manually flicking between the VIX and individual Mega-Cap Tech charts to gauge whether the broader market agrees with a setup, this indicator brings that context onto your current chart in one glance.
It scores your current instrument's own momentum and structure, then does the same for the VIX and seven Magnificent-7 stocks — live, every bar — and tells you visually which of those names are actually confirming your bias right now versus which aren't.
The HUD: Ticker / Fuel / Confluence
The dashboard is a simple 3-column table:
Ticker — the symbol for that row. Row 1 always reflects whatever chart you're currently on (so it updates automatically if you switch between NQ and MNQ, or any other symbol). Below that: VIX, then the 7 Mag7 names.
Fuel — a 0–10 momentum score for that symbol (see scoring below), shown as a fraction against your configured minimum threshold, e.g. 6/6.
Confluence — a directional vote out of 5, shown as ▲x/▼y, indicating how many of 5 independent components currently lean bullish versus bearish for that symbol.
What it monitors, and why
VIX — the market's fear gauge. It typically moves inversely to equities, so a VIX reading that's rising while your chart is bearish (or falling while your chart is bullish) is a classic confirmation signal. The HUD surfaces VIX's own Fuel and Confluence so you don't have to switch charts to check it.
The 7 Mag7 stocks (defaults: AAPL, MSFT, GOOGL, AMZN, NVDA, META, TSLA — all fully customizable in settings) — these carry substantial weight in the Nasdaq-100 and tend to drive a large share of its movement. When several of them are genuinely moving with your NQ/MNQ chart, that's real confirmation your setup isn't just noise on one instrument; when they're diverging, it's a reason for caution even if your chart alone looks clean.
How each pair offers confluence
A single chart can give a false signal — a stop run, a low-liquidity spike, an isolated headline. Checking whether the broader Nasdaq complex agrees filters a lot of that out. If your NQ/MNQ setup is bearish and the majority of Mag7 names are also showing bearish confluence while correlating with your chart's actual price action, and VIX is leaning bullish (its typical inverse relationship holding up), that's three independent confirmations lining up rather than one chart in isolation.
How the columns are scored
Fuel Score (0–10) is a multi-factor momentum read, built from:
Volume Z-score relative to a rolling average
Candle body dominance within its own range
Where the close sits within the bar's high-low range
ATR expansion versus its own rolling average
Confluence Score (out of 5) is a 5-component directional vote:
LTF trend (Hull moving average)
HTF trend (Hull moving average on a higher timeframe)
LTF RSI position
HTF RSI position
Price structure vs. a rolling range midpoint
Each component casts one bullish or bearish vote; the tally is shown as ▲bullish/▼bearish.
The correlation layer
This is what separates the Mag7 rows from a static watchlist. Each Mag7 ticker's title is colour-coded in real time:
Green — that symbol is BOTH rolling-correlated to your current chart above a threshold you set, AND its own Confluence is currently agreeing with your chart's direction.
Red — either condition fails: it's not correlating closely enough right now, or it's correlating but currently pointing the other way.
This means the HUD isn't just showing you 7 static numbers — it's telling you, live, which of the 7 are actually confirming your bias in this moment versus which are just along for the ride historically. Correlation lookback, the green/red threshold, and the correlation-guide tooltip (with standard statistical strength bands) are all configurable.
Built-in alerts
Two included alert conditions ("HUD Setup: Long Bias" / "HUD Setup: Short Bias") fire when your chart's Confluence bias is shared by a configurable number of the 7 Mag7 symbols AND VIX Confluence is leaning the opposite way. These are deliberately price-agnostic — they tell you when the broader HUD context has aligned, not when to enter. Pair them with your own key-level or zone tools to time actual entries once the alert fires.
Settings
Fuel/Confluence Dashboard toggle, dashboard position, minimum Fuel threshold
Hull MA period and HTF resolution
Multi-Pair HUD toggle, monitor timeframe for the 7 Mag7 rows
VIX symbol, all 7 Mag7 symbols (freely swappable)
Correlation lookback length, correlation threshold, min Mag7 aligned count for alerts
Align it with other confluence indicators to time your entry. Below is an example of the HUD running alongside 2 indicators (Key levels & Supply & Demand zones).
A NOTE ON USE:
Market hours affect the correlation rows. NQ/MNQ trade nearly 24 hours; the Mag7 equities only trade actively during NASDAQ hours (with an extended pre/post-market window beyond that). Outside those hours, correlation can legitimately read n/a for some or all Mag7 rows — that's expected behaviour, not a fault, since a closed/flat equity price has no variance to correlate against. Correlation readings are most meaningful during and immediately around the NASDAQ session; Fuel and Confluence continue working normally at all hours since they don't depend on cross-symbol variance.
This tool is designed to support discretionary trading decisions around Nasdaq-100 index products — it doesn't generate entries or exits on its own, and none of its readings guarantee a particular outcome. Fuel, Confluence, and correlation are all descriptive of current and historical price behaviour, not predictions. As with any tool, backtest and forward-test on a demo account before relying on it in a live or funded environment. Nothing in this script or its description constitutes financial advice. Indicator

Indicator

WalkerzThe Walkerz Strategy is an algorithmic trading system based on Price Action and momentum, specifically designed for high-volatility instruments like XAUUSD and BTCUSD. This strategy focuses on detecting key level breakouts combined with a multi-layered trend confirmation filter to minimize false signals and fake-outs.
Underlying Concepts & How It Works
Multi-Timeframe (MTF) Approach: The strategy relies heavily on dual time frame analysis. Traders are expected to use a Higher Time Frame (HTF), such as H1, H4, or Daily, to map out the primary trend and identify solid structural Resistance (A) and Support (B) levels. The script is then applied to a Lower Time Frame (LTF), such as M1, M5, or M15, to detect the actual breakout from those predefined HTF levels.
Fair Value Gap (FVG) Confirmation: A simple breakout is not enough. Once the price breaks the HTF resistance/support, the script waits for a valid Fair Value Gap (Bullish FVG for long, Bearish FVG for short) to form before executing the entry.
Momentum Filter (ADX): To avoid trading in choppy conditions, the Average Directional Index (ADX) is used as a filter. Trades are only validated if the trend is strong enough or if the market conditions align perfectly with the breakout direction.
Dynamic Risk Management & Backtest Properties
To comply with realistic trading expectations and avoid misleading results, the default backtest properties are configured as follows:
Initial Capital: $25,000.
Risk Per Trade: Fixed at $200 per trade. This represents only a 0.8% risk of the initial equity, ensuring sustainable scaling and adhering to the standard 1-2% maximum risk rule.
Lot Size: Calculated dynamically based on the distance between the entry price and the Stop Loss to ensure the maximum loss never exceeds the defined $200.
Commission & Slippage: Set to $1 cash per order with a 2-tick slippage to simulate realistic live market executions.
Take Profit: Calculated dynamically using Fibonacci extension zones from the breakout range. Strategy

MACRO HUDMACRO HUD — macro context, on your chart
Most indicators re-arrange the price you're already looking at. Macro HUD does the opposite: it puts the market's macro context on a single on-chart panel, so you're never reading price in isolation. It's a dashboard, not a signal generator.
WHAT IT SHOWS
MACRO ENGINE — the dollar (DXY), US 10Y and 2Y yields, oil, and the VIX, each with its current value and a direction arrow. The VIX also carries a regime band: Calm / Normal / Stressed / Panic.
REGIME — two plain-language reads derived from the engine: a dollar read (bid / offered) and a risk read (risk-on / risk-off / mixed).
WATCHLIST — up to five instruments of your choice, each flagged Bull or Bear versus an EMA, so you can see the state of your whole watchlist at a glance. Defaults to gold, EUR/USD, GBP/USD, USD/JPY and the S&P 500 — change them to whatever you trade.
EVENT — an optional manual countdown. Type in your next few key releases (name plus date/time) and the panel shows whichever is soonest, turning red inside a "stand-down" window you set. Pine can't read the economic calendar, so this part is filled in by hand.
HOW TO USE IT
Add it to any chart. Open the settings and point the symbols at feeds your plan supports, choose your watchlist instruments, and set the read timeframe — Daily by default, which gives the broad regime regardless of your chart timeframe. Everything else is automatic and updates live. Text colour is theme-aware, so it reads on light or dark charts.
WHAT IT DOES NOT DO
It does not generate buy/sell signals, predict direction, or tell you what to do. It assembles context; the read — and the decision — stay yours. There are no performance claims here, by design.
NOTES
Some data symbols (DXY, yields, VIX) depend on your PulseWire data plan. If a row shows "n/a", open the settings and swap that symbol for one your plan supports — the tool handles missing symbols gracefully rather than breaking.
Open-source. Read the code, fork it, adapt it to your own workflow.
MACRO HUD: "Built to support discretion, not replace it" Indicator

Market Internals Status: TICK / ADD / VOLDThis indicator displays a real-time status table for three classic NYSE/Nasdaq
market-breadth internals: USI:TICK , USI:ADD (advance/decline issues, Nasdaq variant
by default) and USI:VOLD (up/down volume difference). It is designed for index
futures and index CFD traders (ES, MES, SPX, NQ, etc.) who use market
internals to confirm directional bias before entering a trade.
METHODOLOGY
Each internal is classified using a fixed absolute-level threshold you control
from the settings: a reading above the "bullish" threshold is tagged BULLISH,
below the "bearish" threshold is tagged BEARISH, and anything in between is
NEUTRAL. This is a simple level-based read, not a moving average, oscillator,
or percentile rank — the goal is to mirror how discretionary traders read raw
internals on a dedicated internals chart, but with an objective, repeatable
rule instead of a visual guess.
A CONSENSUS row aggregates the three readings: it shows "aligned bullish" or
"aligned bearish" only when at least two of the three internals agree in the
same direction past their threshold; otherwise it shows "mixed/flat",
flagging a session where internals do not confirm a clean directional bias.
DATA VALIDATION
Market-internal data feeds occasionally emit corrupted or placeholder values
when the underlying index has no valid tick (e.g., outside NYSE/Nasdaq
cash-session hours). The script validates every reading against a
configurable sanity ceiling per internal. A reading outside that realistic
range is treated as invalid and shown as N/A instead of being misclassified
as bullish or bearish, and it is excluded from the consensus calculation.
SESSION AWARENESS
USI:TICK , USI:ADD and USI:VOLD are breadth measures of the NYSE/Nasdaq cash equity
market and therefore only update during the 09:30–16:00 America/New_York
session. A SESSION row tells you at a glance whether the reading is live or
frozen from the prior session close — important context if you trade an
instrument (like index futures) that keeps trading outside cash-market hours.
HOW TO USE IT
Add the indicator to any chart — it does not need to be an internals chart
itself, it fetches its own data via request.security(). Open the settings to:
(1) pick the exact ticker for each internal your data plan provides, since
exchange-composite symbol naming can vary; (2) set your own bullish/bearish
thresholds; (3) adjust the sanity ceilings if you trade an internal with an
unusually wide typical range. Use the resulting table as a breadth
confirmation filter alongside your own price/volume-based setup — it is not
a standalone entry signal. Indicator

Forex Liquidity Map [invincible3]b]Forex Liquidity Glow Map
The Forex Liquidity Glow Map is a visual currency-rotation dashboard designed to estimate where relative strength and trading activity are moving across the major Forex market.
The indicator analyzes all 28 unique currency pairs formed from:
USD, EUR, GBP, JPY, CHF, CAD, AUD, and NZD
Instead of evaluating one pair in isolation, it combines information from every relationship connected to each currency. This produces an aggregated flow score for all eight currencies and helps identify the strongest and weakest areas of the Forex market.
Calculation Model
Each Forex pair is evaluated using:
• ATR-normalized price momentum
• Relative tick-volume activity
• Fast-versus-slow trend structure
• Volatility expansion
• Directional breadth
• Score smoothing
• Flow acceleration
A positive pair score strengthens the base currency and weakens the quote currency. A negative pair score strengthens the quote currency and weakens the base currency.
Each currency’s final score is calculated from its seven connected pair relationships.
Because spot Forex is decentralized, the indicator uses PulseWire broker-feed tick volume as an activity proxy. It does not represent centralized institutional order flow.
Forex Liquidity Map
The circular map displays the eight major currencies as nodes.
• Node value: Aggregated currency-flow score
• Node size: Average relative activity across connected pairs
• River direction: Weaker currency toward stronger currency
• River width: Estimated strength of liquidity rotation
• River color: Leading currency in that relationship
• Arrow: Direction of relative capital rotation
A positive score indicates relative strength or estimated inflow. A negative score indicates relative weakness or estimated outflow.
Water Flow Matrix
The scatter matrix shows each currency according to:
• Horizontal position: Current flow score
• Vertical position: Flow acceleration
• Bubble size: Relative pair activity
• Bubble color: Currency identity
The four matrix conditions are:
• Accelerating inflow: Positive flow with positive acceleration
• Weakening inflow: Positive flow with negative acceleration
• Accelerating outflow: Negative flow with negative acceleration
• Weakening outflow: Negative flow with positive acceleration
This helps distinguish a currency that is merely strong from one whose strength is actively increasing.
Dashboard and Pair Ranking
The dashboard includes:
• Currency strength ranking
• Current flow score
• Relative tick activity
• Momentum condition
• Inflow, outflow, or balanced status
• Ranked breakdown of all 28 Forex pairs
• Strongest and weakest currencies
• Best relative-strength pair
• Market confirmation percentage
• Current Forex-rotation regime
For example, when GBP is the strongest currency and AUD is the weakest, the dashboard may identify GBPAUD as the primary relative-strength opportunity.
Update Modes
Confirmed bars only uses completed calculation-timeframe candles. The rivers, matrix, rankings, and signals remain fixed while the current candle is forming.
Live uses the active candle and updates as price and tick volume change. This provides faster information but may change before candle close.
Confirmed mode is recommended for stable analysis and alerts. Live mode is intended for intrabar monitoring.
Display Features
• Responsive bar-index geometry
• Stable layout across intraday and higher timeframes
• Dark and Bright theme presets
• Fully opaque dashboard cells
• High-contrast currency colors
• Adjustable map and matrix dimensions
• Adjustable river threshold
• Optional arrows, glow, tooltips, tables, and signals
• Configurable PulseWire Forex-feed prefix
Interpretation
The indicator is most useful for:
• Finding strongest-versus-weakest currency combinations
• Confirming directional pair setups
• Monitoring broad Forex rotation
• Detecting strengthening or weakening flows
• Avoiding pairs where both currencies have similar strength
• Comparing pair-level movement with broader currency-level confirmation
The output should be used as a market-structure and relative-strength tool , not as a standalone entry system.
Execution decisions should also consider price structure, volatility, liquidity conditions, risk management, and scheduled economic events. Indicator

Compression Breakout & Follow-Through Scoring [SlatinaTrades]🌀 Compression Breakout & Follow-Through Scoring — grades the coil, then checks its own homework.
Most squeeze/compression tools flag a tight range and stop there. This one also tracks what happens after the break — and separates completed setups by quartile to show whether the coil's tightness or the breakout candle's quality actually predicted the outcome, instead of assuming either one does.
THE MECHANICS
🧊 Compression detection — three conditions have to hold together: box range ≤ a multiple of base-ATR (C1), Bollinger Band width inside a squeeze percentile (C2), and a minimum dwell in confirmed bars (C3). All three gate the coil; none of them alone is enough.
🔒 State machine — COILING → PRIMED → BREAKOUT (up/down) → HELD or FAILED, with EXPIRED for coils that age out unbroken. The box freezes on arm (tighten-only re-lock while PRIMED — it can tighten further, never widen), so what you see is a committed level, not a moving target.
📊 Tightness score (0–100) — weighted blend of C1 margin, C2 depth, and dwell length. Grades how genuine the compression is, not just whether it cleared a threshold.
🎯 Break-quality score (0–100) — weighted blend of close location, body ratio, range expansion vs ATR14, and where volatility sits inside a regime band (mid-band scores highest; dead or chaotic extremes score low).
📈 Follow-through score (0–100) — tracks maximum favorable excursion beyond the broken edge over a fixed window, capped at a set ATR multiple. A break that reclaims the level before the window closes is scored FAILED instead.
SEPARATION HARNESS — the honesty check
A stats table bins every completed setup (HELD or FAILED) into quartiles two ways: by tightness score and by break-quality score. Each quartile reports mean follow-through in ATR units and reclaim rate. If a score's Q4 looks like its Q1, that score isn't doing the work it claims to — the table shows you that plainly instead of asking you to trust a single headline number.
NON-REPAINT
Every state transition and every follow-through update runs on barstate.isconfirmed. The box freezes the moment a coil arms. The optional HTF alignment read uses a closed-bar offset (lookahead_on + gaps_off on ) and is a flag only — it never gates the state machine.
WHAT IT IS NOT
Not a strategy. No entries, no stops, no targets, no risk sizing anywhere in this script. Bidirectional context only — it tells you a coil compressed and how the break resolved, not what to do about it. Settings are starting points, not recommendations; tune box length, dwell, and weights to what you're trading and validate before risking anything on it.
ALERTS
New Coil Primed · Bull Breakout · Bear Breakout · Follow-Through Confirmed · Reclaim. All gated to confirmed bars, all carry numeric state/score payloads for automation.
Still useful after it's been on your chart a while — every read maps to a concrete decision about whether this coil is worth watching. Indicator

Indicator

Volume Bubble DeltaVolume Bubble Delta
Short description (for the publish box summary)
Volume delta bubbles that anchor to each bar's Point of Control, scale with the size of the imbalance, and automatically thin out as you zoom out. Uses PulseWire's native footprint data when available, with a lower-timeframe fallback for all plans.
Full description
What it does
This indicator answers one question on every bar: who was actually in control, buyers or sellers?
It plots a bubble on the chart whose colour tells you which side won the bar, whose size tells you how one-sided it was compared to recent bars, and whose number tells you the raw delta. Green means aggressive buyers dominated; red means aggressive sellers dominated.
The point of bubbles rather than a separate delta pane is that you read the imbalance in the same place you read price — no eye-travel between panes.
How the delta is calculated
The script runs two engines and picks the best one available:
Engine 1 — Native footprint (Premium / Ultimate plans) Calls request.footprint() to retrieve real order flow for the bar: exact ask-side (buy) volume, bid-side (sell) volume, delta, and the bar's Point of Control. This is true aggressor data, not an approximation.
Engine 2 — Lower-timeframe estimate (all plans) When footprint data isn't available, the script pulls intrabar candles via request.security_lower_tf() and classifies each one: closing up counts as buy volume, closing down as sell volume, and a flat intrabar is resolved against the previous intrabar close. If lower-timeframe data is also unavailable, it falls back to a wick-position proxy.
The control panel always shows which engine is live, so you know whether you're reading real delta or an estimate. This distinction matters — the estimate infers aggression from candle direction and will diverge from true footprint delta in fast or thin conditions.
Bubble placement
By default bubbles anchor to the bar's Point of Control — the price level where the most volume traded inside that bar. This puts the bubble where the activity actually happened rather than floating above or below the candle, so a bubble sitting high in a bar's range tells you something different from one sitting at the low. When footprint data isn't available, bubbles fall back to the body midpoint. Alternative positions (body mid, close, above/below) are available in settings.
Zoom-adaptive density
Most bubble indicators become unreadable when you zoom out — hundreds of overlapping circles. This one reads the visible chart range, works out how many bars are on screen, and raises its threshold accordingly.
Zoomed in, small imbalances appear. Zoomed out, only the heavyweight prints survive, with wider minimum spacing between them. You set a target number of bubbles you want on screen and the script maintains roughly that density at any zoom level.
Because this reads the visible range, the script recalculates when you zoom or pan. If you prefer a fixed threshold, the behaviour can be switched off.
Absorption detection
The setups worth watching are the ones where delta and price disagree:
Green bubble on a red candle — price closed down, but aggressive buyers dominated the bar. Sellers pushed and buyers absorbed it.
Red bubble on a green candle — price closed up on aggressive selling.
These bars get tinted, always print a bubble regardless of the zoom filter, and have dedicated alerts. Divergence between delta and price direction is often read as the underlying pressure weakening relative to the visible move — though like any signal it fails regularly and means nothing in isolation.
Settings
Delta engine — force native footprint, force the estimate, or let it auto-select. Footprint row size and value area % are configurable.
What to show — every bar, significant bars only, or divergences only. Threshold is a multiple of the rolling average absolute delta, so it adapts to the instrument automatically.
Bubble look — three colour schemes, size scaling on/off, opacity, position.
Zoom behaviour — target bubble count and how aggressively to thin.
Extras — absorption tinting, ▲▼ markers, per-bar POC lines, control panel position.
Control panel
Top-right by default: who's in control, bar delta with percentage, buy and sell volume, session cumulative delta, and the active data source. Numbers abbreviate to K/M/B so the panel stays compact.
Alerts
Buyers absorbing a red candle
Sellers absorbing a green candle
Session cumulative delta crossing above or below zero
Notes and limitations
request.footprint() requires a Premium or Ultimate plan. On lower tiers, comment out the block marked NATIVE FOOTPRINT in the source and set the delta source to "Lower TF estimate".
Seconds-based lower timeframes need a paid plan. On free plans use 1 minute, which means the estimate works best on 5m charts and above.
Pine labels have five discrete size steps, so bubbles grow in stages rather than continuously.
The rolling average needs roughly 20 bars to settle before the significance filter behaves sensibly.
Volume delta describes what already happened in a bar. It is not predictive on its own, and this indicator is a visualisation tool rather than a trading system. Nothing here is financial advice.
Suggested starting point
30m chart, "Significant only" mode, target 20 bubbles on screen. Watch what the bubbles do at prior POC, VAH and VAL levels — imbalance at a level you already care about is more informative than imbalance in the middle of nowhere. Indicator

Indicator

Indicator
