PINE LIBRARY

na_skip_highest

Updated
Library "na_skip_highest"
Finds the highest historic value over len bars but skip na valued bars (eg, off days). In other words, this will ensure we find the highest value over len bars with a real value, and if there are any na bars in-between, we skip over but the loop will continue. This allows to mimic calculations on markets with off days (eg, weekends).

na_skip_highest(src, len)
  Finds the highest historic value over len bars but skip na valued bars (eg, off days). In other words, this will ensure we find the highest value over len bars with a real value, and if there are any na bars in-between, we skip over but the loop will continue. This allows to mimic calculations on markets with off days (eg, weekends).
  Parameters:
    src: series float source (eg, close)
    len: int length, number of recent bars to consider in the window to find the highest value
  Returns: highest float highest value found over the len window
Release Notes
v2

Fixed:
Forgot to remove a debug line in calculations, previous version was not working, now it works as expected (tested on field in another indicator).

Added:
na_skip_highest_or_lowest(src, len, mode)
  Internal function. Finds the highest or lowest historic value over len bars but skip na valued bars (eg, off days). In other words, this will ensure we find the highest value over len bars with a real value, and if there are any na bars in-between, we skip over but the loop will continue. This allows to mimic calculations on markets with off days (eg, weekends).
  Parameters:
    src: series float source (eg, close)
    len: int length, number of recent bars to consider in the window to find the highest value
    mode: int If 0 finds the highest value, if 1 finds the lowest value. Internal parameter.
  Returns: highest float highest value found over the len window

na_skip_lowest(src, len)
  Finds the lowest historic value over len bars but skip na valued bars (eg, off days). In other words, this will ensure we find the lowest value over len bars with a real value, and if there are any na bars in-between, we skip over but the loop will continue. This allows to mimic calculations on markets with off days (eg, weekends).
  Parameters:
    src: series float source (eg, close)
    len: int length, number of recent bars to consider in the window to find the highest value
  Returns: highest float highest value found over the len window
Release Notes
v3: fix a mistake that made the loop use one more iteration than intended.
MATH

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