Fibonacci Retracement Trading Signals - TradingView Guide
Fibonacci retracement trading signals for TradingView. Key level bounces, extensions, and confluence signals with Pine Script code and real ES and NQ examples.
Fibonacci Retracement Signal Interpretation
Quick-reference guide to 6 signal types you will see on the chart.
| Signal Type | Indicator Condition | Market Meaning | Reliability |
|---|---|---|---|
| 38.2% Bounce → Buy/Sell | Price retraces to the 38.2% level and forms a bullish or bearish candlestick pattern (hammer, engulfing) | First Fibonacci support in a pullback. Strongest in fast trends where shallow retracements are common. Early entry with tight stop. | 3/5 |
| 50% Retracement Reversal | Price touches the 50% midpoint level and reverses with volume confirmation | Not a pure Fibonacci level but respected by many traders as a key pivot zone. Combines harmonic retracement with psychological round-number behavior. | 4/5 |
| 61.8% Golden Zone Bounce → Trend Continuation | Price hits the 61.8% level and produces a reversal candle with above-average volume | The golden ratio level. Deep retracements that stop at 61.8% signal the trend is still intact. My highest-confidence setup on NQ intraday charts. | 4/5 |
| 161.8% Extension → Trend Exhaustion | Price reaches the 161.8% extension level of the prior swing with bearish divergence on RSI | Extended move targets. Price often reverses or consolidates at this level. Best used as profit target, not a reversal entry. | 3/5 |
| Level Cluster Confluence | Two or more Fibonacci levels from different swing swings align within a 5-point range on ES or 10-tick range on NQ | Confluence of multiple Fib levels creates a high-probability support or resistance zone. Multiple timeframe Fib levels reinforce each other. | 5/5 |
| 78.6% Deep Retracement Breakdown | Price breaks below the 78.6% level on increased volume after a measured move | Deep retracement that invalidates the original impulse. Signals potential trend change or at least a broader consolidation phase. | 4/5 |
Fibonacci Retracement Pine Script Signal Code
Ready-to-use Pine Script code for generating buy/sell signals. Copy and paste into your TradingView Pine Editor.
//@version=5
indicator("Fibonacci Retracement Signals", overlay=true)
// Inputs
swingHighLeft = input.int(20, "Swing High Left Bars", minval=5, maxval=100)
swingHighRight = input.int(10, "Swing High Right Bars", minval=1, maxval=50)
swingLowLeft = input.int(20, "Swing Low Left Bars", minval=5, maxval=100)
swingLowRight = input.int(10, "Swing Low Right Bars", minval=1, maxval=50)
showExtensions = input.bool(true, "Show 161.8% / 261.8% Extensions")
fibColor = input.color(color.gray, "Fibonacci Level Color")
showLabels = input.bool(true, "Show Percentage Labels")
// Swing detection
isSwingHigh = high == ta.highest(high, swingHighLeft * 2 + 1) and high[swingHighLeft] == ta.highest(high, swingHighLeft * 2 + 1)
isSwingLow = low == ta.lowest(low, swingLowLeft * 2 + 1) and low[swingLowLeft] == ta.lowest(low, swingLowLeft * 2 + 1)
// Level variables
var float fibStart = na
var float fibEnd = na
var int fibDirection = 0 // 1 = uptrend, -1 = downtrend
// Detect new swing and set Fib range
if isSwingHigh and fibDirection != -1
fibStart := high[swingHighLeft]
fibDirection := 1
if isSwingLow and fibDirection != 1
fibEnd := low[swingLowLeft]
fibDirection := -1
// Retracement levels
fib236 = fibStart - (fibStart - fibEnd) * 0.236
fib382 = fibStart - (fibStart - fibEnd) * 0.382
fib500 = fibStart - (fibStart - fibEnd) * 0.5
fib618 = fibStart - (fibStart - fibEnd) * 0.618
fib786 = fibStart - (fibStart - fibEnd) * 0.786
// Extension levels
fib1618 = fibStart + (fibEnd - fibStart) * 1.618
fib2618 = fibStart + (fibEnd - fibStart) * 2.618
// Signal conditions
goldenZoneTouch = na(fib618) ? false : math.abs(close - fib618) / ta.syminfo.mintick < 10
deepTouch = na(fib786) ? false : math.abs(close - fib786) / ta.syminfo.mintick < 10
extensionTouch = na(fib1618) ? false : math.abs(close - fib1618) / ta.syminfo.mintick < 10
buySignal = goldenZoneTouch and close > open // Bullish bounce at 61.8%
sellSignal = goldenZoneTouch and close < open // Bearish bounce at 61.8%
// Plot levels
plot(fib236, "23.6%", fibColor, line.style_dashed)
plot(fib382, "38.2%", fibColor, line.style_dotted)
plot(fib500, "50%", color.new(fibColor, 40), line.style_solid)
plot(fib618, "61.8%", color.new(#FF6D00, 20), line.style_solid)
plot(fib786, "78.6%", fibColor, line.style_dashed)
plot(showExtensions and fib1618, "161.8%", color.new(#FF5252, 30), line.style_dotted)
plot(showExtensions and fib2618, "261.8%", color.new(#FF5252, 50), line.style_dotted)
// Labels
if showLabels and goldenZoneTouch
label.new(bar_index, fib618, "61.8%", style=label.style_label_down, color=color.new(#FF6D00, 40), textcolor=color.white, size=size.tiny)
// Entry signals
plotshape(buySignal, "Buy at 61.8%", shape.triangleup, location.abovebar, color=#4CAF50, size=size.small)
plotshape(sellSignal, "Sell at 61.8%", shape.triangledown, location.belowbar, color=#FF5252, size=size.small)
// Alerts
alertcondition(buySignal, "61.8% Buy", "Price bounced at the 61.8% Fibonacci level")
alertcondition(sellSignal, "61.8% Sell", "Price rejected at the 61.8% Fibonacci level")
alertcondition(deepTouch, "78.6% Deep Touch", "Price reached the 78.6% deep retracement level")Recommended Parameters for Fibonacci Retracement
Parameter settings tested across different market conditions and timeframes.
| Parameter | Default | Description |
|---|---|---|
| Swing High Left Bars | 20 | Number of bars to look left for swing high detection. Lower values (10-15) catch more swing points on 5m NQ. Higher values (30-50) work better on daily ES charts. |
| Swing High/Low Right Bars | 10 | Number of bars to confirm the swing on the right side. Tighter values (5-7) create more Fib levels but increase false signals. |
| Show Extensions | true | Toggles the 161.8% and 261.8% extension levels. I keep this on for ES daily charts to map profit targets beyond the measured move. |
Fibonacci Retracement + Pineify Invite-Only: Better Together
Fibonacci Retracement alone gives you one signal type. Pineify invite-only indicator combines Fibonacci Retracement with RSI divergences, MACD confirmation, and Supertrend filters in one overlay. Fewer charts, clearer signals.
Instead of switching between 6 different signals on separate charts, you get a single multi-confirmation setup.
See the Invite-Only IndicatorFAQ
Fibonacci Retracement Signals FAQ
Stop juggling Fibonacci Retracement with 4 other charts
Pineify combines Fibonacci Retracement, RSI, MACD, and Supertrend into one invite-only indicator. One click setup.
Try Pineify Free