threeDiverPattern

The Three Diver Pattern is a multi-swing formation that uses seven points to map out three consecutive “divergence-like” moves. It’s a more complex geometric structure compared to ABCD or Triangle, and traders use it to identify exhaustion after multiple legs and potential reversal zones.

Syntax

threeDiverPattern(point1, point2, point3, point4, point5, point6, point7, styles?)

Parameters

point1 (PricedData) · First anchor, the start of the pattern. point2 (PricedData) · Second anchor, ending the first leg. point3 (PricedData) · Third anchor, next turning point. point4 (PricedData) · Fourth anchor, continuing the structure. point5 (PricedData) · Fifth anchor, next leg pivot. point6 (PricedData) · Sixth anchor, forming the last small swing. point7 (PricedData) · Seventh anchor, completion of the pattern. styles (ThreeDiverPatternStyleOverrides) · Visual settings:

  • fillBackground (boolean) · Fill the inside of the shape.

  • transparency (number) · Transparency of the fill (0–100).

  • showLabels (boolean) · Display labels on each swing point.

  • line (LinesLevels without coeff) · Line style for connectors (linestyle, linewidth, color).

  • background (RGBAColor | BaseColors) · Fill color for the body of the pattern.

Return Value

(string) · The drawing ID of the created Three Diver Pattern.

Example

Every 90 candles, draw a Three Diver pattern connecting seven pivots.

//@version=1
init = () => {
  indicator({ onMainPanel: true, format: 'inherit' });
};

onTick = () => {
  if (index % 90 === 0) { // draw every 90 bars
    // 1) Define seven anchors
    const P1 = newPoint(time(140), low(140));
    const P2 = newPoint(time(120), high(120));
    const P3 = newPoint(time(100), low(100));
    const P4 = newPoint(time(80),  high(80));
    const P5 = newPoint(time(60),  low(60));
    const P6 = newPoint(time(40),  high(40));
    const P7 = newPoint(time(20),  low(20));

    // 2) Style options
    const style = {
      fillBackground: true,
      transparency: 75,
      showLabels: true,
      line: { linestyle: 0, linewidth: 2, color: color.purple },
      background: color.rgba(128, 0, 128, 0.2)
    };

    // 3) Draw the pattern
    threeDiverPattern(P1, P2, P3, P4, P5, P6, P7, style);
  }
};

Tips

  • This pattern reflects market exhaustion after multiple swings — use it as a reversal signal rather than continuation.

  • Look for confluence with oscillators (RSI divergence, MACD slowdown) at point 7.

  • Works best on longer timeframes where the swings are clearer.

Warning

  • Don’t confuse this with simpler 3-point divergence signals — the Three Diver Pattern requires seven pivots.

Good Practice

  • Keep consistent coloring so you can distinguish this larger pattern from simpler harmonic ones on your chart.

  • Use together with support/resistance zones to validate the reversal area.

Last updated