TradingView
robbatt
29 de Jun de 2023 12:17

lib_priceaction 

British Pound vs Japanese YenPepperstone

Descrição

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)

Notas de Lançamento

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)

Notas de Lançamento

v3, removed rounding

Notas de Lançamento

v4

Notas de Lançamento

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

Notas de Lançamento

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
Comentários
abhimeh2006
Hello admin, can you please share some example how to use these functions?
This library looks very useful.Thanks for sharing
robbatt
Hi @abhimeh2006,
the lib is provided as is, the displacement function is used in the example code, the calculation of the retracement ratio or target price I consider a trivial formula, so there's no example provided.
Please consider that this ecosystem is for professional developers and only providing basic functionality in a modular way.
Mais