Bonus! I also dropped in the Super Smoother, which is a much more efficient and low lag averaging method. I used it to clean the data before feeding it into other indicators.
In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.