PINE LIBRARY

Pattern

Library "Pattern"

Pattern object definitions and functions. Easily draw and keep track of patterns, legs, and points.

Supported pattern types (as of Version 1):
Type             Leg validation         # legs
"xabcd"         Direction                3 or 4 (point D not required)
"zigzag"         Direction                >= 2
"free"            None                      >= 2

erase_label(this)
  Delete the point label
  Parameters:
    this: Point
  Returns: Void

draw_label(this, position, clr, transp, txt_clr, txt, tooltip, size)
  Draw the point label
  Parameters:
    this: Point
    position
    clr
    transp
    txt_clr
    txt
    tooltip
    size
  Returns: line

leg_init(a, b, prev, next, line)
  Initialize a pattern leg
  Parameters:
    a: Point A (required)
    b: Point B (required)
    prev: Previous leg
    next: Next leg
    line: Line
  Returns: New instance of leg object

erase(this)
  Delete the pattern leg
  Parameters:
    this: Leg
  Returns: Void

erase(this)
  Parameters:
    this

draw(this, clr, style, transp, width)
  Draw the pattern leg
  Parameters:
    this: Leg
    clr: Color
    style: Style ("solid", "dotted", "dashed", "arrowleft", "arrowright")
    transp: Transparency
    width: Width
  Returns: line

draw(this, clr, style, transp, width)
  Parameters:
    this
    clr
    style
    transp
    width

leg_getLineTerms(this)
  Get the slope and y-intercept of a leg
  Parameters:
    this: Leg
  Returns: [slope, y-intercept]

leg_getPrice(this, index)
  Get the price (Y) at a given bar index (X) within the leg
  Parameters:
    this: Leg
    index: Bar index
  Returns: Price (float)

pattern_init(legs, tp, name, subType, pid)
  Initialize a pattern object from a given set of legs
  Parameters:
    legs: Array of pattern legs (required)
    tp: Pattern type ("zigzag", "xabcd", or "free". dft = "free")
    name: Pattern name
    subType: Pattern subtype
    pid: Pattern Identifier string
  Returns: New instance of pattern object, if one was successfully created

pattern_init(points, tp, name, subType, pid)
  Initialize a pattern object from a given set of points
  Parameters:
    points
    tp: Pattern type ("zigzag", "xabcd", or "free". dft = "free")
    name: Pattern name
    subType: Pattern subtype
    pid: Pattern Identifier string
  Returns: New instance of pattern object, if one was successfully created

point
  A point on the chart (x,y)
  Fields:
    x: Bar index (x coordinate)
    y
    label

leg
  A pattern leg (point A to point B)
  Fields:
    a: Point A
    b
    deltaX
    deltaY
    prev
    next
    retrace
    line

pattern
  A pattern (set of at least 2 connected legs)
  Fields:
    legs
    type
    subType
    name
    pid
displayMarket Geometry

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.


Also on:

Disclaimer