robbatt

lib_priceaction

robbatt Updated   
Library "lib_priceaction"
a library for everything related to price action, starting off with displacements

displacement(len, min_strength, o, c)
  calculate if there is a displacement and how strong it is
  Parameters:
    len (int): The amount of candles to consider for the deviation
    min_strength (float): The minimum displacement strength to trigger a signal
    o (float): The source series on which calculations are based
    c (float): The source series on which calculations are based
  Returns: a tuple of (bool signal, float displacement_strength)
Release Notes:
v2 tweaked formula

Updated:
displacement(len, min_strength, o, c)
  calculate if there is a displacement and how strong it is
  Parameters:
    len (int): The amount of candles to consider for the deviation
    min_strength (float): The minimum displacement strength to trigger a signal
    o (float): The source series on which calculations are based
    c (float): The source series on which calculations are based
  Returns: a tuple of (bool signal, float displacement_strength)
Release Notes:
v3, removed rounding
Release Notes:
v4
Release Notes:
v5 added functions to calculate retracement ratio AND target price for given ratio

Added:
retracement_ratio(price_start, price_end, price_retracement)
  calculate a ratio how far a price has retraced compared to a move between two reference levels
  Parameters:
    price_start (float): The start price level of the reference move
    price_end (float): The end price level of the reference move
    price_retracement (float): The retraced price level
  Returns: the retracement ratio (float, always positive) or na if one of the inputs was na

target_ratio_price(price_start, price_end, target_ratio)
  calculate a ratio how far a price has retraced compared to a move between two reference levels
  Parameters:
    price_start (float): The start price level of the reference move
    price_end (float): The end price level of the reference move
    target_ratio (float): The target retracement ratio (must be positive)
  Returns: the retracement target ratio price level (float) or na if one of the inputs was na
Release Notes:
v6

Added:
in_range(x, a, b)
  check if a price is in a certain range, e.g. to check if price reached a target zone
  Parameters:
    x (float): the price variable
    a (float): one range limit (sign agnostic)
    b (float): other range limit (sign agnostic)
  Returns: true if x is between a and b (inclusive)

range_overlap(a1, b1, a2, b2)
  check if two price ranges overlap, e.g. to check if a target is price is possible that fits both target zones
  Parameters:
    a1 (float): one limit of range 1
    b1 (float): other limit of range 1
    a2 (float): one limit of range 2
    b2 (float): other limit of range 2
  Returns: true if x is between a and b (inclusive
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.

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.

Want to use this library?

Copy the following line and paste it in your script.