Improvement of my earlier adaptation (can be found here: https://www.tradingview.com/v/fXwHPijr/).
This script projects the average % change of the selected security in the past 4 years.
study("Cycle Seasonality - % (Daily TF)") Period = input(title="Period Cycle", type=integer , defval=264) Seasonlength = input(title="Season length", type=integer, defval=66) Smoothing = input(title="SMA (smoothing)", type=integer, defval=5) LBP = Period / Seasonlength lastyear = (close - close[1*Period/LBP]) / close[1*Period/LBP] twoyearsago = (close[1*Period] - close[1*Period + Period/LBP]) / close[1*Period + Period/LBP] threeyearsago = (close[2*Period] - close[2*Period + Period/LBP]) / close[2*Period + Period/LBP] fouryearsago = (close[3*Period] - close[3*Period + Period/LBP]) / close[3*Period + Period/LBP] cum = (lastyear+twoyearsago+threeyearsago+fouryearsago)/4 smacum = sma(cum, Smoothing) scolor = smacum >= 0 ? green : red hline(0) plot(smacum*10, color=scolor, offset = 264, style=columns)
Now the columns represent how much the instrument won or lost in % over the past four years. But what if I want to think of it as a small seasonal chart or price cycle. In other words, over those last four years on average when did the instrument see a bottom and when did it see a top. How do I do that?