Reversal trading guide

Best Trend Reversal Indicator: Spot Market Pivots and Exhaustion

No indicator identifies every trend reversal or the exact turning point in advance. Momentum divergence, confirmed swing breaks, and volatility-based direction changes describe different conditions. Define the existing trend, the event that would invalidate it, and when that event becomes observable. Compare those rules with costs and a separate test period before treating them as a trading system.

View Indicator Details

How to distinguish early divergence from confirmed trend reversals

A divergence can persist while price continues in the original direction. A later structure break may also fail. The stages below are observations that can form a research specification; they are not a mandatory sequence or instructions to enter a position.

PhasePrimary indicatorsChart signatureWhat to verify
Observation: momentum divergenceRSI or MACD with an explicit pivot-matching rulePrice makes higher high; indicator makes lower highWhether both pivots were known at the decision time; divergence alone does not prove exhaustion
Observation: structure breakConfirmed swing highs and lowsPrice fails to make higher high and closes below prior swing lowWhich fixed, already-known pivot was crossed and whether the close confirmed it
Observation: changed direction stateA defined sequence of swings or Supertrend stateA lower low and lower high, or an indicator direction flipThe rule can still reverse again; evaluate entry, exit, and costs separately

Top indicators for detecting trend reversals on TradingView

Traders evaluate different technical tools to capture early reversal alerts and confirm multi-bar trend transitions.

  • Swing pivots: higher highs and higher lows can be used to define an uptrend. The result depends on the pivot rule and scale. A break of one local swing is not a complete implementation of classical Dow Theory or proof of a broader trend change.
  • RSI divergence: a regular bullish pattern pairs a lower price low with a higher RSI low; bearish divergence pairs a higher price high with a lower RSI high. Specify how pivots are matched and confirmed. These relationships do not establish buyer or seller exhaustion.
  • Parabolic SAR: its direction state can flip when price penetrates the calculated level. That state depends on acceleration, extreme-point, and reversal rules. A flip is an observable indicator event, not a guaranteed trend reversal.
  • Volume and range: unusually high reported volume alongside a narrow high-low range can be recorded as a condition. It does not identify institutional absorption or prove a top or bottom. Check whether the feed reports traded volume, tick volume, or missing volume.

Pine Script v6: confirmed pivot-break example

The example records pivots only after their right-hand bars close. With rightBars = 5, a pivot on bar 10 becomes available at the close of bar 15. Breaks are checked against the same level already known before the current bar, before adopting a new pivot, so a level update cannot by itself create a cross. Each stored pivot can trigger once. This detects pivot breaks, not a prior trend, divergence, a complete Dow Theory reversal, or profitable entries. Plots are not shifted into the past, and the code places no orders.

Confirmed pivot-break alerts in Pine Script v6pinescript
//@version=6
indicator("Confirmed Pivot Breaks [Pineify]", overlay=true)

int leftBars = input.int(5, "Left Bars", minval=1, maxval=100)
int rightBars = input.int(5, "Right Bars", minval=1, maxval=100)
float ph = ta.pivothigh(high, leftBars, rightBars)
float pl = ta.pivotlow(low, leftBars, rightBars)

var float lastSwingHigh = na
var float lastSwingLow = na
var bool highBroken = false
var bool lowBroken = false

// Test the level known before this bar. Do not cross a changing series.
float testedHigh = lastSwingHigh
float testedLow = lastSwingLow
bool bullishBreak = barstate.isconfirmed and not highBroken and not na(testedHigh) and close > testedHigh and close[1] <= testedHigh
bool bearishBreak = barstate.isconfirmed and not lowBroken and not na(testedLow) and close < testedLow and close[1] >= testedLow

if barstate.isconfirmed
    if bullishBreak
        highBroken := true
    if bearishBreak
        lowBroken := true
    // Newly confirmed pivots are available for testing from the next bar.
    if not na(ph)
        lastSwingHigh := ph
        highBroken := false
    if not na(pl)
        lastSwingLow := pl
        lowBroken := false

plot(testedHigh, "High tested on this bar", color=color.red, style=plot.style_linebr)
plot(testedLow, "Low tested on this bar", color=color.green, style=plot.style_linebr)
plotshape(bullishBreak, title="Bullish Pivot Break", style=shape.labelup, location=location.belowbar, color=color.green, text="BREAK UP", textcolor=color.white)
plotshape(bearishBreak, title="Bearish Pivot Break", style=shape.labeldown, location=location.abovebar, color=color.red, text="BREAK DOWN", textcolor=color.white)

if bullishBreak
    alert("Confirmed close above pivot " + str.tostring(testedHigh), alert.freq_once_per_bar_close)
if bearishBreak
    alert("Confirmed close below pivot " + str.tostring(testedLow), alert.freq_once_per_bar_close)

Risk management rules for trading trend reversals

A reversal hypothesis does not imply superior reward relative to risk. Define the entry and exit together, then compare realized outcomes after costs. Waiting for confirmation can delay entry; entering earlier can expose you to continuation of the old trend.

  • Invalidation: a swing-based or ATR-based stop is a rule to test, not protection from every adverse move. State its price units, activation time, and rounding; gaps or execution delays can exceed the planned loss.
  • Retest alternative: define what qualifies as a retest and when it expires. Waiting can improve a hypothetical entry price but miss trades or enter a failing break; the tradeoff needs testing.
  • Partial exits: compare them with a single-exit rule using the same trades. Taking some profit does not make the remaining position risk-free. Include fees, size rounding, and stop fills in the calculation.
Where Pineify fits

Pineify® - Signals & Overlays™

Review Pineify’s indicator features and current access terms. This page does not establish institutional precision, reversal accuracy, or a measured performance advantage.

Also useful: Pine Script AI Coding Agent. Build custom reversal strategies with RSI divergence, volume climax rules, and trailing stop protection in Pine Script v6.

View Indicator Details

Frequently asked questions

Educational content only, not financial or investment advice. A pivot break or divergence can fail and does not establish profitable execution. Evaluate rules, costs, and confirmation delays before using signals.

Sources and verification