What The NoRepaint Pivot Indicator Does
Identifies validated swing highs and lows that will not repaint, disappear, or shift after the fact. Every pivot is confirmed using a “future bar confirmation” algorithm — once printed, it’s final. Designed for daytraders who need reliable structure levels.
Swing Highs (Resistance)
Local maximum where price made a high, pulled back, and never exceeded that high for N bars. Serves as resistance / potential reversal zone.
Swing Lows (Support)
Local minimum where price made a low, rallied, and never broke below for N bars. Acts as support / bounce zone.
No Repaint Guarantee
Pivots only appear after confirmation threshold (e.g., 3 bars to the right). No backpainting, no recalc. Your entry levels remain static.
Stop Hunting with Integrity
Many indicators repaint — they show a pivot and then erase it when price moves. That leads to fake signals and losing trades. NoRepaint pivots stay fixed, so you can place stops and targets with confidence.
Structural Breakouts
Break of a confirmed pivot high signals trend continuation. Failure to break signals potential reversal. NoRepaint pivots give you objective levels without hindsight bias.
Divergence & Confluence
Because pivots are reliable, you can overlay momentum oscillators (RSI, MACD) to spot hidden/regular divergences. The indicator itself can also plot divergence automatically.
How The Indicator Generates Pivots
A multi-stage rule-based system: raw price → lookback/forward confirmation → persistence filtering → final pivot print. The core is the “fractal” logic with a required number of confirming bars on each side.
Stage 1 — Raw Fractal Pattern
A classic pivot requires that a bar’s high is strictly greater than the highs of leftBars before it and rightBars after it (for swing high). For swing low, the low must be lower than surrounding lows.
Default parameters: leftBars = 2, rightBars = 2. That means a pivot needs two lower highs on each side. Increase to 3 or 4 for higher timeframe significance.
Stage 2 — NoRepaint Mechanism (The Core Innovation)
Instead of printing the pivot on the bar that would later be confirmed (which would repaint), the indicator prints only when the right-side confirmation bars have closed. For real-time trading, the pivot label appears with a delay of rightBars bars — but it never moves.
Delay vs. Repaint: Yes, the pivot appears up to rightBars bars later. But it never changes. That trade‑off is acceptable for professional traders who value static levels over recalc chaos.
Interpreting Pivot Labels & Arrows
Each pivot is displayed with a triangle (▲ for swing high, ▼ for swing low) and optional text label. The color indicates strength: green = bullish context, red = bearish context, blue = neutral.
Price breaks above a confirmed swing high with momentum → trend continuation. Alternatively, price rejects a swing low (bounce) → long entry.
Price breaks below a swing low → continuation short. Price rejects a swing high → short entry.
False breakouts: A pivot high is not automatically a resistance. Wait for a full candle close above it for breakout longs. The pivot level becomes support after breakout. Same for swing lows.
Why Pivots Never Repaint
Most "pivot" indicators redraw in real‑time because they use future data without locking the signal. Our algorithm uses a forward‑only confirmation window — the pivot is calculated on a bar that is already closed and has enough subsequent bars to validate it.
Verification test: Run the indicator on historical data and refresh the chart multiple times. Pivots never shift. If you see a pivot disappear or move, it’s a repainting indicator — ours passes the static test.
📌 Right‑Bars Parameter
Sets how many bars after a potential pivot must close to confirm. Default 2. Higher value = later signal but stronger confirmation.
⏳ Delay vs. Reactivity
For 1‑minute charts, a 2‑bar delay is acceptable (2 minutes). For 5‑minute charts, 10 minutes. Adjust rightBars to balance latency and reliability.
🧠 No Lookahead Bias
Script never accesses high[-1] or low[-1] for plotting. It only uses historical data at the time of bar close.
Using Pivots for Entries, Stops & Targets
NoRepaint pivots become your anchor. Enter on breaks, place stops behind the pivot, and target the next pivot in the direction of the trend.
- Price breaks above a confirmed swing high with a full candle close
- Optional: Retest of the swing high as new support (pullback entry)
- Stop loss placed below the most recent swing low (or below the broken pivot)
- Target 1: next swing high (previous resistance)
- Target 2: measure projected move using average pivot range
- Price breaks below a confirmed swing low with a full candle close
- Retest of the swing low as new resistance (pullback entry)
- Stop loss placed above the most recent swing high
- Target 1: next swing low
- Target 2: measured move extension
Avoid “pivot fading” without confirmation: Do not short right at a swing high unless you see a reversal candle (engulfing, pin bar). The pivot is a structure level, not a limit order.
Pivot Strength & Multi‑Timeframe Alignment
The indicator can calculate a “pivot score” based on: number of touches, volume at pivot, distance to moving averages, and higher timeframe alignment.
| Factor | Points | Description |
|---|---|---|
| Pivot age (bars ago) | +5 to +15 | Older pivots that held multiple times get higher weight |
| Volume spike at pivot | +10 | High volume at the pivot suggests institutional interest |
| HTF pivot alignment | +20 | If the 15min pivot aligns with a 1hr pivot → strong confluence |
| Breakout candle strength | +10 | Close beyond pivot by ≥ 0.5 ATR adds conviction |
Score interpretation: Score ≥ 30 = tradable setup. ≥ 50 = high confidence. Use score to adjust position sizing.
Step‑by‑Step Trading Routine
A systematic workflow for daytrading with NoRepaint pivots, from pre‑market to exit.
Identify Key Pivot Levels
Mark the last 3–4 swing highs and lows on your trading timeframe. These are your battle lines.
Wait for Break or Rejection
Do not anticipate. Let price reach a pivot and react. A break = trend trade; a rejection = mean reversion trade.
Confirm with Candle Close
For breakout trades: wait for a full bar close beyond the pivot. For rejection: wait for a close back inside the range.
Set Stop & Target
Stop = opposite side of the pivot zone (e.g., 2–3 ticks beyond the high/low). Target = next pivot level + trailing once in profit.
Manage & Trail
Once price moves past the first target, move stop to break-even. Then trail behind each new pivot formed in your direction.
Use 1h or 4h pivots to determine trend direction. Only take long setups if price is above the most recent higher timeframe swing low.
Scalping (1m chart): rightBars=1 or 2. Daytrading (5m/15m): rightBars=2 or 3. Swing: rightBars=4–5.
| Parameter | Default | Effect on NoRepaint |
|---|---|---|
leftBars | 2 | How many bars left of pivot must be lower/higher |
rightBars | 2 | How many future bars confirm pivot — directly controls repaint delay |
minPivotDistance | 0 (ATR-based) | Optional minimum price movement between pivots to filter noise |