OPEN-SOURCE SCRIPT

Target Radar

139
Target Radar filters entries with a confidence gate, then maps the next objective using pivot-cluster Support/Resistance pools.
It’s built for traders who want fewer, cleaner signals and a clear target level instead of guessing exits.

What you get on the chart

🔵 Support pools (pivot-low clusters)

🟠 Resistance pools (pivot-high clusters)

🟢 Long signal (▲) when the setup passes filters + score threshold

🔴 Short signal (▼) when the setup passes filters + score threshold

Projection band (expected move with uncertainty half-width)

Forward box (next-horizon projected zone)

Target line + label (best nearby pool in the forecast direction + score)

How to read the Support/Resistance pools

Target Radar doesn’t draw random lines. It builds price pools from confirmed pivots and clusters them:

A pivot forms after pivotLen bars confirm (that’s the confirmation delay by design).

Levels within ATR * mergeATR merge into one pool.

Strength = number of merged touches.

Thickness/opacity = strength (stronger pools stand out).

Legend

🔵 Blue = Support pools

🟠 Orange = Resistance pools

Thick + less transparent = stronger level
These colors are reserved for structure, not signal direction.

What makes this different

Most tools do signals or support/resistance or volatility bands.
Target Radar combines them into a single workflow:

Directional forecast (up/down pressure)

Uncertainty gate (trade conditions vs noise)

Structure-based target (where price is most likely to react next)

So you’re not just taking entries—you’re trading entry + environment + destination.

The math behind it (simple + transparent)
1) Forecast Engine (direction)

Each component is normalized with a z-score over lookback:

trendZ = zscore((EMA10 − EMA20) / EMA20)

momZ = zscore(RSI14 − 50)

volZ = zscore(ATR14 / close) (penalty)

vprZ = zscore(log(SMA(upVol)/SMA(downVol)))

Weighted blend:

rawScore = wTrend*trendZ + wMom*momZ − wVol*volZ + wVpr*vprZ

Bounded and scaled:

bound(x) = x / (1 + |x|)

forecastRet = bound(rawScore) * (ATR/close) * retScale

2) Uncertainty band (confidence gate)

The script measures recent forecast error:

realRet = ln(close / close[h])

residual = |realRet − forecastRet[h]|

Half-width uses rolling error stats:

halfWidth = max(mean(residual) + zMult*stdev(residual), minHW)

Interpretation:

Small halfWidth = stable environment

Large halfWidth = unstable environment (signals blocked if enabled)

3) Target scoring (structure + forecast alignment)

The target is the nearest pool in the forecast direction, then scored by:

distance fit vs the uncertainty band

whether the level sits inside the projection zone

pool strength bonus

Best practices (how traders actually use it)
New traders

Start with Breakout or EMA Cross

Keep filters ON:

Require Forecast Alignment ✅

Block High Uncertainty ✅

Match Regime to Mode ✅

Use the dashed target as the first objective.

Experienced traders

Use Target Radar as a validation + targeting layer:

Your setup triggers → Target Radar decides if conditions are tradable and where the next level sits.

Raise minScore to reduce signals and tighten quality.

Use the pool strength (thicker/clearer lines) as a structure filter.

Mode ↔ Regime pairing

TREND regime: Breakout, EMA Cross

RANGE regime: Mean Reversion

CHAOS regime: filtered out when regime gate is enabled

What it is / what it isn’t

It is: a confidence-gated signal filter + structure target mapper.
It isn’t: a full strategy/backtest engine—use Strategy Tester if you want full trade simulation.

Alerts

Long signal

Short signal

High uncertainty

Thông báo miễn trừ trách nhiệm

Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.