OPEN-SOURCE SCRIPT
XauLabs Liquidity Levels

ENGLISH
What it does
Most tools draw every swing high and low the same way. This one counts. A level touched four times without being broken is not the same object as a level touched once, and the script says so on the chart: line thickness and shading grow with the number of touches, and the count is written next to each zone. It also draws the diagonal along which lows keep rising — the sloping counterpart of a horizontal level — and marks the places where the two meet.
How it works (full method)
Confirmed pivots only. A swing is registered when it dominates a set number of bars on both sides (8 by default). The right-hand bars are what make the tool non-repainting: a level appears with that delay and never moves afterwards. The dashboard states the delay in plain sight.
Grouping into zones. Each new pivot is compared to existing levels. If it falls within a tolerance expressed in ATR (0.12 by default), it counts as the same zone and the counter increases. The zone is drawn as a band spanning the actual spread between its touches — equal highs and equal lows are rarely exactly equal, and the band shows the real width.
Weight by touches. Border, shading and the printed count all scale with the number of touches. Two touches is a pair of equal highs; four is a wall the market keeps returning to. By default only zones with at least two touches are displayed — single pivots are noise.
Sweeps are marked, not erased. When price wicks beyond a zone and closes back inside, the zone turns dotted grey and is labelled swept. It stays on the chart: what happened is part of the reading. Single-touch levels are never labelled swept — that is an ordinary break of structure, not a liquidity event.
Liquidity trendline. The script searches all pairs of confirmed pivots for the ascending line that the most lows have respected, with a tolerance of its own (0.5 ATR by default) because a diagonal spanning hours cannot hug prices to the cent. A low sitting above the line is not a violation — only a low clearly beneath it invalidates the line. Where several candidates tie, the oldest anchor wins, so the line starts at the origin of the move. The touch count is printed at its right end.
Confluence. When the projected diagonal reaches a horizontal zone, both are recoloured and marked. That intersection is where a horizontal cluster and a sloping one arrive together.
Recovery. If price closes below the diagonal, the script frames the area between the break and the current low, and names it: the diagonal and the equal lows have to be reworked.
Housekeeping. Zones further than a set distance from price, or older than a set number of bars, are removed. Beyond the display cap, the least-touched zones go first — an accumulation zone far from price outranks an isolated pivot nearby.
On what "liquidity" means here
The script measures touches, which is observable. The idea that stop orders accumulate behind repeatedly defended levels is an interpretation of that measurement, and a common one, but it is not something a chart can prove. The distinction matters: what you see counted is real, what it implies about resting orders is a reading.
No repainting
Pivots are confirmed by the right-hand bars and never revised. Zones extend forward as bars close; sweeps are evaluated on closed bars only. The diagonal is recomputed on the last bar because new pivots can extend it, which is stated here rather than hidden.
Settings
Pivot width, equality tolerance, minimum touches, maximum zones, distance and age filters, sweep marking and quota, diagonal tolerance, anchor depth, projection length, confluence and recovery marking, colours, dashboard and text size.
Educational structural 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
La plupart des outils dessinent tous les sommets et creux de la même façon. Celui-ci compte. Un niveau touché quatre fois sans être franchi n'est pas le même objet qu'un niveau touché une fois, et le script le dit sur le graphique : l'épaisseur et l'intensité augmentent avec le nombre de touches, et le compte est écrit à côté de chaque zone. Il trace aussi la diagonale le long de laquelle les creux montent — l'équivalent en pente d'un niveau horizontal — et marque les endroits où les deux se rejoignent.
Comment il fonctionne (méthode complète)
Uniquement des pivots confirmés. Un pivot est enregistré quand il domine un nombre fixé de bougies de chaque côté (8 par défaut). Ce sont les bougies de droite qui rendent l'outil non-repainting : un niveau apparaît avec ce délai et ne bouge plus ensuite. Le tableau de bord affiche ce délai en clair.
Regroupement en zones. Chaque nouveau pivot est comparé aux niveaux existants. S'il tombe dans une tolérance exprimée en ATR (0,12 par défaut), c'est la même zone et le compteur augmente. La zone est tracée comme une bande couvrant l'écart réel entre ses touches — des equal highs ne sont presque jamais exactement égaux, et la bande montre la largeur véritable.
Le poids vient des touches. Bordure, intensité et compte affiché suivent le nombre de touches. Deux touches, c'est une paire d'equal highs ; quatre, c'est un mur où le marché revient sans cesse. Par défaut, seules les zones à deux touches minimum s'affichent — un pivot isolé est du bruit.
Les balayages sont marqués, pas effacés. Quand le prix dépasse une zone en mèche et clôture en deçà, elle passe en gris pointillé avec la mention « balayé ». Elle reste au graphique : ce qui s'est passé fait partie de la lecture. Un niveau à une seule touche n'est jamais marqué balayé — c'est une cassure de structure ordinaire, pas un événement de liquidité.
Diagonale de liquidité. Le script examine toutes les paires de pivots confirmés pour retenir la droite ascendante que le plus de creux ont respectée, avec une tolérance qui lui est propre (0,5 ATR par défaut) : une diagonale qui traverse plusieurs heures ne peut pas coller au centime. Un creux situé au-dessus de la droite n'est pas une violation — seul un creux nettement dessous l'invalide. À égalité, l'ancrage le plus ancien gagne : la droite part de l'origine du mouvement. Le nombre de touches est écrit à son extrémité.
Confluence. Quand la diagonale projetée rejoint une zone horizontale, les deux sont recolorées et signalées. C'est l'endroit où un amas horizontal et un amas en pente arrivent ensemble.
Récupération. Si le prix clôture sous la diagonale, le script encadre la zone entre la cassure et le plus bas atteint depuis, et la nomme : la diagonale et les equal lows sont à retravailler.
Entretien. Les zones trop éloignées du prix ou trop anciennes disparaissent. Au-delà du plafond d'affichage, ce sont les moins touchées qui partent en premier — une zone d'accumulation lointaine vaut mieux qu'un pivot isolé tout proche.
Sur le mot « liquidité »
Le script mesure des touches, ce qui est observable. L'idée que des ordres stop s'accumulent derrière les niveaux défendus plusieurs fois est une interprétation de cette mesure, très répandue, mais qu'un graphique ne peut pas démontrer. La distinction compte : ce que vous voyez compté est réel, ce que cela suppose des ordres en attente est une lecture.
Aucun repaint
Les pivots sont confirmés par les bougies de droite et ne sont jamais révisés. Les zones s'étendent vers l'avant à mesure que les bougies clôturent ; les balayages sont évalués sur bougies closes uniquement. La diagonale est recalculée sur la dernière bougie parce que de nouveaux pivots peuvent la prolonger — c'est écrit ici plutôt que caché.
Réglages
Largeur de pivot, tolérance d'égalité, touches minimum, zones maximum, filtres de distance et d'âge, marquage et quota de balayages, tolérance de la diagonale, profondeur d'ancrage, longueur de projection, marquage des confluences et des récupérations, couleurs, tableau de bord et taille du texte.
Outil structurel à but éducatif. 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.
What it does
Most tools draw every swing high and low the same way. This one counts. A level touched four times without being broken is not the same object as a level touched once, and the script says so on the chart: line thickness and shading grow with the number of touches, and the count is written next to each zone. It also draws the diagonal along which lows keep rising — the sloping counterpart of a horizontal level — and marks the places where the two meet.
How it works (full method)
Confirmed pivots only. A swing is registered when it dominates a set number of bars on both sides (8 by default). The right-hand bars are what make the tool non-repainting: a level appears with that delay and never moves afterwards. The dashboard states the delay in plain sight.
Grouping into zones. Each new pivot is compared to existing levels. If it falls within a tolerance expressed in ATR (0.12 by default), it counts as the same zone and the counter increases. The zone is drawn as a band spanning the actual spread between its touches — equal highs and equal lows are rarely exactly equal, and the band shows the real width.
Weight by touches. Border, shading and the printed count all scale with the number of touches. Two touches is a pair of equal highs; four is a wall the market keeps returning to. By default only zones with at least two touches are displayed — single pivots are noise.
Sweeps are marked, not erased. When price wicks beyond a zone and closes back inside, the zone turns dotted grey and is labelled swept. It stays on the chart: what happened is part of the reading. Single-touch levels are never labelled swept — that is an ordinary break of structure, not a liquidity event.
Liquidity trendline. The script searches all pairs of confirmed pivots for the ascending line that the most lows have respected, with a tolerance of its own (0.5 ATR by default) because a diagonal spanning hours cannot hug prices to the cent. A low sitting above the line is not a violation — only a low clearly beneath it invalidates the line. Where several candidates tie, the oldest anchor wins, so the line starts at the origin of the move. The touch count is printed at its right end.
Confluence. When the projected diagonal reaches a horizontal zone, both are recoloured and marked. That intersection is where a horizontal cluster and a sloping one arrive together.
Recovery. If price closes below the diagonal, the script frames the area between the break and the current low, and names it: the diagonal and the equal lows have to be reworked.
Housekeeping. Zones further than a set distance from price, or older than a set number of bars, are removed. Beyond the display cap, the least-touched zones go first — an accumulation zone far from price outranks an isolated pivot nearby.
On what "liquidity" means here
The script measures touches, which is observable. The idea that stop orders accumulate behind repeatedly defended levels is an interpretation of that measurement, and a common one, but it is not something a chart can prove. The distinction matters: what you see counted is real, what it implies about resting orders is a reading.
No repainting
Pivots are confirmed by the right-hand bars and never revised. Zones extend forward as bars close; sweeps are evaluated on closed bars only. The diagonal is recomputed on the last bar because new pivots can extend it, which is stated here rather than hidden.
Settings
Pivot width, equality tolerance, minimum touches, maximum zones, distance and age filters, sweep marking and quota, diagonal tolerance, anchor depth, projection length, confluence and recovery marking, colours, dashboard and text size.
Educational structural 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
La plupart des outils dessinent tous les sommets et creux de la même façon. Celui-ci compte. Un niveau touché quatre fois sans être franchi n'est pas le même objet qu'un niveau touché une fois, et le script le dit sur le graphique : l'épaisseur et l'intensité augmentent avec le nombre de touches, et le compte est écrit à côté de chaque zone. Il trace aussi la diagonale le long de laquelle les creux montent — l'équivalent en pente d'un niveau horizontal — et marque les endroits où les deux se rejoignent.
Comment il fonctionne (méthode complète)
Uniquement des pivots confirmés. Un pivot est enregistré quand il domine un nombre fixé de bougies de chaque côté (8 par défaut). Ce sont les bougies de droite qui rendent l'outil non-repainting : un niveau apparaît avec ce délai et ne bouge plus ensuite. Le tableau de bord affiche ce délai en clair.
Regroupement en zones. Chaque nouveau pivot est comparé aux niveaux existants. S'il tombe dans une tolérance exprimée en ATR (0,12 par défaut), c'est la même zone et le compteur augmente. La zone est tracée comme une bande couvrant l'écart réel entre ses touches — des equal highs ne sont presque jamais exactement égaux, et la bande montre la largeur véritable.
Le poids vient des touches. Bordure, intensité et compte affiché suivent le nombre de touches. Deux touches, c'est une paire d'equal highs ; quatre, c'est un mur où le marché revient sans cesse. Par défaut, seules les zones à deux touches minimum s'affichent — un pivot isolé est du bruit.
Les balayages sont marqués, pas effacés. Quand le prix dépasse une zone en mèche et clôture en deçà, elle passe en gris pointillé avec la mention « balayé ». Elle reste au graphique : ce qui s'est passé fait partie de la lecture. Un niveau à une seule touche n'est jamais marqué balayé — c'est une cassure de structure ordinaire, pas un événement de liquidité.
Diagonale de liquidité. Le script examine toutes les paires de pivots confirmés pour retenir la droite ascendante que le plus de creux ont respectée, avec une tolérance qui lui est propre (0,5 ATR par défaut) : une diagonale qui traverse plusieurs heures ne peut pas coller au centime. Un creux situé au-dessus de la droite n'est pas une violation — seul un creux nettement dessous l'invalide. À égalité, l'ancrage le plus ancien gagne : la droite part de l'origine du mouvement. Le nombre de touches est écrit à son extrémité.
Confluence. Quand la diagonale projetée rejoint une zone horizontale, les deux sont recolorées et signalées. C'est l'endroit où un amas horizontal et un amas en pente arrivent ensemble.
Récupération. Si le prix clôture sous la diagonale, le script encadre la zone entre la cassure et le plus bas atteint depuis, et la nomme : la diagonale et les equal lows sont à retravailler.
Entretien. Les zones trop éloignées du prix ou trop anciennes disparaissent. Au-delà du plafond d'affichage, ce sont les moins touchées qui partent en premier — une zone d'accumulation lointaine vaut mieux qu'un pivot isolé tout proche.
Sur le mot « liquidité »
Le script mesure des touches, ce qui est observable. L'idée que des ordres stop s'accumulent derrière les niveaux défendus plusieurs fois est une interprétation de cette mesure, très répandue, mais qu'un graphique ne peut pas démontrer. La distinction compte : ce que vous voyez compté est réel, ce que cela suppose des ordres en attente est une lecture.
Aucun repaint
Les pivots sont confirmés par les bougies de droite et ne sont jamais révisés. Les zones s'étendent vers l'avant à mesure que les bougies clôturent ; les balayages sont évalués sur bougies closes uniquement. La diagonale est recalculée sur la dernière bougie parce que de nouveaux pivots peuvent la prolonger — c'est écrit ici plutôt que caché.
Réglages
Largeur de pivot, tolérance d'égalité, touches minimum, zones maximum, filtres de distance et d'âge, marquage et quota de balayages, tolérance de la diagonale, profondeur d'ancrage, longueur de projection, marquage des confluences et des récupérations, couleurs, tableau de bord et taille du texte.
Outil structurel à but éducatif. 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.
Skrip sumber terbuka
Dalam semangat TradingView sebenar, pencipta skrip ini telah menjadikannya sumber terbuka, jadi pedagang boleh menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupuan anda boleh menggunakan secara percuma, ingat bahawa penerbitan semula kod ini tertakluk kepada Peraturan Dalaman.
Penafian
Maklumat dan penerbitan adalah tidak bertujuan, dan tidak membentuk, nasihat atau cadangan kewangan, pelaburan, dagangan atau jenis lain yang diberikan atau disahkan oleh TradingView. Baca lebih dalam Terma Penggunaan.
Skrip sumber terbuka
Dalam semangat TradingView sebenar, pencipta skrip ini telah menjadikannya sumber terbuka, jadi pedagang boleh menilai dan mengesahkan kefungsiannya. Terima kasih kepada penulis! Walaupuan anda boleh menggunakan secara percuma, ingat bahawa penerbitan semula kod ini tertakluk kepada Peraturan Dalaman.
Penafian
Maklumat dan penerbitan adalah tidak bertujuan, dan tidak membentuk, nasihat atau cadangan kewangan, pelaburan, dagangan atau jenis lain yang diberikan atau disahkan oleh TradingView. Baca lebih dalam Terma Penggunaan.