OPEN-SOURCE SCRIPT

Cup & Handle (Zeiierman)

13 738
Overview
Cup & Handle (Zeiierman) is a classic continuation-pattern scanner that detects both bullish Cup+Handle and bearish Inverted Cup+Handle structures using a compact pivot stream. It’s designed to highlight rounded reversals back to a “rim” level, followed by a smaller pullback (“handle”) before a potential continuation move.
snapshot
What It Detects
A Cup & Handle (Bull) forms when price makes a rounded decline from a left rim, bottoms, then climbs back to a similar right rim. After returning to the rim, price forms a handle (a smaller pullback) that stays within an allowed retracement range. This pattern often precedes a bullish continuation attempt.
snapshot
An Inverted Cup & Handle (Bear) is the mirrored version. Price makes a rounded rise to a left rim, tops, then declines back to a similar right rim. After returning to that rim, price forms a handle (a smaller bounce) that stays within the allowed retracement range. This pattern often precedes a bearish continuation attempt.
snapshot
How It Works

1) Pivot Extraction (Swing Compression)
The script first converts raw candles into a small set of meaningful swing pivots using ta.pivothigh() and ta.pivotlow() with Pivot span. A pivot is accepted only after it is confirmed by the lookback window, which helps reduce noise.

Key effect:
  • Higher Pivot span = fewer, stronger pivots (cleaner patterns)
  • Lower Pivot span = more pivots (more patterns, more noise)

2) Pattern Framing (4-Point Structure)
When at least four pivots exist, the script maps them into a fixed sequence:

For a bull Cup+Handle sequence: High → Low → High → Low

These are treated as:
  • L = left rim pivot
  • B = cup bottom pivot
  • R = right rim pivot
  • H = handle pivot

For a bear inverted Cup+Handle sequence: Low → High → Low → High
  • Mapped similarly, but inverted.

This “4-pivot” structure is the minimum shape needed to define a cup and a handle without overfitting.

3) Rim Similarity Filter (Cup Quality Control)
The script checks if the left rim and right rim are close enough to be considered a proper cup rim:

Rim similarity tolerance (%) controls this.
  • Lower tolerance = only very clean symmetric rims
  • Higher tolerance = allows uneven rims (more detections)


4) Handle Depth Filter (Reject Weak or Messy Handles)
The handle is validated by measuring how deep it retraces relative to the cup depth:

Handle Retraction = |rim − handle| / |rim − bottom|

The handle must fall between:
  • Handle retrace min
  • Handle retrace max

This prevents:
  • tiny “non-handle” wiggles (too shallow)
  • deep pullbacks that break the structure (too deep)

How to Use

Interpreting a Bull Cup & Handle
Treat it like a continuation setup built around a key breakout level:
  • Cup forms
  • Handle forms
  • Breakout happens above this level

Once price returns to this breakout zone and the handle stays controlled, the structure may attempt to continue upward.

Common behaviors after a clean signal:
  1. Push above the breakout level
  2. Brief retest/acceptance near the breakout zone
  3. Continuation toward the projected target if momentum holds

snapshot
Interpreting a Bear Inverted Cup & Handle
Treat it like a bearish continuation/rollover setup built around the same breakout concept:
  • Cup forms (inverted)
  • Handle forms
  • Breakout happens below this level

Once price returns to this breakout zone and the handle stays controlled, the structure may attempt to continue downward.

Common behaviors after a clean signal:
  1. Drop below the breakout level
  2. Retest from underneath
  3. Continuation toward the projected target if selling pressure persists

snapshot

Settings
  • Pivot span – pivot sensitivity. Higher = smoother pivots, fewer signals. Lower = more pivots, more signals/noise.
  • Rim similarity tolerance (%) – rim quality filter. Lower = stricter symmetry, higher = more permissive detection.
  • Handle retrace min – minimum handle depth (filters weak handles).
  • Handle retrace max – maximum handle depth (filters messy/deep handles).
  • Invalidation (handle max retrace %) – “maximum tolerated damage” for handle move before the structure is considered broken.
  • Require breakout confirmation – only trigger when price closes beyond the rim in the expected direction.
  • Target multiplier (× cup depth) – scales how far the projection target is. Lower = closer targets; 1.0 = classic depth target.


-----------------
Disclaimer

The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.

All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.

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.