PINE LIBRARY

LengthAdaptation

업데이트됨
Collection of dynamic length adaptation algorithms. Mostly from various Adaptive Moving Averages (they are usually just EMA otherwise). Now you can combine Adaptations with any other Moving Averages or Oscillators (see my other libraries), to get something like Deviation Scaled RSI or Fractal Adaptive VWMA. This collection is not encyclopaedic. Suggestions are welcome.

chande(src, len, sdlen, smooth, power) Chande's Dynamic Length
  Parameters:
    src: Series to use
    len: Reference lookback length
    sdlen: Lookback length of Standard deviation
    smooth: Smoothing length of Standard deviation
    power: Exponent of the length adaptation (lower is smaller variation)
  Returns: Calculated period
Taken from Chande's Dynamic Momentum Index (CDMI or DYMOI), which is dynamic RSI with this length
Original default power value is 1, but I use 0.5
A variant of this algorithm is also included, where volume is used instead of price

vidya(src, len, dynLow) Variable Index Dynamic Average Indicator (VIDYA)
  Parameters:
    src: Series to use
    len: Reference lookback length
    dynLow: Lower bound for the dynamic length
  Returns: Calculated period
Standard VIDYA algorithm. The period oscillates from the Lower Bound up (slow)
I took the adaptation part, as it is just an EMA otherwise

vidyaRS(src, len, dynHigh) Relative Strength Dynamic Length - VIDYA RS
  Parameters:
    src: Series to use
    len: Reference lookback length
    dynHigh: Upper bound for the dynamic length
  Returns: Calculated period
Based on Vitali Apirine's modification (Stocks and Commodities, January 2022) of VIDYA algorithm. The period oscillates from the Upper Bound down (fast)
I took the adaptation part, as it is just an EMA otherwise

kaufman(src, len, dynLow, dynHigh) Kaufman Efficiency Scaling
  Parameters:
    src: Series to use
    len: Reference lookback length
    dynLow: Lower bound for the dynamic length
    dynHigh: Upper bound for the dynamic length
  Returns: Calculated period
Based on Efficiency Ratio calculation orifinally used in Kaufman Adaptive Moving Average developed by Perry J. Kaufman
I took the adaptation part, as it is just an EMA otherwise

ds(src, len) Deviation Scaling
  Parameters:
    src: Series to use
    len: Reference lookback length
  Returns: Calculated period
Based on Derivation Scaled Super Smoother (DSSS) by John F. Ehlers
Originally used with Super Smoother
RMS originally has 50 bar lookback. Changed to 4x length for better flexibility. Could be wrong.

maa(src, len, threshold) Median Average Adaptation
  Parameters:
    src: Series to use
    len: Reference lookback length
    threshold: Adjustment threshold (lower is smaller length, default: 0.002, min: 0.0001)
  Returns: Calculated period
Based on Median Average Adaptive Filter by John F. Ehlers
Discovered and implemented by cheatcountry:
Ehlers Median Average Adaptive Filter [CC]

I took the adaptation part, as it is just an EMA otherwise

fra(len, fc, sc) Fractal Adaptation
  Parameters:
    len: Reference lookback length
    fc: Fast constant (default: 1)
    sc: Slow constant (default: 200)
  Returns: Calculated period
Based on FRAMA by John F. Ehlers
Modified to allow lower and upper bounds by an unknown author
I took the adaptation part, as it is just an EMA otherwise

mama(src, dynLow, dynHigh) MESA Adaptation - MAMA Alpha
  Parameters:
    src: Series to use
    dynLow: Lower bound for the dynamic length
    dynHigh: Upper bound for the dynamic length
  Returns: Calculated period
Based on MESA Adaptive Moving Average by John F. Ehlers
Introduced in the September 2001 issue of Stocks and Commodities
Inspired by the everget implementation:
Ehlers MESA Adaptive Moving Averages (MAMA & FAMA)

I took the adaptation part, as it is just an EMA otherwise

doAdapt(type, src, len, dynLow, dynHigh, chandeSDLen, chandeSmooth, chandePower) Execute a particular Length Adaptation from the list
  Parameters:
    type: Length Adaptation type to use
    src: Series to use
    len: Reference lookback length
    dynLow: Lower bound for the dynamic length
    dynHigh: Upper bound for the dynamic length
    chandeSDLen: Lookback length of Standard deviation for Chande's Dynamic Length
    chandeSmooth: Smoothing length of Standard deviation for Chande's Dynamic Length
    chandePower: Exponent of the length adaptation for Chande's Dynamic Length (lower is smaller variation)
  Returns: Calculated period (float, not limited)

doMA(type, src, len) MA wrapper on wrapper: if DSSS is selected, calculate it here
  Parameters:
    type: MA type to use
    src: Series to use
    len: Filtering length
  Returns: Filtered series
Demonstration of a combined indicator: Deviation Scaled Super Smoother
릴리즈 노트
v2 Correction for vidyaRS algorithm: Vitali Apirine used EMA for his calculations, but I used RMA by mistake
릴리즈 노트
v3 Updated vidyaRS to allow multiplier input in form of lower bound
릴리즈 노트
v4 New combined MA: Relative Strength Super Smoother based on Vitali Apirine's RS EMA, but with Super Smoother
apirinedsssmaafMESA Adaptive Moving Average (MAMA)techindicator

파인 라이브러리

진정한 TradingView 정신에 따라, 저자는 이 파인 코드를 다른 파인 프로그래머들이 재사용할 수 있도록 오픈 소스 라이브러리로 공개했습니다. 저자에게 박수를 보냅니다! 이 라이브러리는 개인적으로 사용하거나 다른 오픈 소스 출판물에서 사용할 수 있지만, 이 코드를 출판물에서 재사용하는 것은 하우스 룰에 의해 관리됩니다.


Tips in TradingView Coins are appreciated
또한 다음에서도:

면책사항