Fibonacci retracement projects horizontal levels between a swing high and swing low using Fibonacci ratios — identifying where price is likely to pause, find support, or reverse during a pullback before the prior trend resumes.
Section 1: Core Mechanics
What Is It?
Fibonacci retracement is a drawing tool, not a calculated indicator. You place two points on a chart — a swing low and a swing high (in an uptrend) — and the tool automatically plots horizontal levels at key Fibonacci ratios between those two extremes. These levels predict where price may pause or reverse as it pulls back from the swing high before continuing the trend.
Core Formula
The retracement level price for an uptrend is:
Where is the Fibonacci percentage (expressed as a decimal):
For a downtrend, draw from swing HIGH to swing LOW. The tool inverts: retracement levels measure bounces up from the low.
Where the Ratios Come From
The Fibonacci sequence: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89…
Each number divided by the next converges to 0.618 (the golden ratio ). The other ratios derive from :
The 50% level is not a true Fibonacci ratio but is universally included because it aligns with the Dow Theory concept of a 50% retracement and is widely watched.
Inputs
- Point A: Swing low (starting point in an uptrend)
- Point B: Swing high (ending point in an uptrend)
- Price source: High and low of the identified swing bars
Parameters
| Parameter | Default | Range | Impact |
|---|---|---|---|
| Retracement levels | 23.6, 38.2, 50, 61.8, 78.6% | Customizable | Standard set is universal — do not remove 61.8% |
| Swing selection | Manual | N/A | Consistent methodology matters — always use the same bar definition for swings |
| Extension levels | Optional | 127.2, 161.8% | Adds profit target zones (covered in Lesson 36) |
Output
Five to six horizontal price levels between the swing high and swing low. Each level shows the price value and the Fibonacci percentage. The 61.8% level is always the most significant.
Visual Behavior
In an uptrend, levels appear between the swing low (0%) and swing high (100%). Pullbacks descend toward these levels. Shallow pullbacks stop at 23.6% or 38.2%. Normal pullbacks hold at 38.2% or 50%. Deep pullbacks test 61.8%. A close below 78.6% often means the prior swing is not the structural low.
Section 2: Interpretation & Signals
Signal Zones
| Level | Interpretation | Trade Implication |
|---|---|---|
| 23.6% | Shallow pullback — trend very strong | Enter aggressive continuation only with strong trend |
| 38.2% | Normal pullback — healthy trend | First entry zone in strong uptrend |
| 50.0% | Mid-range pullback — trend uncertain | Entry zone with confirmation candle |
| 61.8% | Deep pullback — golden ratio | Highest-probability reversal zone — primary entry level |
| 78.6% | Extreme pullback — trend weakening | Last-chance entry — close below = prior swing likely fails |
The 61.8% Level — "The Last Line of Defense"
The 61.8% retracement is the most significant level in Fibonacci analysis. It is the level where:
- The corrective move has consumed the maximum amount of the prior impulse without invalidating it
- Institutional buyers who missed the original move often initiate positions
- Stop-losses for traders who entered at the swing high are clustered just below
A bounce at 61.8% with a confirmation candle (hammer, bullish engulfing) and volume is the highest-probability Fibonacci entry signal.
Divergence Confirmation
When price makes a lower low while RSI makes a higher low (bullish divergence) at the 61.8% retracement, the combination is a high-probability reversal signal. The 61.8% defines the price zone; RSI divergence confirms momentum is shifting.
Chart — 61.8% Retracement Entry
SPY — Fibonacci Retracement: 61.8% Entry in Uptrend
Section 3: Pass vs. Live — Real-Time Reliability
Fibonacci levels never repaint because they are anchored to manually chosen swing points. The only "repaint" issue is behavioral: if you redraw the tool to a new swing whenever price fails a level, you are not using Fibonacci analysis — you are finding levels that fit the move after it happens. Commit to your swing points before price reaches the retracement zone.
Section 4: Practical Use Cases
Setup: Draw Fibonacci on the prior 2–4 hour swing move on 15m chart Signal: Price reaches 38.2% or 61.8% retracement with a 5-minute hammer candle Entry: Break above the hammer high, one tick above Stop: Below the 78.6% level Key Rule: Only enter when price is above the 1H VWAP (session bias confirmation)
Setup: Draw on major daily swing (2–6 week move), watch daily 61.8% level Signal: Daily candle closes above 61.8% after touching it — hammer or bullish engulfing Entry: Next daily open Stop: Daily close below 78.6% (approximately 1.5–2% below entry) Target: Prior swing high (100% level) and then extension levels
Setup: Draw on major weekly swing (3–12 month trend move) Signal: Weekly candle bounces at 38.2% or 50% in a strong secular uptrend Entry: Weekly close above 38.2% after testing it Stop: Weekly close below 61.8% Target: 161.8% extension of the prior swing (Lesson 36 extension tool)
Real-world example — SPY 2022 bear market rallies: Every significant bear market rally in SPY from January to October 2022 stalled at predictable Fibonacci retracement levels. The March-April 2022 rally retraced 38.2% of the initial January-March decline, stalling at $455 before resuming lower. The May-August 2022 rally retraced 61.8% of the February-June decline, capping at $431 before the final leg to the October $362 low. Traders who shorted the 38.2% and 61.8% retracements with confirmation candles captured the majority of the bear-market decline with defined risk above the retracement levels.
Section 5: Pseudo Code
INPUT: swing_low, swing_high, trend="up", levels=[0.236, 0.382, 0.500, 0.618, 0.786]
PROCESS:
Step 1: Calculate the full swing range
range = swing_high - swing_low
Step 2: Calculate retracement prices
if trend == "up":
# Pullback FROM swing high TOWARD swing low
retracement_price[level] = swing_high - (range * level)
elif trend == "down":
# Bounce FROM swing low TOWARD swing high
retracement_price[level] = swing_low + (range * level)
Step 3: Identify current price position
for each level in levels:
if abs(current_price - retracement_price[level]) / range < 0.01:
status[level] = "AT_LEVEL" # within 1% of range = at the level
elif current_price > retracement_price[level]:
status[level] = "ABOVE"
else:
status[level] = "BELOW"
Step 4: Identify key zone
nearest_level = min(levels, key=lambda l: abs(current_price - retracement_price[l]))
key_level = retracement_price[0.618] # golden ratio always tracked separately
OUTPUT: {retracement_prices, status, nearest_level, key_level_618}
EDGE CASES:
- swing_high == swing_low: zero range — return error, cannot calculate retracement
- current_price outside [swing_low, swing_high]: price has broken the structure — flag as invalidated
- Multiple valid swings: always use the most recent major swing for active trading
Section 6: Parameters & Optimization
Standard Level Conventions
| Level | Fibonacci Source | Significance | Notes |
|---|---|---|---|
| 23.6% | F(n)/F(n+3) convergence | Shallow — strong trend only | Often skipped in entry strategies |
| 38.2% | 1 - 0.618 | Primary entry in strong trend | First pullback target in impulsive moves |
| 50.0% | Dow Theory midpoint | Moderate significance | Not a true Fibonacci ratio but widely used |
| 61.8% | Golden ratio reciprocal | Most significant | "Last line of defense" for the trend |
| 78.6% | Square root of 0.618 | Deep — trend weakening | Entry only with strong confirmation |
Parameter Impact
| Change | Effect | When to Apply |
|---|---|---|
| Add 88.6% level | Catches deeper corrections in strong trends | High-volatility instruments, crypto |
| Remove 23.6% level | Reduces noise on choppy charts | Use when trend is not strongly established |
| Use high/low vs. close | High/low = wider zone, close = tighter | High/low for forex; close for equities |
Why does the 61.8% level work so consistently?
The 61.8% retracement corresponds to the golden ratio — the proportion found throughout natural systems. In markets, the 61.8% retracement of a move represents the mathematical midpoint of the original momentum in Elliott Wave terms (wave 4 correction in a 5-wave structure). Institutional algorithmic systems are programmed with Fibonacci levels; orders cluster there. The self-reinforcing mechanism amplifies the natural mathematical tendency.
How do I pick the "right" swing points?
Use the most recent significant swing that defines the current trend context. "Significant" means: (1) the swing created a new high/low for the relevant timeframe, and (2) price moved at least 3–5% from the swing before reversing. Avoid using small intrabar pullbacks as swings — these create cluttered Fibonacci grids. On daily charts, swings should represent multi-day moves (at minimum 5 bars).
What happens when price is between two Fibonacci levels?
Price between levels is in "neutral" territory — no specific bias from Fibonacci alone. Wait for price to approach a level within 0.5% before forming a trade thesis. Between levels, use other indicators (VWAP, pivots, moving averages) for directional bias. Fibonacci only adds value at or near the defined levels.
Section 7: Synergies & Conflicts
| Works Well With | Avoid Combining With | |
|---|---|---|
| Volume Profile | High-volume node at 61.8% level = strongest possible Fibonacci confirmation | — |
| RSI Divergence | Bullish RSI divergence at 61.8% = timing signal within the Fibonacci zone | — |
| Pivot Points | Weekly pivot S1 at 61.8% retracement = confluence — highest-probability setup | — |
| Moving Averages | SMA(50) or SMA(200) coinciding with 61.8% retracement = dynamic + static confluence | — |
| Multiple Fibonacci grids | — | More than two active grids creates 10–15 overlapping levels — uninterpretable |
| Fibonacci extensions simultaneously | — | Keep retracement (entries) and extension (exits) mentally separate to avoid confusion |
| Oscillators in ranging markets | — | Fibonacci retracement requires a clear trend with identifiable swing — oscillators in ranges give contradictory signals |
Section 8: Common Mistakes
| Mistake | Root Cause | Solution |
|---|---|---|
| Entering on level touch, no confirmation | Assuming level = entry automatically | Wait for candle close + volume before entering |
| Redrawing swings after price fails | Curve-fitting — finding the level that fits | Commit to swing points before price reaches the zone |
| Using retracement as target (not entry) | Confusing retracement with extension | Retracement = entry zone. Extension = profit target. They are separate tools. |
| Ignoring trend context | Drawing Fibonacci on every swing | Only apply Fibonacci in the direction of the established trend — skip counter-trend retracements |
| Not placing stop below next level | Stop too tight — noise triggers it | Stop goes below the next Fibonacci level (38.2% entry → stop below 61.8%, minimum) |
Section 9: Cheat Sheet
USE WHEN: Clear trend with an identifiable swing high-to-low, price pulling back toward prior swing
AVOID WHEN: Range-bound market without clear swing structure, approaching major news event
ENTRY SIGNAL: Candle closes above retracement level (38.2%, 50%, or 61.8%) after touching it with volume
EXIT SIGNAL: Prior swing high (for longs) — or use Fibonacci extension levels (Lesson 36) for targets
PARAMETERS: Standard set: 23.6%, 38.2%, 50%, 61.8%, 78.6% — do not remove the 61.8%
CONFLUENCE: Volume node OR pivot level OR moving average at the same Fibonacci level = high conviction
RISK: Single level alone = 40–55% win rate. Confluence of 2+ factors = 65–75% win rate.
BEST TIMEFRAME: Daily and 4H charts — swing trading setups. Works on all timeframes with trend.