Fibonacci Gravity Clusters [GBB]

Fib Gravity Clusters[GBB] — Fibonacci confluence as a heatmap
The problem with Fibonacci retracements was never the ratios but the correct swing selection. Two traders, same chart, different anchor points, completely different levels and both will find "confirmation" for theirs. I wanted to take that choice away from myself.
So this script runs six ZigZag lines in parallel (pivot lengths 3, 8, 21, 55, 144, 377 by default, but they're configurable), keeps the last 13 legs of each, projects the usual retracement ratios from every single confirmed leg, and adds it all up into a density field on the price axis. Where lots of independent swings project into the same area, the chart glows. Where they don't, nothing.
THE BOOKKEEPING
Legs smaller than 0.5 ATR get thrown out because they're noise. Every surviving leg projects the enabled ratios (0.236 / 0.382 / 0.5 / 0.618 / 0.786, plus 0.886 if you want it). Each projected level drops heat into fine price bins, a quarter ATR tall, smeared with a small Gaussian kernel so neighboring projections merge into zones instead of producing a picket fence.
Not every projection counts the same:
The field gets normalized, gamma-corrected and painted. Four palettes (Thermal, Ember, Ice, Mono) are selectable. The top 5 local peaks get a line and a label with the exact price and a hit count, so you can see how many raw projections actually built that zone. A ×14 zone and a ×3 zone are not the same thing even if they look similar in color.
There's also an optional HTF layer: the same field computed on Daily/Weekly/Monthly (auto-mapped from your chart TF, or fixed) and rendered behind the intraday one, dimmed, in its own palette. Built from closed HTF bars only. When an intraday hot band sits inside an HTF hot band, that's the most interesting picture this tool produces.
NON-REPAINTING
Everything is built from confirmed pivots. A level shows up once its pivot confirms which is N bars after the extreme, that's the nature of pivots and after that it doesn't move and doesn't disappear. HTF layer is lookahead_off, closed bars only. Alerts fire on bar close.
One exception: the Live Leg overlay. It projects ratios from the swing that's still forming. Dashed, labeled "forming", off by default, and it repaints by definition because the leg isn't finished. I left it in because it's occasionally useful context on fast timeframes. It is not a signal. If you turn it on and then complain about repainting, that one's on you.
ALERTS
Three of them: close enters a hot band, close enters an HTF hot band, and a new core zone forming in the top 5. Plus an optional visual flash on the touched band.
The problem with Fibonacci retracements was never the ratios but the correct swing selection. Two traders, same chart, different anchor points, completely different levels and both will find "confirmation" for theirs. I wanted to take that choice away from myself.
So this script runs six ZigZag lines in parallel (pivot lengths 3, 8, 21, 55, 144, 377 by default, but they're configurable), keeps the last 13 legs of each, projects the usual retracement ratios from every single confirmed leg, and adds it all up into a density field on the price axis. Where lots of independent swings project into the same area, the chart glows. Where they don't, nothing.
THE BOOKKEEPING
Legs smaller than 0.5 ATR get thrown out because they're noise. Every surviving leg projects the enabled ratios (0.236 / 0.382 / 0.5 / 0.618 / 0.786, plus 0.886 if you want it). Each projected level drops heat into fine price bins, a quarter ATR tall, smeared with a small Gaussian kernel so neighboring projections merge into zones instead of producing a picket fence.
Not every projection counts the same:
- - bigger swings contribute more (leg size in ATR, raised to a configurable exponent, capped at 8 so one monster leg can't drown everything else)
- - old legs fade out with a half-life, default 144 bars. This matters more than it sounds — without decay the chart slowly fills up with structure the market stopped caring about weeks ago
- - optional golden pocket mode adds 0.65 and gives the 0.618–0.65 area a 1.618x weight, if that's your thing
The field gets normalized, gamma-corrected and painted. Four palettes (Thermal, Ember, Ice, Mono) are selectable. The top 5 local peaks get a line and a label with the exact price and a hit count, so you can see how many raw projections actually built that zone. A ×14 zone and a ×3 zone are not the same thing even if they look similar in color.
There's also an optional HTF layer: the same field computed on Daily/Weekly/Monthly (auto-mapped from your chart TF, or fixed) and rendered behind the intraday one, dimmed, in its own palette. Built from closed HTF bars only. When an intraday hot band sits inside an HTF hot band, that's the most interesting picture this tool produces.
NON-REPAINTING
Everything is built from confirmed pivots. A level shows up once its pivot confirms which is N bars after the extreme, that's the nature of pivots and after that it doesn't move and doesn't disappear. HTF layer is lookahead_off, closed bars only. Alerts fire on bar close.
One exception: the Live Leg overlay. It projects ratios from the swing that's still forming. Dashed, labeled "forming", off by default, and it repaints by definition because the leg isn't finished. I left it in because it's occasionally useful context on fast timeframes. It is not a signal. If you turn it on and then complain about repainting, that one's on you.
ALERTS
Three of them: close enters a hot band, close enters an HTF hot band, and a new core zone forming in the top 5. Plus an optional visual flash on the touched band.
The Good, the Bad and the Bitcoin — No hype, just data.
Free indicators & honest backtests: youtube.com/@TheGoodTheBadAndTheBitcoin
Free indicators & honest backtests: youtube.com/@TheGoodTheBadAndTheBitcoin
Clause de non-responsabilité
Les informations et publications ne sont pas destinées à être, et ne constituent pas, des conseils ou recommandations financiers, d'investissement, de trading ou autres fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.
The Good, the Bad and the Bitcoin — No hype, just data.
Free indicators & honest backtests: youtube.com/@TheGoodTheBadAndTheBitcoin
Free indicators & honest backtests: youtube.com/@TheGoodTheBadAndTheBitcoin
Clause de non-responsabilité
Les informations et publications ne sont pas destinées à être, et ne constituent pas, des conseils ou recommandations financiers, d'investissement, de trading ou autres fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.