PINE LIBRARY

lib_no_delay

Von robbatt
Aktualisiert
Library "lib_no_delay"
This library contains modifications to standard functions that return na before reaching the bar of their 'length' parameter.

That is because they do not compromise speed at current time for correct results in the past. This is good for live trading in short timeframes but killing applications on Monthly / Weekly timeframes if instruments, like in crypto, do not have extensive history (why would you even trade the monthly on a meme coin ... not my decision).

Also, some functions rely on source[1] (value at previous bar), which is not available on bar 1 and therefore cascading to a na value up to the last bar ... which in turn leads to a non displaying indicator and waste of time debugging this)

Anyway ... there you go, let me know if I should add more functions.

sma(source, length)
  Parameters:
    source (float): Series of values to process.
    length (simple int): Number of bars (length).
  Returns: Simple moving average of source for length bars back.

ema(source, length)
  Parameters:
    source (float): Series of values to process.
    length (simple int): Number of bars (length).
  Returns: (float) The exponentially weighted moving average of the source.

rma(source, length)
  Parameters:
    source (float): Series of values to process.
    length (simple int): Number of bars (length).
  Returns: Exponential moving average of source with alpha = 1 / length.

atr(length)
  Function atr (average true range) returns the RMA of true range. True range is max(high - low, abs(high - close[1]), abs(low - close[1])). This adapted version extends ta.atr to start without delay at first bar and deliver usable data instead of na by averaging ta.tr(true) via manual SMA.
  Parameters:
    length (simple int): Number of bars back (length).
  Returns: Average true range.

rsi(source, length)
  Relative strength index. It is calculated using the ta.rma() of upward and downward changes of source over the last length bars. This adapted version extends ta.rsi to start without delay at first bar and deliver usable data instead of na.
  Parameters:
    source (float): Series of values to process.
    length (simple int): Number of bars back (length).
  Returns: Relative Strength Index.
Versionshinweise
v2

Added:
stdev(source, length)
  Parameters:
    source (float)
    length (simple int)

bb(source, length, mult)
  Parameters:
    source (float)
    length (simple int)
    mult (simple float)
Versionshinweise
v3

Added:
wma(source, length)
  Parameters:
    source (float)
    length (simple int)

vwma(source, length)
  Parameters:
    source (float)
    length (simple int)

get_ma(select_ma, source, length)
  Common Moving Average Selection. This function uses only adapted no-delay versions that start without delay at first bar and deliver usable data instead of na.
  Parameters:
    select_ma (simple string): function selector, one of SMA/EMA/RMA/WMA/VWMA
    source (float): Series of values to process.
    length (simple int): Number of bars back (length).
  Returns: selected Moving Average of source

Updated:
stdev(source, length)
  Standard deviation. It is calculated using the ta.stdev(). This adapted version extends ta.stdev to start without delay at first bar and deliver usable data instead of na.
  Parameters:
    source (float): Series of values to process.
    length (simple int): Number of bars back (length).
  Returns: Standard deviation

bb(source, length, mult)
  Bollinger Bands. A Bollinger Band is a technical analysis tool defined by a set of lines plotted two standard deviations (positively and negatively) away from a simple moving average (SMA) of the security's price, but can be adjusted to user preferences. This adapted version extends ta.stdev to start without delay at first bar and deliver usable data instead of na.
  Parameters:
    source (float): Series of values to process.
    length (simple int): Number of bars back (length).
    mult (simple float): Standard deviation factor.
  Returns: Standard deviation
ATRatr2displayMATHmoving_averagerma2rsi2sma2statistics

Pine Bibliothek

Ganz im Sinne von TradingView hat dieser Autor seinen/ihren Pine Code als Open-Source-Bibliothek veröffentlicht. Auf diese Weise können nun auch andere Pine-Programmierer aus unserer Community den Code verwenden. Vielen Dank an den Autor! Sie können diese Bibliothek privat oder in anderen Open-Source-Veröffentlichungen verwenden. Die Nutzung dieses Codes in einer Veröffentlichung wird in unseren Hausregeln reguliert.

Haftungsausschluss