OPEN-SOURCE SCRIPT

No-Repaint Entry Score Multi-Factor Confluence [LunqFX]

5 439
No-Repaint Entry Score — Multi-Factor Confluence [LunqFX]

Most indicators tell you a signal exists. This one tells you how strong
it is, why it fired, and how long it has been holding — on every bar,
across every market.

One number: 0–100. Five factors. Zero repainting.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ HOW TO USE IT — 4 STEPS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

STEP 1 — CHECK HTF TREND
Look at the SIGNAL section of the panel.
HTF Trend shows ▲ BULL or ▼ BEAR based on a confirmed higher
timeframe EMA. Only take setups in this direction.
Counter-trend setups are automatically penalised by the score.

STEP 2 — WAIT FOR THE ENTRY WINDOW
When score reaches your Signal Threshold (default 75), the panel
shows "✓ ENTRY WINDOW" and a green Entry Zone box appears on the chart.
Do not enter below this threshold — conditions are not aligned.

STEP 3 — CHECK THE CAUTION ROW
The panel always shows your weakest component.
Caution: Momentum ↓ → wait for a strong candle close
Caution: Session ↓ → wait for market session to open
Caution: Structure ↓ → you may be entering against the trend
Fix the caution before entering.

STEP 4 — LOOK FOR PRIME AND PERSISTENCE
PRIME label (score ≥80) = all 5 factors aligned. Best entries.
◆ SUSTAINED (3+ bars) → candles turn cyan. High conviction.
◆◆ ELITE (6+ bars) → candles turn gold. Exceptional setup.
The longer the streak holds, the stronger the setup.

STOP LOSS — place below/above the Entry Zone outer band (±0.55 ATR).
TAKE PROFIT — next confirmed swing level or session high/low.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ SCORE TIERS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

◆◆ ELITE PRIME ≥80, held 6+ bars — exceptional, rare
◆ SUSTAINED ≥80, held 3+ bars — high conviction
PRIME ≥80, first bar — valid entry signal
GOOD 65–79 — quality setup, consider entry
MODERATE 40–64 — mixed signals, wait
WEAK <40 — avoid, confluence collapsed

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ READING THE DASHBOARD PANEL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
snapshot
ENTRY SCORE — composite score 0–100. Header color shifts with tier:
green (PRIME) → cyan (SUSTAINED) → gold (ELITE) → red (WEAK)

Progress bar — 8-block visual bar. Updates every tick.

Score ▲▼— — arrow shows if score is building (▲) or fading (▼).
Useful for timing: enter when score is rising, not when it peaks.

Tier row — current tier label. Upgrades automatically to
◆ SUSTAINED PRIME or ◆◆ ELITE PRIME when streak activates.

COMPONENTS — individual 0–100 scores:
Structure = HTF EMA alignment × candle direction
Proximity = distance from nearest swing pivot level
Session = trading session quality by hour
Momentum = candle body strength (body ÷ total range)
Volatility = ATR vs 50-bar average (filters dead and spiking markets)

HTF Trend — higher timeframe direction. Confirmed bar only, no drift.

Caution — your weakest component. One actionable reason to wait.

Entry — ENTRY WINDOW or WAIT based on your Signal Threshold setting.

Persistence — consecutive PRIME bar counter.
— = no active streak 3 bars = SUSTAINED 6 bars = ELITE

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ RECOMMENDED TIMEFRAMES AND MARKETS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best timeframes: 1H · 4H · Daily
Works on: 5M · 15M · 30M (more signals, lower quality per signal)
Avoid: below 5M

Forex (EURUSD GBPUSD USDJPY) → NY or London session mode
Gold (XAUUSD) → NY session, 1H or 4H
Crypto (BTCUSD ETHUSD) → Crypto 24/7 mode
Indices (SPX NAS DAX) → NY session

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ WEIGHT PRESETS FOR DIFFERENT TRADING STYLES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Weights are fully adjustable. Presets to get you started:

Trend Following (default)
Structure 30 / Proximity 25 / Session 20 / Momentum 15 / Volatility 10

Scalping (5M–15M)
Structure 20 / Proximity 15 / Session 30 / Momentum 25 / Volatility 10

Swing Trading (Daily–Weekly)
Structure 35 / Proximity 30 / Session 5 / Momentum 20 / Volatility 10

Mean Reversion (range markets)
Structure 15 / Proximity 40 / Session 20 / Momentum 15 / Volatility 10

Crypto 24/7
Structure 30 / Proximity 30 / Session 5 / Momentum 20 / Volatility 15

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ ALERTS — 6 CONDITIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. Prime Setup Detected — score enters ≥80
2. Good Setup Forming — score enters 65–79 from below
3. Setup Degraded — score drops from quality zone
4. Weak Setup Warning — score collapses below 40
5. Sustained PRIME (3 bars)— streak hits 3 consecutive PRIME bars
6. Elite PRIME (6 bars) — streak hits 6 consecutive PRIME bars

Set alerts to "Once per bar close" in TradingView settings.
All alerts fire on confirmed closed bars only — no false triggers.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ HOW THE SCORE IS CALCULATED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
snapshot
Score = weighted average of 5 components, normalised to 100%.
Weights are user-configurable and auto-normalised — they do not
need to sum to exactly 100.

1. STRUCTURE (default 30%)
Compares candle direction to HTF EMA(20) direction.
Fully bi-directional: bearish candle in bearish HTF = same score
as bullish candle in bullish HTF.
Aligned: score = 65 + (body ratio × 35), max 100
Misaligned: score = 5 + (body ratio × 25), max 30

2. PROXIMITY (default 25%)
Measures distance from the nearest confirmed pivot high or low
using ta.pivothigh/pivotlow (5-bar lookback) in ATR units.
Score = 100 − (ATR distance × 18), clamped 0–100.
At the level = 97–100. Far from structure = 0–20.

3. SESSION (default 20%)
Hour-by-hour quality score based on New York time.
NY mode: 08:00–11:00 = 100 · 03:00–05:00 = 88 ·
11:00–13:00 = 72 · 13:00–16:00 = 60 ·
dead zones = 25
London and Tokyo modes follow their respective peak hours.
Crypto 24/7 = flat 75 (no session bias).

4. MOMENTUM (default 15%)
Candle body divided by total candle range.
Full-body candle = 100. Doji = 0.
Filters indecisive wick-heavy candles.

5. VOLATILITY (default 10%)
ATR(14) divided by its 50-bar SMA.
Sweet spot 0.7–1.6 = score 100.
Too quiet (< 0.7): score scales down.
Too explosive (> 1.6): score drops sharply.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ NO-REPAINT — HOW IT IS ACHIEVED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Three sources of repaint addressed:

HTF EMA: request.security(..., ta.ema(close,20)[1], lookahead_on)
The [1] reads the EMA of the PREVIOUS confirmed HTF bar.
Locked until the next HTF candle closes. No live-bar drift.

Labels: all signals fire only on barstate.isconfirmed.
Never drawn on an open bar.

Pivots: 5-bar right lookback on confirmed bars only.

Verify: TradingView Replay mode — bar-by-bar playback matches
published chart exactly on any historical period.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ SETTINGS REFERENCE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Higher Timeframe — blank = auto.
Auto logic: 1–5M→30M · 6–15M→1H · 16–60M→4H ·
61–240M→Daily · Daily→Weekly · Weekly→Monthly

Signal Threshold — Entry Window fires above this score. Default 75.
PRIME tier is always fixed at ≥80 regardless of this setting.

Trading Session — NY · London · Tokyo · Crypto 24/7

Component Weights — all five individually adjustable.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
█ RISK DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This indicator is a decision-support tool, not a trading strategy.
No backtested win rate or profit factor is implied or claimed.
Past signals do not guarantee future performance.
Always use a defined stop loss and proper position sizing.
Trading involves risk of loss. Use at your own discretion.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.