Auto Trendlines - Support Resistance Touch-Graded [Dots3Red]

📐 AUTO TRENDLINES - Support Resistance Touch-Graded [Dots3Red]
Most auto-trendline tools do one thing: draw a line and stop. This one keeps score. Every time price touches a detected trendline, the touch is graded on confirmed bars — did price genuinely bounce away, or push through? The result is a running, honest record instead of a static line you're left to interpret on your own.
🎯 WHY THIS MATTERS
A trendline by itself is just a guess about where price might react. This script turns that guess into a measurement. Instead of assuming "trendlines work," it tracks — on this specific chart, in real time — how often they actually have. If a line has been touched four times and bounced three, you see exactly that: "4 touches · 3 bounced." No line gets the benefit of the doubt it hasn't earned.
⚙️ HOW IT WORKS
📍 Detection — the script tracks one active resistance line (built from the two most recent confirmed pivot highs) and one active support line (from the two most recent pivot lows). A slope filter rejects near-horizontal lines, since those are levels, not trendlines — different tool, different job.
🎯 Touch grading — when price reaches close enough to a line (configurable tolerance), that touch enters a pending state. Within a set number of bars, it resolves one of three ways:
• Bounce — price moved away cleanly without breaking
• Break — price closed convincingly through the line; it retires and the line's story ends there
• Timeout — neither happened clearly enough to call
📊 Two layers of scoring — each individual line carries its own tally (shown right on the chart), and the dashboard separately tracks a global bounce rate across every line the script has drawn on that chart, so far. That global number is the honest headline: it's what trendline touches have actually done here, not a theoretical average.
✨ Trendline glow — each active line gets a soft fade extending away from it, independently. This isn't a channel — resistance and support aren't matched pairs here, so the two glows are deliberately unrelated, each hugging only its own line.
🔒 Non-repainting — lines are built only from confirmed pivots and never quietly redrawn to fit later price. Touch grading happens only on confirmed bars. What you see historically is what happened, not a retrofit.
🧭 HOW TO USE
1️⃣ Read the label, not just the line. "3 touches · 1 bounced" and "3 touches · 3 bounced" look identical as a plain line, but tell very different stories about how much to trust the next touch.
2️⃣ Check the dashboard's global Bounce Rate before leaning on any single line. If the aggregate rate on this chart is sitting at 35%, that's useful context — it means trendlines haven't been particularly reliable here lately, regardless of how convincing any one line looks in isolation.
3️⃣ Watch for the retirement. Once a line breaks, it's either removed immediately or kept as a dashed reference (your choice, see settings) — either way, a broken line stops being "live" and stops collecting new touches. Don't keep treating a dashed line as active support/resistance.
4️⃣ Tune the tolerance and outcome window to the instrument. A fast-moving crypto pair and a slow index behave very differently — the default settings are a reasonable starting point, not a universal fit.
🛠️ SETTINGS
📐 Detection
• Pivot Leg — bars required each side to confirm a pivot; larger = fewer, more significant pivots
• Require Meaningful Slope + Min Slope — filters out near-horizontal lines
• Max Line Age — retires lines that have simply gotten too old
🎯 Touch Grading
• Touch Tolerance — how close price must come to count as a touch
• Break Buffer — how far past the line close must clear to count as a break
• Bounce Distance — how far price must move away, cleanly, to count as a bounce
• Outcome Window — bars allowed for a touch to resolve
🎨 Visualization
• Line Stat Labels, Touch Markers — toggle each independently
• Show Broken Lines — keep retired lines visible (dashed) or clear them immediately
• Trendline Glow + Glow Fade Distance — soft fade extending from each active line
EXAMPLE (with Broken Trend Lines)

🖥️ Dashboard
• Show/hide, position — current resistance/support status, global bounce rate, break count, active pivot leg
📝 NOTES
Because only one resistance and one support line are actively tracked at a time, older structure isn't shown once a fresher pivot pair replaces it (unless "Show Broken Lines" is enabled). This script measures how trendlines have behaved on this chart — it does not predict how any specific future touch will resolve.
⚠️ DISCLAIMER
This is an analytical and visualization tool. It does not generate trade signals and does not constitute financial advice. Historical bounce/break rates do not guarantee future performance.
Most auto-trendline tools do one thing: draw a line and stop. This one keeps score. Every time price touches a detected trendline, the touch is graded on confirmed bars — did price genuinely bounce away, or push through? The result is a running, honest record instead of a static line you're left to interpret on your own.
🎯 WHY THIS MATTERS
A trendline by itself is just a guess about where price might react. This script turns that guess into a measurement. Instead of assuming "trendlines work," it tracks — on this specific chart, in real time — how often they actually have. If a line has been touched four times and bounced three, you see exactly that: "4 touches · 3 bounced." No line gets the benefit of the doubt it hasn't earned.
⚙️ HOW IT WORKS
📍 Detection — the script tracks one active resistance line (built from the two most recent confirmed pivot highs) and one active support line (from the two most recent pivot lows). A slope filter rejects near-horizontal lines, since those are levels, not trendlines — different tool, different job.
🎯 Touch grading — when price reaches close enough to a line (configurable tolerance), that touch enters a pending state. Within a set number of bars, it resolves one of three ways:
• Bounce — price moved away cleanly without breaking
• Break — price closed convincingly through the line; it retires and the line's story ends there
• Timeout — neither happened clearly enough to call
📊 Two layers of scoring — each individual line carries its own tally (shown right on the chart), and the dashboard separately tracks a global bounce rate across every line the script has drawn on that chart, so far. That global number is the honest headline: it's what trendline touches have actually done here, not a theoretical average.
✨ Trendline glow — each active line gets a soft fade extending away from it, independently. This isn't a channel — resistance and support aren't matched pairs here, so the two glows are deliberately unrelated, each hugging only its own line.
🔒 Non-repainting — lines are built only from confirmed pivots and never quietly redrawn to fit later price. Touch grading happens only on confirmed bars. What you see historically is what happened, not a retrofit.
🧭 HOW TO USE
1️⃣ Read the label, not just the line. "3 touches · 1 bounced" and "3 touches · 3 bounced" look identical as a plain line, but tell very different stories about how much to trust the next touch.
2️⃣ Check the dashboard's global Bounce Rate before leaning on any single line. If the aggregate rate on this chart is sitting at 35%, that's useful context — it means trendlines haven't been particularly reliable here lately, regardless of how convincing any one line looks in isolation.
3️⃣ Watch for the retirement. Once a line breaks, it's either removed immediately or kept as a dashed reference (your choice, see settings) — either way, a broken line stops being "live" and stops collecting new touches. Don't keep treating a dashed line as active support/resistance.
4️⃣ Tune the tolerance and outcome window to the instrument. A fast-moving crypto pair and a slow index behave very differently — the default settings are a reasonable starting point, not a universal fit.
🛠️ SETTINGS
📐 Detection
• Pivot Leg — bars required each side to confirm a pivot; larger = fewer, more significant pivots
• Require Meaningful Slope + Min Slope — filters out near-horizontal lines
• Max Line Age — retires lines that have simply gotten too old
🎯 Touch Grading
• Touch Tolerance — how close price must come to count as a touch
• Break Buffer — how far past the line close must clear to count as a break
• Bounce Distance — how far price must move away, cleanly, to count as a bounce
• Outcome Window — bars allowed for a touch to resolve
🎨 Visualization
• Line Stat Labels, Touch Markers — toggle each independently
• Show Broken Lines — keep retired lines visible (dashed) or clear them immediately
• Trendline Glow + Glow Fade Distance — soft fade extending from each active line
EXAMPLE (with Broken Trend Lines)
🖥️ Dashboard
• Show/hide, position — current resistance/support status, global bounce rate, break count, active pivot leg
📝 NOTES
Because only one resistance and one support line are actively tracked at a time, older structure isn't shown once a fresher pivot pair replaces it (unless "Show Broken Lines" is enabled). This script measures how trendlines have behaved on this chart — it does not predict how any specific future touch will resolve.
⚠️ DISCLAIMER
This is an analytical and visualization tool. It does not generate trade signals and does not constitute financial advice. Historical bounce/break rates do not guarantee future performance.
Connect the dots to elevate your trading.
Exención de responsabilidad
La información y las publicaciones no constituyen, ni deben considerarse como, asesoramiento o recomendaciones financieras, de inversión, de trading u otro tipo, proporcionadas o respaldadas por TradingView. Obtenga más información en Condiciones de uso.
Connect the dots to elevate your trading.
Exención de responsabilidad
La información y las publicaciones no constituyen, ni deben considerarse como, asesoramiento o recomendaciones financieras, de inversión, de trading u otro tipo, proporcionadas o respaldadas por TradingView. Obtenga más información en Condiciones de uso.