PINE LIBRARY

DominantCycle

已更新
Collection of Dominant Cycle estimators. Length adaptation used in the Adaptive Moving Averages and the Adaptive Oscillators try to follow price movements and accelerate/decelerate accordingly (usually quite rapidly with a huge range). Cycle estimators, on the other hand, try to measure the cycle period of the current market, which does not reflect price movement or the rate of change (the rate of change may also differ depending on the cycle phase, but the cycle period itself usually changes slowly). This collection may become encyclopaedic, so if you have any working cycle estimator, drop me a line in the comments below. Suggestions are welcome. Currently included estimators are based on the work of John F. Ehlers

mamaPeriod(src, dynLow, dynHigh) MESA Adaptation - MAMA Cycle
  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
Performs Hilbert Transform Homodyne Discriminator cycle measurement
Unlike MAMA Alpha function (in LengthAdaptation library), this does not compute phase rate of change
Introduced in the September 2001 issue of Stocks and Commodities
Inspired by the everget implementation:
Ehlers MESA Adaptive Moving Averages (MAMA & FAMA)

Inspired by the anoojpatel implementation:
Missile RSI (RSI of momentum w/ Dominant Cycle length + Fisher)


paPeriod(src, dynLow, dynHigh, preHP, preSS, preHP) Pearson Autocorrelation
  Parameters:
    src: Series to use
    dynLow: Lower bound for the dynamic length
    dynHigh: Upper bound for the dynamic length
    preHP: Use High Pass prefilter (default)
    preSS: Use Super Smoother prefilter (default)
    preHP: Use Hann Windowing prefilter
  Returns: Calculated period
Based on Pearson Autocorrelation Periodogram by John F. Ehlers
Introduced in the September 2016 issue of Stocks and Commodities
Inspired by the blackcat1402 implementation:
[blackcat] L2 Ehlers Adaptive CCI 2013

Inspired by the rumpypumpydumpy implementation:
Ehler's Autocorrelation Periodogram - RSI/MFI

Corrected many errors, and made small speed optimizations, so this could be the best implementation to date (still slow, though, so may revisit in future)
High Pass and Super Smoother prefilters are used in the original implementation

dftPeriod(src, dynLow, dynHigh, preHP, preSS, preHP) Discrete Fourier Transform
  Parameters:
    src: Series to use
    dynLow: Lower bound for the dynamic length
    dynHigh: Upper bound for the dynamic length
    preHP: Use High Pass prefilter (default)
    preSS: Use Super Smoother prefilter (default)
    preHP: Use Hann Windowing prefilter
  Returns: Calculated period
Based on Spectrum from Discrete Fourier Transform by John F. Ehlers
Inspired by the blackcat1402 implementation:
[blackcat] L2 Ehlers DFT-Adapted RSI

High Pass, Super Smoother and Hann Windowing prefilters are used in the original implementation

phasePeriod(src, dynLow, dynHigh, preHP, preSS, preHP) Phase Accumulation
  Parameters:
    src: Series to use
    dynLow: Lower bound for the dynamic length
    dynHigh: Upper bound for the dynamic length
    preHP: Use High Pass prefilter (default)
    preSS: Use Super Smoother prefilter (default)
    preHP: Use Hamm Windowing prefilter
  Returns: Calculated period
Based on Dominant Cycle from Phase Accumulation by John F. Ehlers
High Pass and Super Smoother prefilters are used in the original implementation

doAdapt(type, src, len, dynLow, dynHigh, chandeSDLen, chandeSmooth, chandePower, preHP, preSS, preHP) Execute a particular Length Adaptation or Dominant Cycle Estimator from the list
  Parameters:
    type: Length Adaptation or Dominant Cycle Estimator 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)
    preHP: Use High Pass prefilter for the Estimators that support it (default)
    preSS: Use Super Smoother prefilter for the Estimators that support it (default)
    preHP: Use Hann Windowing prefilter for the Estimators that support it
  Returns: Calculated period (float, not limited)

doEstimate(type, src, dynLow, dynHigh, preHP, preSS, preHP) Execute a particular Dominant Cycle Estimator from the list
  Parameters:
    type: Dominant Cycle Estimator type to use
    src: Series to use
    dynLow: Lower bound for the dynamic length
    dynHigh: Upper bound for the dynamic length
    preHP: Use High Pass prefilter for the Estimators that support it (default)
    preSS: Use Super Smoother prefilter for the Estimators that support it (default)
    preHP: Use Hann Windowing prefilter for the Estimators that support it
  Returns: Calculated period (float, not limited)
發布通知
v2 library update
autocorrelationcycleDFTdominantcycleMESA Adaptive Moving Average (MAMA)MATHpearsonphasephaseaccumulationtechindicator

Pine腳本庫

在真正的TradingView精神中,作者將這段Pine程式碼發佈為開源程式庫,以便我們社群的其他Pine程式設計師可以重複使用它。請向作者致敬!您可以私下使用這個函式庫,或在其他開源出版品中使用,但在出版物中再次使用這段程式碼將受到網站規則的約束。


Tips in TradingView Coins are appreciated
更多:

免責聲明